Change history -------------- 0.82: * More robust check on message when initialized from string. Patch provided by Alexander Haderer 0.81: * Change in the licence. The Beer-ware license was considered non-free by the Fedora legal department, given that it would require you to give is beer in some situations. So now we just stringly encourage you to do so... 0.80: * POD fixes 0.79: * Added IO::Socket::Timeout to requirements 0.78: * Added timeout to daemon connection, so as to close connections on badly behaved clients 0.77: * Fixed Segment->getFieldAsString so as to properly return values that Perl considers 'not true'. 0.76: * Added getFieldAsString method to Segment * Added tests for above * Made getSegmentAsString use getFieldAsString version 0.75: * Fixed regex describing segment name in Message.pm for compatibility with all segment names. version 0.74: * Fixed documentation issue (again, hinted by Brent B. Powers) * Added removeSegmentByName method (added by Sebastian John) * Fix for regex describing segment name in Message.pm, hinted by Brent B.Powers version 0.73: * Fixed issue 1035505 with proposed patch of Brent B. Powers * Fixed issue 1034857 * Fixed issue 1033989 with proposed patch of Brent B. Powers version 0.72: * Fixed broken Message.pm: new message from string with subcomponents didn't produce a correct string with toString. Thanx to Jason Aragorn Tobias Lunn of CodeRyte, Inc.. * Added untaint in Message, so that no errors are produced when using the tainted mode (like the hl7d does) * Added getSegmentAsString and getSegmentFieldAsString methods to Message, after a proposal by H.Emery Ford (emery_ford@bigfoot.com). version 0.71: * Fixed broken MANIFEST: added lib/Net/HL7.pm version 0.70: * Full redesign of internal structure of the Message and Segment classes. Changes have been made to the toString method of the Message, and to the constructor when providing a string representation of a HL7 message. * Added the possibility of passing an array of field values to the constructor of the Segment. * Removed automatic creation of a MSH segment when creating an HL7 message. * Added better (sub)composed fields support on Segment getField method. * Added the Net::HL7 module, to provide a version number of the whole package to Perl 'things' requiring a specific version, and as a container for global HL7 properties, like control characters. * Refactored tests to use Test::More after mysterious failing of existing tests under Perl 5.8.2, due to a change in the implementation of the 'eq' operator regarding 'undefined' (?). version 0.68: * Added more documentation (this is an ongoing effort...) * made setField on segment accept multiple values. These are joined with the component separator. * Added the HL7 NULL variable for the setField operation on a segment. * Fixes in MSH segment due to some reference interference quirks on Solaris. * Added size method to Segment * Made ACK message type copy full MSH when initialized with message, then set it's own specific fields. * Fixed some complaints when running in strict mode on uninitialized values. * Fixed some tests that used undefined values. version 0.67: * Added COMPONENT_SEPARATOR, REPETITION_SEPARATOR, ESCAPE_CHARACTER and SUBCOMPONENT_SEPARATOR to the MSH segment. The setField method on this segment, on index 2 now actually changes the values of these variables. Also checks on setting field 1 on MSH, whether input is just 1 char. * Fixes on ACK, to set the error message. * Check on segment id: it must be exactely three characters long, upper case. * Fixed Makefile.PL, so it now really installs into the Perl lib path. * Added more methods to the Message to manipulate segments. version 0.66: * Implemented the getNextRequest method to actually read new data. The getRequest method only reads data from the socket if there's no request cached. version 0.65: * the getRequest method of the Net::HL7::Daemon::Client has been enabled for multiple incoming messages. This means that the getRequest method now tries to read from the socket every time it is called. * Fixed some documentation version 0.64: * Fixed error in daemon and ack tests * Fixed erroneous setting of MSH fields in Message.pm * set MSH(11) to P and MSH(15) to AL per default * Made new() method of Message also split message string on \n * ACK now takes MSH(11) and MSH(12) from incoming MSH, and sets MSH(15) and MSH(16) to the empty string. * Fixed erroneous sendAck and sendNack methods. The stuff is now sent as a single line, to prevent perl from inserting separators, like end of lines, etc. version 0.63: * fixed some POD errors * added the sendResponse method to Net::HL7::Daemon::Client * Removed NACK module: it doesn't exists in the HL7 world. * The MSH segment now uses index 1 of it's fields for the FIELD_SEPARATOR value; other fields have moved one to the right * added setAckCode method to ACK, to be able to set the error for the acknowledgement. version 0.62: * Fixed erroneous read of input buffer for Client * Added ACK, NACK messages * Added MSH segment * getSegmentByName is removed * Made the Daemon and the Client inherit from IO::Socket, so you can more easy do things with forking and other server operations you would perform on sockets. * Made several constructors set segments and values, like auto-adding the MSH segment to every instance of Message. version 0.61: * Moved the stuff to a new namespace (Net::HL7) * Created a Daemon, resembling the HTTP::Daemon * Created the Request and Response classes * added tests version 0.5: * Added the getField method to HL7::Message * repaired broken message parse for HL7::Message constructor version 0.4: * Removed spurious newline between segments.