Change Log ========== .. _changelog-0-3-0: 0.3.0 - 2014-08-18 ------------------ .. warning:: :ref:`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 :py:func:`hl7.isfile` and :py:func:`hl7.split_file` functions to identify file (FHS/FTS) wrapped messages * New mechanism to address message parts via a :doc:`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. * :py:func:`hl7.parse` can now decode byte strings, using the ``encoding`` parameter. :py:class:`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 :ref:`unicode-vs-byte-strings`. * Testing via tox and travis CI added. See :doc:`contribute`. 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 ------------------ * :ref:`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 ------------------ * Added MLLP client (:py:class:`hl7.client.MLLPClient`) and command line tool, :ref:`mllp_send `. 0.2.0 - 2011-06-12 ------------------ * Converted ``hl7.segment`` and ``hl7.segments`` into methods on :py:class:`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 :py:func:`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