Skip to main content

Python library parsing HL7 v2.x messages

Project description

Simple library for parsing messages of Health Level 7 (HL7) version 2.x.

HL7 is a communication protocol and message format for health care data. It is the de facto standard for transmitting data between clinical information systems and between clinical devices. The version 2.x series, which is often is a pipe delimited format is currently the most widely accepted version of HL7 (version 3.0 is an XML-based format).

python-hl7 currently only parses HL7 version 2.x messages into an easy to access data structure. The current implementation does not complete follow the HL7 specification, but is good enough to parse the most commonly seen HL7 messages. The library could potentially evolution into being fully complainant with the spec. The library could eventually also contain the ability to create HL7 v2.x messages

As an example, let’s create a HL7 message:

>>> message = 'MSH|^~\&|GHH LAB|ELAB-3|GHH OE|BLDG4|200202150930||ORU^R01|CNTRL-3456|P|2.4
'
>>> message += 'PID|||555-44-4444||EVERYWOMAN^EVE^E^^^^L|JONES|196203520|F|||153 FERNWOOD DR.^^STATESVILLE^OH^35292||(206)3345232|(206)752-121||||AC555444444||67-A4335^OH^20030520
'
>>> message += 'OBR|1|845439^GHH OE|1045813^GHH LAB|1554-5^GLUCOSE|||200202150730||||||||555-55-5555^PRIMARY^PATRICIA P^^^^MD^^LEVEL SEVEN HEALTHCARE, INC.|||||||||F||||||444-44-4444^HIPPOCRATES^HOWARD H^^^^MD
'
>>> message += 'OBX|1|SN|1554-5^GLUCOSE^POST 12H CFST:MCNC:PT:SER/PLAS:QN||^182|mg/dl|70_105|H|||F
'

We call the hl7.parse() command with string message:

>>> h = parse(message)

We get a n-dimensional list back:

>>> type(h)
<type 'list'>

There were 4 segments (MSH, PID, OBR, OBX):

>>> len(h)
4

We can extract individual elements of the message:

>>> h[3][3][1]
'GLUCOSE'
>>> h[3][5][1]
'182'

We can look up segments by the segment identifer:

>>> pid = segment('PID', h)
>>> pid[3][0]
'555-44-4444'

Project site: http://www.bitbucket.org/johnpaulett/python-hl7/

HL7 References:

Project details


Download files

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

Source Distribution

hl7-0.0.2.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

hl7-0.0.2-py2.5.egg (6.9 kB view details)

Uploaded Source

File details

Details for the file hl7-0.0.2.tar.gz.

File metadata

  • Download URL: hl7-0.0.2.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hl7-0.0.2.tar.gz
Algorithm Hash digest
SHA256 83b109a5aaed49414d8cfbf30768477664bb5ff1a6ae85ded900c7e693820cfe
MD5 0a7699674268b382640f0dbd83b406bd
BLAKE2b-256 3886aea795e13e3b9472b4373d5190aedd5087ca3f330f7a5bdaa46fa2591947

See more details on using hashes here.

File details

Details for the file hl7-0.0.2-py2.5.egg.

File metadata

  • Download URL: hl7-0.0.2-py2.5.egg
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hl7-0.0.2-py2.5.egg
Algorithm Hash digest
SHA256 61a4283b20d7664e9fc915b3fb08201f726accb358bed53c04a16d17d3a709c6
MD5 6ae548ef1363efd2885e0d74c377dce9
BLAKE2b-256 589e42ea97c6fa3b0eb9261b70ddf77bdd8a85391637bb881b9e2d8f26dc0ab0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page