Posts Tagged ‘MLLP’

What does HL7 enablement means?

October 23rd, 2009
HL7 is about moving data, in form of messages, between software systems within clinical environment. In other words it is a messaging standard that enables clinical/medical applications to exchange data. 
Information sent using the HL7 is packaged as a collection of one or more messages, each of which transmits one record or item of health-related information. Examples include patient information, patient visit data. laboratory record and billing information.
HL7 standard specifies both exchange mechanism as well as message format and data structure.
The HL7 transport mechanism relies on an Event-Driven protocol, typically based on MLP or MLLP (Minimal Lower Layer Protocol) over a TCP/IP socket connection. (See Apache Camel project for an open source implementation of MLLP protocol)
MLLP act as a wrapper around HL7 messages to introduce a notion of atomicity over TCP/IP (which is a "stream-oriented" connection).
The HL7 requires every application that accepts a message to send an Acknowledgment message back to the sending application. The sending application is expected to keep on sending a message until it has received an Acknowledgment message (referred to as ACK).
An acknowledgment message consists of two parts:
1) An MSH segment, which contains information about the sending and receiving applications and a MessageID
2) An MSA segment, which indicates whether the message was accepted or rejected
The acknowledgment message should not be sent until the data in the HL7 message has been read and consumed.
The protocol relies on "open system architecture", meaning that anybody can interface with the system using appropriate protocols, independent of the vendor
Each HL7 message is made up one or more segments, which are the building blocks of HL7 messages. And each segment consists of one or more Fields.
Segments group related information together, for example the PID segment contains information patient information such as ID numbers, name, address and date of birth.
In the following HL7 example message, you can see that each HL7 segment is located on it’s own line.
Example: (MSH, PID, OBR, OBX)
MSH|^~\&|GHH LAB|ELAB-3|GHH OE|BLDG4|200202150930||ORU^R01|CNTRL-3456|P|2.4
PID|||555-44-4444||EVERYWOMAN^EVE^E^^^^L|JONES|19620320|F|||153 FERNWOOD DR.^^STATESVILLE^OH^35292||(206)3345232|(206)752-121||||AC555444444||67-A4335^OH^20030520
OBR|1|845439^GHH OE|1045813^GHH LAB|15545^GLUCOSE|||200202150730|||||||||555-55-5555^PRIMARY^PATRICIA P^^^^MD^^|||||||||F||||||444-44-4444^HIPPOCRATES^HOWARD H^^^^MD
OBX|1|SN|1554-5^GLUCOSE^POST 12H CFST:MCNC:PT:SER/PLAS:QN||^182|mg/dl|70_105|H|||F
The latest release of HL7 (V3) mandates both Human and machine-readable data structure. As such the documents are structured in a format referred to CDA, or "Clinical Document Architecture", based on XML.  (See my other articles on CDA topic)
CDA documents are not birth-to-death aggregate records, but a means for packaging information for transmission. They can include text, images, sounds and other multimedia content.
CDA documents are typically a MIME encoded payload within an HL7 message.

General, Technology , , ,