Table Of Contents

Previous topic

Contributing

Next topic

Authors

This Page

Change Log

0.3.0 - 2014-08-18

Warning

0.3.0 breaks backwards compatibility by correcting the indexing of the MSH segment and the introducing improved parsing down to the repetition and sub-component level.

  • Changed the numbering of fields in the MSH segment. This breaks older code.
  • Parse all the elements of the message (i.e. down to sub-component). The inclusion of repetitions will break older code.
  • Implemented a basic escaping mechanism
  • New constant ‘NULL’ which maps to ‘”“’
  • New hl7.isfile() and hl7.split_file() functions to identify file (FHS/FTS) wrapped messages
  • New mechanism to address message parts via a symbolic accessor name
  • Message (and Message.segments), Field, Repetition and Component can be accessed using 1-based indices by using them as a callable.
  • Added Python 3 support. Python 2.6, 2.7, and 3.3 are officially supported.
  • hl7.parse() can now decode byte strings, using the encoding parameter. hl7.client.MLLPClient can now encode unicode input using the encoding parameter. To support Python 3, unicode is now the primary string type used inside the library. bytestrings are only allowed at the edge of the library now, with hl7.parse and sending via hl7.client.MLLPClient. Refer to Python 2 vs Python 3 and Unicode vs Byte strings.
  • Testing via tox and travis CI added. See Contributing.

A massive thanks to Kevin Gill and Emilien Klein for the initial code submissions to add the improved parsing, and to Andrew Wason for rebasing the initial pull request and providing assistance in the transition.

0.2.5 - 2012-03-14

  • Do not senselessly try to convert to unicode in mllp_send. Allows files to contain other encodings.

0.2.4 - 2012-02-21

  • mllp_send --version prints version number
  • mllp_send --loose algorithm modified to allow multiple messages per file. The algorithm now splits messages based upon the presumed start of a message, which must start with MSH|^~\&|

0.2.3 - 2012-01-17

  • mllp_send --loose accepts & converts Unix newlines in addition to Windows newlines

0.2.2 - 2011-12-17

  • mllp_send now takes the --loose options, which allows sending HL7 messages that may not exactly meet the standard (Windows newlines separating segments instead of carriage returns).

0.2.1 - 2011-08-30

0.2.0 - 2011-06-12

  • Converted hl7.segment and hl7.segments into methods on hl7.Message.
  • Support dict-syntax for getting Segments from a Message (e.g. message['OBX'])
  • Use unicode throughout python-hl7 since the HL7 spec allows non-ASCII characters. It is up to the caller of hl7.parse() to convert non-ASCII messages into unicode.
  • Refactored from single hl7.py file into the hl7 module.
  • Added Sphinx documentation. Moved project to github.

0.1.1 - 2009-06-27

  • Apply Python 3 trove classifier

0.1.0 - 2009-03-13

  • Support message-defined separation characters
  • Message, Segment, Field classes

0.0.3 - 2009-01-09

  • Initial release