If you’re working in healthcare IT, you’ve probably heard about HL7—but what exactly are HL7 message types and HL7 event types? These two concepts form the backbone of communication between electronic health systems. Whether you’re integrating an EMR, building a lab interface, or troubleshooting a connection between systems, understanding these terms is critical.
This guide will break it all down: what they are, how they relate, and why they matter.
What is HL7?
HL7 (Health Level Seven) is a set of international standards for the exchange of clinical and administrative data between healthcare systems. These standards are designed to make sure data flows consistently and accurately across systems—regardless of the vendor or platform.
HL7 v2 is the most widely adopted version, and it’s message-based. That means data is exchanged in structured messages. Every message has a specific purpose and follows a predictable format.
That’s where HL7 message types and HL7 event types come in.
HL7 Message Types: The What
An HL7 message type tells you what kind of data is being sent. It defines the structure of the message and its overall purpose. In HL7, each message type is represented by a three-character code.
Here are some of the most common HL7 message types:
1. ADT – Admit, Discharge, Transfer
This is the most frequently used HL7 message type. It covers events related to patient movement, including admissions, transfers, discharges, and updates to patient demographics.
Example: A patient is admitted to the hospital — an ADT^A01 message is triggered.
2. ORM – Order Entry
This type handles new orders being placed in the system. These can be lab tests, imaging requests, medication orders, or any other kind of service order.
Example: A doctor orders a blood test — an ORM^O01 message is created and sent to the lab system.
3. ORU – Observation Result
Used to send clinical results, such as lab values, pathology reports, or imaging findings.
Example: The lab completes the blood test — an ORU^R01 message delivers the result back to the EMR.
4. DFT – Detailed Financial Transactions
This message type deals with billing information, including charges for services rendered during a visit.
5. SIU – Scheduling Information Unsolicited
Manages scheduling events such as appointments, updates, and cancellations.
6. MDM – Medical Document Management
Used to transmit documents, such as discharge summaries or progress notes.
Each message type has a defined structure, made up of segments like PID
(patient info), OBR
(order request), OBX
(observation result), and others. But structure alone isn’t enough—you also need to know why the message is being sent.
That’s where HL7 event types come in.
HL7 Event Types: The Why
If HL7 message types tell us what kind of data is being sent, then HL7 event types explain why the message was triggered in the first place.
An event type is paired with a message type to create a complete message trigger, written like this: ADT^A01
, where:
ADT
is the message type (Admit, Discharge, Transfer)A01
is the event type (Patient Admit)
Together, they tell the receiving system, “This is an admit message for a patient.”
Examples of Event Types by Message Type
ADT (Admit, Discharge, Transfer)
Event Type | Trigger | Description |
---|---|---|
A01 | Admit | Patient is being admitted |
A02 | Transfer | Patient is being transferred |
A03 | Discharge | Patient is being discharged |
A04 | Register | Outpatient registration |
A08 | Update | Update patient information |
A11 | Cancel Admit | Admission was canceled |
ORM (Order Message)
Event Type | Description |
---|---|
O01 | New order |
O02 | Order acknowledgment |
ORU (Observation Result)
Event Type | Description |
---|---|
R01 | Unsolicited result (most common) |
R02 | Query response (less common) |
SIU (Scheduling)
Event Type | Description |
---|---|
S12 | New appointment booking |
S13 | Appointment reschedule |
S14 | Appointment modification |
S15 | Appointment cancellation |
Why HL7 Message Types and Event Types Matter
Here’s why understanding both hl7 message types and hl7 event types is crucial:
1. System Integration
When building interfaces between systems—say, from an EMR to a lab—you need to know what messages to expect and how to process them. Knowing the exact type (ORM^O01
) tells your system how to read and handle the message correctly.
2. Workflow Mapping
In a hospital, a single patient admission triggers several actions across departments: registration, room assignment, medication orders, etc. Each action may generate different message types and event types. Mapping these out ensures that all systems stay in sync.
3. Troubleshooting
If data isn’t flowing correctly between systems, one of the first things you check is the message logs. Knowing the message and event type helps identify where something went wrong or what’s missing.
4. Compliance and Auditing
Healthcare data is sensitive. When systems are audited, being able to track exactly what message was sent and why (based on message type and event type) helps maintain transparency and accountability.
Real-World Example: A Patient Visit
Let’s say a patient walks into a hospital. Here’s how HL7 message types and event types are used at every step:
- Registration
- Message:
ADT^A04
(Outpatient Registration)
- Message:
- Admission
- Message:
ADT^A01
(Admit a patient)
- Message:
- Doctor orders bloodwork
- Message:
ORM^O01
(Order for lab test)
- Message:
- Lab results are ready
- Message:
ORU^R01
(Lab sends results)
- Message:
- Discharge
- Message:
ADT^A03
(Discharge the patient)
- Message:
Each step triggers a specific combination of message and event types. Receiving systems know how to process these messages and update records accordingly.
HL7 Version Differences
While this guide focuses on HL7 v2.x (specifically versions 2.3–2.6, which are most common), newer systems may use HL7 v3 or FHIR (Fast Healthcare Interoperability Resources). These use a different structure—often more XML or JSON based—but the concept of message types and events still applies.
If you’re in a modern health IT environment, you may see both HL7 v2 and FHIR operating side by side.
Final Takeaways
- HL7 message types define the general purpose of a message (ADT, ORM, ORU, etc.)
- HL7 event types describe the specific trigger for that message (A01, O01, R01, etc.)
- Together, they form message triggers like
ADT^A01
orORU^R01
, which guide system behavior. - Understanding both is key to designing, maintaining, and troubleshooting healthcare data systems.
Quick Reference: Most Common HL7 Message/Event Combos
Message Type | Event Type | Description |
---|---|---|
ADT | A01 | Admit patient |
ADT | A03 | Discharge patient |
ADT | A08 | Update patient info |
ORM | O01 | New order |
ORU | R01 | Observation result |
SIU | S12 | Schedule new appointment |
Need help mapping your current HL7 feed or designing interface logic for your software? I can help break it down, message by message. Just let me know.