1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
Changelog
=========
0.4.5 - March 2022
---------------------
* Better support for :py:class:`HL7StreamProtocol` in Python 3.7, which lacks
`_reject_connection`
Thanks `Joseph Wortmann <https://github.com/joseph-wortmann>`_!
0.4.3 - March 2022
---------------------
* Dropped support for Python 3.5 & 3.6. Python 3.7 - 3.10 now supported.
* Ensure :py:func:`hl7.parse_hl7` allows legitimate occurrences of "MSH" inside
the message contents
Thanks `Andrew Wason <https://github.com/rectalogic>`_!
0.4.2 - February 2021
---------------------
* Added support for :py:class:`hl7.Batch` and :py:class:`hl7.File`, via
:py:func:`hl7.parse_hl7` or the more specific :py:func:`hl7.parse_batch`
and :py:func:`parse_file`.
Thanks `Joseph Wortmann <https://github.com/joseph-wortmann>`_!
0.4.1 - September 2020
----------------------
* Experimental asyncio-based HL7 MLLP support. :doc:`mllp`, via
:py:func:`hl7.mllp.open_hl7_connection` and
:py:func:`hl7.mllp.start_hl7_server`
Thanks `Joseph Wortmann <https://github.com/joseph-wortmann>`_!
.. _changelog-0-4-0:
0.4.0 - September 2020
----------------------
* Message now ends with trailing carriage return, to be consistent with Message
Construction Rules (Section 2.6, v2.8). [`python-hl7#26 <https://github.com/johnpaulett/python-hl7/issues/26>`]
* Handle ASCII characters within :py:meth:`hl7.Message.escape` under Python 3.
* Don't escape MSH-2 so that the control characters are retrievable. [`python-hl7#27 <https://github.com/johnpaulett/python-hl7/issues/27>`]
* Add MSH-9.1.3 to create_ack.
* Dropped support for Python 2.7, 3.3, & 3.4. Python 3.5 - 3.8 now supported.
* Converted code style to use black.
Thanks `Lucas Kahlert <https://github.com/f3anaro>`_ &
`Joseph Wortmann <https://github.com/joseph-wortmann>`_!
0.3.5 - June 2020
-----------------
* Handle ASCII characters within :py:meth:`hl7.Message.escape` under Python 3.
Thanks `Lucas Kahlert <https://github.com/f3anaro>`_!
0.3.4 - June 2016
-----------------
* Fix bug under Python 3 when writing to stdout from `mllp_send`
* Publish as a Python wheel
0.3.3 - June 2015
-----------------
* Expose a Factory that allows control over the container subclasses created
to construct a message
* Split up single module into more manageable submodules.
Thanks `Andrew Wason <https://github.com/rectalogic>`_!
0.3.2 - September 2014
----------------------
* New :py:func:`hl7.parse_datetime` for parsing HL7 DTM into python
:py:class:`datetime.datetime`.
0.3.1 - August 2014
-------------------
* Allow HL7 ACK's to be generated from an existing Message via
:py:meth:`hl7.Message.create_ack`
.. _changelog-0-3-0:
0.3.0 - August 2014
-------------------
.. warning::
:ref:`0.3.0 <changelog-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
</accessors>`
* 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 <https://github.com/kevingill1966>`_ and
`Emilien Klein <https://github.com/e2jk>`_ for the initial code submissions
to add the improved parsing, and to
`Andrew Wason <https://github.com/rectalogic>`_ for rebasing the initial pull
request and providing assistance in the transition.
0.2.5 - March 2012
------------------
* Do not senselessly try to convert to unicode in mllp_send. Allows files to
contain other encodings.
0.2.4 - February 2012
---------------------
* ``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 - January 2012
--------------------
* ``mllp_send --loose`` accepts & converts Unix newlines in addition to
Windows newlines
0.2.2 - December 2011
---------------------
* :ref:`mllp_send <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 - August 2011
-------------------
* Added MLLP client (:py:class:`hl7.client.MLLPClient`) and command line tool,
:ref:`mllp_send <mllp-send>`.
0.2.0 - June 2011
-----------------
* 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 <http://python-hl7.readthedocs.org>`_.
Moved project to `github <http://github.com/johnpaulett/python-hl7>`_.
0.1.1 - June 2009
-----------------
* Apply Python 3 trove classifier
0.1.0 - March 2009
------------------
* Support message-defined separation characters
* Message, Segment, Field classes
0.0.3 - January 2009
--------------------
* Initial release
|