Skip to main content

A simple HL7 parser

Project description

hl7parser - Parse HL7-Messages in Python

Build Status

hl7-parser is a parser for HL7 (Health Level 7) messages. It also has limited support for constructing messages.


hl7parser is available through PyPi and can be installed using pip: pip install hl7-parser

It is currently limited to Python 2.7, but Python 3 support will follow soon.


Parsing Messages

# This is an example message taken from the HL7 Wikipedia article
>>> message_text = """
... MSH|^~\&|MegaReg|XYZHospC|SuperOE|XYZImgCtr|20060529090131-0500||ADT^A01^ADT_A01|01052901|P|2.5
... EVN||200605290901||||200605290900
... PID|||56782445^^^UAReg^PI||KLEINSAMPLE^BARRY^Q^JR||19620910|M||2028-9^^HL70005^RA99113^^XYZ|260 GOODWIN CREST DRIVE^^BIRMINGHAM^AL^35209^^M~NICKELL’S PICKLES^10000 W 100TH AVE^BIRMINGHAM^AL^35200^^O|||||||0105I30001^^^99DEF^AN
... PV1||I|W^389^1^UABH^^^^3||||12345^MORGAN^REX^J^^^MD^0010^UAMC^L||67890^GRAINGER^LUCY^X^^^MD^0010^UAMC^L|MED|||||A0||13579^POTTER^SHERMAN^T^^^MD^0010^UAMC^L|||||||||||||||||||||||||||200605290900
... OBX|1|NM|^Body Height||1.80|m^Meter^ISO+|||||F
... OBX|2|NM|^Body Weight||79|kg^Kilogram^ISO+|||||F
... AL1|1||^ASPIRIN
... DG1|1||786.50^CHEST PAIN, UNSPECIFIED^I9|||A
... """.strip()

>>> from hl7parser.hl7 import HL7Message
>>> msg = HL7Message(message_text)
# access segments and their fields by name
>>> msg.evn.recorded_datetime.isoformat()
# .. or index (
>>> msg.evn[1].isoformat()

# repeating fields 
>>> str([0])
# subfields
>>> str([0][1])

Some common segments are pre-defined and hl7parser will validate input on the fields:

  • MSH - Message Header
  • MSA - Message Acknowledgement
  • EVN - Event Type
  • PID - Patient Identification
  • PV1 - Patient Visit
  • and others

Segments which are not defined, will still work, but will lack input validation and you won't be able to access fields by name.

If you need support for other segments, file an issue or send a pull request.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hl7parser-0.6.1-py2-none-any.whl (15.4 kB) Copy SHA256 hash SHA256 Wheel py2
hl7parser-0.6.1.tar.gz (13.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page