Skip to content

HL7 v2

How to read an HL7 v2 ADT message

ADT, ORU, and ORM messages still move a large share of healthcare operations data. A reliable interface starts with the segments you actually require and a clear failure path.

6 min readSEYON Insights

HL7 Version 2 is a message standard. An ADT message carries admission, discharge, and transfer events. An ORU message carries observation results. An ORM message carries orders. The messages are compact, line oriented, and still common between clinical systems.

Segments that matter first

The MSH segment identifies the message type, the sending and receiving applications, and the version. EVN describes the event. PID carries the patient identifiers and demographics. PV1 carries the patient visit. A project should name the fields that are required for its workflow and reject or queue messages that omit them.

Transport, parsing, and routing

MLLP is a common transport for HL7 v2 over a persistent connection. Parsing should treat separators as data, not as a simple split, because a field can contain the delimiter escaped. After validation, routing decides which downstream system receives the event and which transformation applies. Keep the original message so an operator can replay it after a mapping fix.

  • Record the message control ID so duplicates can be detected.
  • Validate required segments before transformation.
  • Send failed messages to a queue a person can inspect.
  • Use synthetic messages in shared environments.