Changelog¶
0.4.2 - February 2021¶
Added support for
hl7.Batch
andhl7.File
, viahl7.parse_hl7()
or the more specifichl7.parse_batch()
andparse_file()
.
Thanks Joseph Wortmann!
0.4.1 - September 2020¶
Experimental asyncio-based HL7 MLLP support. MLLP using asyncio, via
hl7.mllp.open_hl7_connection()
andhl7.mllp.start_hl7_server()
Thanks Joseph Wortmann!
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
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 & Joseph Wortmann!
0.3.5 - June 2020¶
Handle ASCII characters within
hl7.Message.escape()
under Python 3.
Thanks Lucas Kahlert!
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!
0.3.2 - September 2014¶
New
hl7.parse_datetime()
for parsing HL7 DTM into pythondatetime.datetime
.
0.3.1 - August 2014¶
Allow HL7 ACK’s to be generated from an existing Message via
hl7.Message.create_ack()
0.3.0 - August 2014¶
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()
andhl7.split_file()
functions to identify file (FHS/FTS) wrapped messagesNew 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 theencoding
parameter.hl7.client.MLLPClient
can now encode unicode input using theencoding
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, withhl7.parse
and sending viahl7.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 - 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 numbermllp_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 withMSH|^~\&|
0.2.3 - January 2012¶
mllp_send --loose
accepts & converts Unix newlines in addition to Windows newlines
0.2.2 - December 2011¶
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 (
hl7.client.MLLPClient
) and command line tool, mllp_send.
0.2.0 - June 2011¶
Converted
hl7.segment
andhl7.segments
into methods onhl7.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 - 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