HL7 v2 Specification (v2.5.1)
This specification is an easier and more practical way to read the HL7 v2 documentation. It covers every concept in detail, with practical examples and an online HL7 Studio. There you can open every example and build your own HL7 v2 messages.
HL7 v2 is one of the most widely adopted healthcare messaging standards. Healthcare systems use it to exchange clinical and administrative data with each other.
Newer standards such as HL7 FHIR now handle most new interoperability work. HL7 v2 is still the standard that is already installed almost everywhere. If you work on healthcare interoperability, you will work with it.
This is what a message looks like. Each line is a segment, and each | separates a field.
MSH|^~\&|EPIC|STJOSEPH|LABSYS|STJOSEPH|20240314093015||ADT^A01^ADT_A01|MSG00017|P|2.5.1 EVN||20240314093000 PID|1||1000345678^^^STJOSEPH^MR~453-22-9911^^^USA^SS||CARTWRIGHT^ELEANOR^MAY^^^^L||19510822|F||2106-3|41 ORCHARD LANE^APT 2B^PORTLAND^OR^97202^USA^H||^PRN^PH^^1^503^5550142|^WPN^PH^^1^503^5550188|eng|M|CHR|100034567800 PV1|1|I|3W^312^A^STJOSEPH||||1447312^OKONKWO^ADAEZE^^^^MD|||MED||||1|||1447312^OKONKWO^ADAEZE^^^^MD|I|V100034567|SELF|||||||||||||||||||SJ||A|||20240314093000
What this spec covers
Whether you are looking for a message type, a segment or a code table, each of them has its own page.
- 123 message typesA message type tells the receiver what a message is for.
- 151 segmentsA segment is one line of a message. It holds one group of related data, such as a patient, a visit or an order.
- 2105 fieldsA field is one item of data inside a segment.
- 431 componentsA component is one part of a field.
- 436 subcomponentsA subcomponent is one part of a component.
- 278 trigger eventsA trigger event is the real event that causes a system to send a message.
- 474 code tablesA code table lists the values that a coded field permits.
- 90 data typesA data type defines the format of a field or a component.
If you want to learn HL7 v2 from the start, the HL7 v2 Fundamentals course teaches it in order and uses this specification as its reference.
Why we built it
The official HL7 site only provides this HL7 v2 Product Suite as a reference for HL7 v2. It is a set of PDF chapters that are very detailed but not very practical for a beginner to learn and follow.
So instead, we built this site to provide a more user-friendly way to explore the HL7 v2 documentation. This specification gives you a modern way to read the HL7 v2 documentation. You can also open any example in HL7 Studio and play around and practice building different types of HL7 v2 messages.
Sources
Field definitions, code values and message structures are taken from the official HL7 standard's own text and from the HL7 schemas. Anything we add on top of that is commentary.
This site covers v2.5.1, published in February 2007, which is the most widely used HL7 v2 version.
