Complete Guide to HL7 Message Types (ADT, ORM, ORU, SIU, MDM, DFT)

Published

June 11, 2026

Last Updated

June 25, 2026

Reading Time

10 min

Author

Laksh Patel
LP

Laksh Patel, Founder, HealthInterops

Laksh Patel is the Founder of HealthInterops and creator of HL7ToolBox. With more than 17 years of software engineering experience and over 5 years specializing in healthcare interoperability, he has designed and delivered more than 3,000 healthcare interfaces across hospitals, laboratories, and enterprise healthcare systems.

17+ Years Software Development5+ Years Healthcare Integration3,000+ Healthcare Interfaces Delivered

This article is reviewed and maintained by the HL7ToolBox Team.

Healthcare organizations exchange millions of HL7 messages every day to keep electronic health record (EHR) systems, laboratory information systems (LIS), radiology systems (RIS), billing applications, and other healthcare software synchronized.

If you're new to healthcare interoperability—or you're building an HL7 integration engine—you'll quickly encounter message types such as ADT, ORM, ORU, SIU, MDM, and DFT.

This guide explains each HL7 message type, its purpose, when it's used, and provides practical healthcare examples to help developers, interface analysts, and integration engineers understand real-world workflows.

What Are HL7 Message Types?

An HL7 message type defines the business event being exchanged between healthcare systems.

Each message consists of two parts:

Example 1:

ADT^A01

Example 2:

ORU^R01

The message type appears in MSH-9 of every HL7 message.

Example Segment:

MSH|^~\\&|LAB|HOSPITAL|EMR|HOSPITAL|20260625||ORU^R01|123456|P|2.5.1

Why HL7 Message Types Matter

Understanding message types helps you:

Whether you're integrating Epic, Cerner, MEDITECH, Allscripts, or a laboratory analyzer, selecting the correct message type is essential.

HL7 Message Type Summary

MessagePurposeCommon SenderCommon Receiver
ADTPatient registration & movementEHRLaboratory, RIS, Billing
ORMOrdersEHRLaboratory, Radiology
ORUResultsLaboratoryEHR
SIUSchedulingScheduling SystemEHR, Patient Portal
MDMMedical documentsEHRDocument Management
DFTFinancial transactionsBillingInsurance, Accounting
ACKAcknowledgementAny SystemSender

HL7 ADT Messages (Admit, Discharge, Transfer)

What Is an ADT Message?

ADT messages communicate patient demographic and visit information between healthcare systems. They are usually the first messages exchanged after patient registration.

Common Trigger Events

ADT^A01Admit Patient
ADT^A02Transfer Patient
ADT^A03Discharge Patient
ADT^A04Register Outpatient
ADT^A05Pre-admit Patient
ADT^A08Update Patient Information
ADT^A11Cancel Admission

Typical Workflow

Reception Desk
      ↓
Hospital Info System
      ↓
ADT Message
      ↓
Integration Engine
      ↓
Laboratory
Radiology
Billing
Pharmacy

Important Segments

  • MSH
  • EVN
  • PID
  • PV1
  • NK1
  • GT1
  • IN1

Real Example

A patient arrives at the emergency department. The registration system immediately sends an ADT^A01. Every connected system automatically receives the patient's demographic information.

HL7 ORM Messages (Orders)

What Is an ORM Message?

ORM messages communicate healthcare orders. Orders may include Laboratory tests, Radiology exams, Pharmacy prescriptions, Procedures, or Referrals.

Common Trigger Event: ORM^O01

Workflow

Doctor
    ↓
EHR
    ↓
ORM Message
    ↓
Integration Engine
    ↓
Laboratory Info System

Important Segments

  • PID
  • PV1
  • ORC
  • OBR
  • DG1

Example

A physician orders: Complete Blood Count, Lipid Panel, and HbA1c. The EHR sends an ORM message to the laboratory system to process the tests.

HL7 ORU Messages (Observation Results)

What Is an ORU Message?

ORU messages return clinical results from diagnostic systems. They are one of the most frequently exchanged HL7 message types.

Common Trigger Event: ORU^R01

Typical Workflow

Laboratory Analyzer
       ↓
Laboratory Info System
       ↓
ORU Message
       ↓
Integration Engine
       ↓
Electronic Medical Record

Important Segments

  • PID
  • PV1
  • OBR
  • OBX

Example

Laboratory results like WBC, Hemoglobin, Platelets, and Glucose are returned. These clinical values are transmitted inside the OBX segments.

HL7 SIU Messages (Scheduling Information)

What Is an SIU Message?

SIU messages manage appointments and scheduling. Used for Clinic appointments, Imaging appointments, Surgery scheduling, and Follow-up visits.

Common Trigger Events

SIU^S12New Appointment
SIU^S13Reschedule
SIU^S14Modify Appointment
SIU^S15Cancel Appointment

Important Segments

  • SCH
  • PID
  • PV1
  • AIP
  • AIL
  • AIG

HL7 MDM Messages (Medical Document Management)

What Is an MDM Message?

MDM messages transmit clinical documents such as Discharge summaries, Consultation notes, Operative reports, Pathology reports, and Referral letters.

Common Trigger Events

MDM^T02Original Document
MDM^T04Document Status
MDM^T08Edit Document

Important Segments

  • TXA
  • OBX
  • PID
  • PV1

HL7 DFT Messages (Detailed Financial Transactions)

What Is a DFT Message?

DFT messages communicate billing and financial information for use cases like Charges, Insurance claims, Procedures, Medications, and Professional fees.

Common Trigger Event: DFT^P03

Important Segments

  • FT1
  • DG1
  • PR1
  • PID
  • PV1

HL7 ACK Messages (Acknowledgements)

Although not a business workflow, ACK messages are critical. Every sender needs confirmation that the receiving system successfully processed the message.

ORM
      ↓
Laboratory
      ↓
ACK

Without acknowledgements, integration engines cannot reliably determine whether messages were accepted or require retransmission.

Which HL7 Message Type Should You Use?

ScenarioMessage Type
Register a patientADT
Update demographicsADT
Send laboratory orderORM
Send radiology orderORM
Return laboratory resultsORU
Return radiology reportORU
Schedule appointmentSIU
Send discharge summaryMDM
Send billing chargesDFT

Best Practices for Working with HL7 Message Types

  • Always validate incoming HL7 messages before processing.
  • Verify the message type using MSH-9.
  • Support HL7 acknowledgements (ACK/NACK).
  • Use unique Message Control IDs (MSH-10).
  • Log inbound and outbound messages for troubleshooting.
  • Handle retries for failed message delivery.
  • Version your interfaces (HL7 2.3, 2.4, 2.5.1, etc.).
  • Test every trigger event separately.
  • Document custom Z-segments and local rules.
  • Use an integration engine to manage routing and monitoring.

HL7 Message Types vs FHIR Resources

HL7 MessageComparable FHIR Resource(s)
ADTPatient, Encounter
ORMServiceRequest
ORUObservation, DiagnosticReport
SIUAppointment, Schedule
MDMDocumentReference, Composition
DFTClaim, Invoice, ChargeItem

Many healthcare organizations use HL7 internally while exposing FHIR APIs for patient portals, mobile apps, and third-party integrations.

Conclusion

HL7 message types form the foundation of healthcare interoperability. Whether you're admitting a patient, placing a laboratory order, delivering test results, scheduling appointments, managing clinical documents, or processing billing information, each workflow depends on the correct HL7 message type.

For healthcare developers and interface analysts, mastering ADT, ORM, ORU, SIU, MDM, DFT, and ACK messages is an essential step toward building reliable and scalable integrations. As healthcare systems continue adopting FHIR alongside HL7, understanding these message types remains one of the most valuable skills in modern healthcare IT.


Frequently Asked Questions

What is the most common HL7 message type?

ADT and ORU messages are among the most frequently exchanged because they support patient registration and laboratory result reporting.

What is the difference between ORM and ORU?

ORM messages send orders to downstream systems, while ORU messages return the resulting clinical observations or diagnostic reports.

What does ADT stand for?

ADT stands for Admit, Discharge, Transfer, and is used to communicate patient demographic and visit events.

Which HL7 message is used for appointments?

SIU (Scheduling Information Unsolicited) messages are used to create, modify, reschedule, and cancel appointments.

Which message is used for billing?

DFT (Detailed Financial Transaction) messages communicate charges, procedures, medications, and other financial information.

Where is the HL7 message type stored?

The message type is stored in MSH-9, which contains both the message code and trigger event (for example, ORU^R01 or ADT^A08).

More Resources & Internal Tools

  • HL7 Validator – Validate message structure and segments.
  • HL7 Compare Tool – Compare two HL7 messages side by side.
  • HL7 Viewer – View HL7 messages in a readable format.
  • HL7 vs FHIR – Learn when to use each interoperability standard.
  • HL7 Segment Guide – Explore MSH, PID, OBR, OBX, PV1, and more.

References

  • HL7 v2.x message structure and trigger events
  • Hospital ADT, order, result, scheduling, document, and billing workflows
  • Real-world interface engine implementation practices

Editorial Review

HL7ToolBox content is written and reviewed by healthcare integration professionals with hands-on experience in HL7 v2.x, FHIR, healthcare APIs, and enterprise healthcare interfaces.