my $seg = new Net::HL7::Segments::MSH();

$seg->setField(9, ``ADT^A24''); print $seg->getField(1);


The Net::HL7::Segments::MSH is an implementation of the Net::HL7::Segment class. The MSH segment is a bit different from other segments, in that the first field is the field separator after the segment name. Other fields thus start counting from 2! The setting for the field separator for a whole message can be changed by the setField method on index 1 of the MSH for that message. The MSH segment also contains the default settings for field 2, COMPONENT_SEPARATOR, REPETITION_SEPARATOR, ESCAPE_CHARACTER and SUBCOMPONENT_SEPARATOR. These fields default to ^, ~, \ and & respectively.


$msh = new Net::HL7::Segments::MSH([$fields])
Create an instance of the MSH segment. If a reference to an array is given, all fields will be filled from that array. Note that for composed fields and subcomponents, the array may hold subarrays and subsubarrays. If the reference is not given, the MSH segment will be created with the MSH 1,2,7,10 and 12 fields filled in for convenience.

setField($index, $value)
Set the field specified by index to value. Indices start at 1, to stay with the HL7 standard. Trying to set the value at index 0 has no effect. Setting the value on index 1, will effectively change the value of Net::HL7::Message::FIELD_SEPARATOR for the message containing this segment, if the value has length 1; setting the field on index 2 will change the values of COMPONENT_SEPARATOR, REPETITION_SEPARATOR, ESCAPE_CHARACTER and SUBCOMPONENT_SEPARATOR for the message, if the string is of length 4.


D.A.Dokter <>


Copyright (c) 2002 D.A.Dokter. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.