A simple HL7 parser
Project description
hl7parser - Parse HL7-Messages in Python
hl7-parser
is a parser for HL7 (Health Level 7) messages. It also has limited support for constructing messages.
To see what's new in each version, please refer to the CHANGELOG.md
file in the repository.
Installation
hl7parser
is available through PyPi and can be installed using pip: pip install hl7-parser
It supports Python 2.7 and Python >=3.5 (as of version 0.7).
Usage
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()
'2006-05-29T09:01:00'
# .. or index (
>>> msg.evn[1].isoformat()
'2006-05-29T09:01:00'
# repeating fields
>>> str(msg.pid.patient_name[0])
'KLEINSAMPLE^BARRY^Q^JR'
# subfields
>>> str(msg.pid.patient_name[0][1])
'BARRY'
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file hl7parser-0.7.4.tar.gz
.
File metadata
- Download URL: hl7parser-0.7.4.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60b2827111e91896b9e0ea816d9b52422929b8bcc5f3e7a947840c7c13c29a1a |
|
MD5 | e1563a87b12eafaa28e86be2b3ff4656 |
|
BLAKE2b-256 | 70732cd9f838bfe45453ba6d4f4ac08c8c108fee0397aeb5cca252946d767f33 |