HL7 Messages are used to transfer electronic data between disparate healthcare systems, each sending information about a particular event such as a patient admission. HL7 messages are in human-readable (ASCII) format, though they may require some effort to interpret.
This section describes the contents of an HL7 message and how an HL7 message is organized.
An HL7 message consists of one or more segments. Each segment is displayed on a different line of text. A carriage return character (\r, which is 0D in hexadecimal) separates one segment from another.
Each segment consists of one or more composites, also known as fields. A pipe (|) character is used to separate one composite from another. If a composite contains other composites, these sub-composites (or sub-fields) are normally separated by caret (^) characters.
Here's a fun animated video that demonstrates exactly what an HL7 message looks like:
The following sections elaborate further on the intricacies of an HL7 message and how to read the standard. For more information about the different HL7 message types and their uses, please see our HL7 Message Types page.
In an HL7 message, each segment of the message contains one specific category of information, such as patient information or patient visit data. The name of each segment in the message is specified by the first field of the segment, which is always three characters long. Over 120 different HL7 segments are available for use in HL7 messages, this example message contains four HL7 segments: MSH, PID, NK1 and PV1. Different types of HL7 messages contain different HL7 segments.
The HL7 segments in this example contain the following information:
With HL7 messages being used to communicate all kinds of healthcare related information to a variety of disparate systems, sometimes HL7 messages need to contain customized data that cannot be included in any defined segment for its message type. To accommodate for this, the HL7 Standard enables system vendors to create a Z-segment with customized fields to transmit this data.
By convention, all custom segments begin with the letter Z. For example, a ZPD segment could be created to contain customized patient demographics information. Z-segments can be placed anywhere in an HL7 message, however are typically located as the last segment in a message. Applications that process HL7 messages are usually configured to ignore HL7 Z-segments that they do not know how to handle.
For more information on how Iguana can support custom Z-segments, please visit iNTERFACEWARE's Help Center.
Each segment of an HL7 message consists of one or more composites (also known as fields). By default, the | (pipe) character is used to separate one composite from another.
A composite can be a primitive data type (such as a character string or a number), or can contain other composites. If a composite contains other composites, these sub-composites (or sub-fields) are normally separated by ^ characters. If a sub-composite also contains composites, these sub-sub-composites are normally separated by & characters. Sub-sub-composites must be primitive data types.
For an example of a typical composite, consider the PID segment of the sample message seen in the previous sections:
In HL7 messages, certain special characters separate one composite in a segment from another, or separate one sub-composite from another. These special characters are known as delimiter characters.
The following table lists the default delimiter characters used in HL7:
CHARACTER | PURPOSE |
---|---|
0x0D | Marks the end of each segment. |
| | Composite delimiter. |
^ | Sub-composite delimiter. |
& | Sub-sub-composite delimiter. |
~ | Separates repeating fields. |
\ |
Escape character. |
Technically, HL7 messages come in human-readable (ASCII) format, but they are not at all easy to interpret. However, they contain a multitude of segments and fields, each carrying important healthcare information. To complicate matters further, many messages vary from vendor to vendor, making it difficult for healthcare organizations to decode and interpret.
If your HL7 messages contain a multitude of segments, you may find yourself in need of an easy way to interpret this information. Developed by iNTERFACEWARE, Iguana is a data integration platform that allows you to parse your message so you can instantly see its segments, fields and values. Along with parsing, Iguana can also perform other functions so you can filter and transform your HL7 messages with ease.
Fill out the form and we'll be in touch.