Metadata-Version: 1.0
Name: hl7
Version: 0.1.0
Summary: Python library parsing HL7 v2.x messages
Home-page: http://www.bitbucket.org/johnpaulett/python-hl7/wiki/Home
Author: John Paulett
Author-email: john -at- 7oars.com
License: BSD
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 completely follow the HL7 specification, but is good enough
        to parse the most commonly seen HL7 messages. The library could
        potentially evolve into being fully complainant with the spec.
        The library could eventually also contain the ability to create
        HL7 v2.x messages.
        
        python-hl7 parses HL7 into a series of wrapped hl7.Container objects.
        The there are specific subclasses of hl7.Container depending on
        the part of the HL7 message. The hl7.Container message itself
        is a subclass of a Python list, thus we can easily access the
        HL7 message as an n-dimensional list. Specically, the subclasses of
        hl7.Container, in order, are hl7.Message, hl7.Segment, and hl7.Field.
        Eventually additional containers will be added to fully support
        the HL7 specification.
        
        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 hl7.Message object, wrapping a series of hl7.Segment
        objects.
        
        >>> type(h)
        <class 'hl7.Message'>
        
        We can always get the HL7 message back.
        
        >>> str(h) == message.strip()
        True
        
        Interestingly, this hl7.Message can be accessed as a list.
        
        >>> isinstance(h, list)
        True
        
        There were 4 segments (MSH, PID, OBR, OBX):
        
        >>> len(h)
        4
        
        We can extract the hl7.Segment from the hl7.Message instance.
        
        >>> h[3]
        [['OBX'], ['1'], ['SN'], ['1554-5', 'GLUCOSE', 'POST 12H CFST:MCNC:PT:SER/PLAS:QN'], [''], ['', '182'], ['mg/dl'], ['70_105'], ['H'], [''], [''], ['F']]
        
        We can easily reconstitute this segment as HL7, using the
        appopriate separators.
        
        >>> str(h[3])
        'OBX|1|SN|1554-5^GLUCOSE^POST 12H CFST:MCNC:PT:SER/PLAS:QN||^182|mg/dl|70_105|H|||F'
        
        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/wiki/Home
        
        HL7 References:
        * http://en.wikipedia.org/wiki/HL7
        * http://nule.org/wp/?page_id=99
        * http://www.hl7.org/
        * http://openmrs.org/wiki/HL7
        * http://comstock-software.com/blogs/ifaces/2007/01/hl7-message-wrappers.html
        
Keywords: HL7,Health Level 7,healthcare,health care,medical record
Platform: POSIX
Platform: Windows
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Healthcare Industry
Classifier: Topic :: Communications
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Classifier: Topic :: Software Development :: Libraries :: Python Modules
