March 21, 2024

A Breakdown of Common HL7 Message Types in Healthcare — Examples Included

A Breakdown of Common HL7 Message Types in Healthcare  — Examples Included

When it comes to communication and interoperability in healthcare systems, HL7 messages play a pivotal role. If you're scratching your head trying to understand these complex standards, you're not alone. 

That's why we've put together this guide to help you understand the most common types of HL7 message formats and how HL7 messaging works. We also provide you with examples along the way. By the end of this article, you should have a clearer understanding of HL7 messages and how they can apply to you. 

Table of Contents

What Does HL7 Refer To?

Often abbreviated as HL7, Health Level Seven refers to a set of international standards for the transfer, integration, sharing, and retrieval of electronic health data. These standards ensure smooth interoperability among various healthcare applications by defining a variety of messages and data formats used in healthcare systems. 

HL7 is the commonly agreed-upon code set for hundreds of different data elements that might exist in medical records. It acts as a language that allows healthcare systems to communicate effectively with each other, ensuring that vital health information is accessible when and where it's needed.

What Is HL7 Messaging?

HL7 messaging serves as the backbone of healthcare data exchange. It is a standardized method of communication that allows different healthcare systems to understand and interpret the data being shared. 

The structured format of an HL7 message is what makes it decipherable across various healthcare applications. 

Each HL7 message is made up of distinct segments, including: 

  • PID (patient identification)
  • OBR (observation request)
  • DG1 (diagnosis) 
  • And over 70 more

Each segment serves a unique purpose in conveying necessary patient information. For instance, a sample HL7 message for medical records might include segments for a patient's name, date of birth, medical history, recent diagnoses, and prescribed treatments.

Depending on its type, an HL7 message can carry out different tasks such as scheduling a patient's appointment, updating patient information, reporting laboratory results, and more. 

By learning how to create hl7 messages and understanding their structure, healthcare providers can ensure efficient communication, accuracy of data, and improved patient care.

What Is the Purpose of HL7 Messaging?

The purpose of HL7 messaging is to ensure all healthcare systems speak a “universal language”. It provides a standardized protocol to allow the transfer of clinical data between different healthcare applications — apps that otherwise wouldn't be able to exchange information. 

HL7 messaging enables healthcare providers to access a comprehensive, unified view of patient data by streamlining the integration of electronic health records, lab results, medical billing, and other health-related data.

How Many HL7 Message Types Are There?

There are over 80 different types of HL7 messages. Each type has a specific purpose and structure, which is designed to relay distinct sets of information within the healthcare system. 

Now, let’s delve deeper into what some of the more common message types entail and illustrate how they can streamline and enhance healthcare operations.

12 Common HL7 Message Types

#1: ADT: Admission, Discharge, and Transfer

ADT, one of the most common HL7 message types, provides information on a patient's admission, discharge, or transfer within a healthcare facility. 

This message type carries valuable data about a patient's administrative details. It contains segments that capture demographic information (like the PID segment) and information about the patient's visit (like the PV1 segment). The ADT message is generated for any changes that occur in a patient's demographic information or visit details.

Examples of ADT Hl7 Messages

A typical ADT message might look like this:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZHosp

In this fictitious example, the message indicates a patient named John Doe admitted to XYZ Hospital for outpatient care. The caret (^) character separates different components within a field. and pipe (|) character distinguishes different fields. In this setup, hospitals can quickly communicate changes in patient status for efficient coordination and care delivery.

There are a variety of ADT messages that can be used, including:

  • ADT^A01 patient admit
  • ADT^A02 – patient transfer
  • ADT^A03 – patient discharge
  • ADT^A04 – patient registration
  • ADT^A05 – patient pre-admission
  • ADT^A08 – patient information update
  • ADT^A11 – cancel patient admit
  • ADT^A12 – cancel patient transfer
  • ADT^A13 – cancel patient discharge

As we continue to explore the variety of HL7 message types, bear in mind tools like Ritten can enhance the ease of creating and understanding these messages, optimizing healthcare data exchange.

#2: ACK: General Acknowledgment

The ACK, or General Acknowledgment HL7, message type is a critical part of ensuring reliable data transmission within healthcare systems. 

This type of message is sent as a response to another HL7 message indicating its successful reception. ACK messages are essential in confirming that no data is lost or misunderstood in the communication process between various healthcare IT systems. 

The hl7 message structure of ACK messages is relatively simple. It includes a Message Header (MSH) segment followed by an Acknowledgment (ACK) segment. In the MSH segment, the message specifies the kind of message that it is acknowledging. The ACK segment, on the other hand, holds specific acknowledgment information, such as the acknowledgment code and the text message of the acknowledgment.

Examples of ACK Hl7 Messages

A typical ACK message might look like this:

MSH|^~\&|EKG|ABCImgCtr|RegSys|XYZHosp|202208221340||ACK^A01|56789|P|2.5 ACK|||AA|Message received successfully.

In this sample ACK message, the MSH segment identifies the original message from the XYZ Hospital Registration System that this ACK message is acknowledging. The ACK segment includes an acknowledgment code 'AA,' which indicates that the message was received and accepted without any errors.

#3: ORU: Observation Message (Unsolicited)

Another key HL7 message type is the ORU, or Observation Result message, which is usually unsolicited. This type of message is designed to transmit a full array of data from a healthcare provider's observations, including laboratory and other clinical results. 

The ORU message allows for a large amount of data to be shared quickly and efficiently, enhancing the continuity and comprehensiveness of patient care.

Examples of ORU Hl7 Messages

Here's a simplified example of an ORU message:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZHosp 
OBR|||1234567890||Test^T123^Test description
OBX|||Test^T123^Test description||Positive||||||||202208221340

In this ORU message, the XYZ Hospital Laboratory shares the result of a test performed on patient John Doe. The result, as noted in the OBX segment, came out positive. The ORU message ensures the fast and efficient delivery of this crucial clinical information, adding a new layer of data to the patient's medical record.

#4: ORM: Pharmacy/Treatment Order Message

This specific kind of message plays a crucial role in the world of healthcare by transmitting information about orders such as prescriptions or treatments. 

An ORM message is typically created when a clinician places an order within the healthcare system. This could be anything from a prescription for medication, a request for a diagnostic test, or a therapeutic procedure. The specific details of the order are contained within the ORM message and transmitted to the appropriate department, facilitating a seamless workflow.

Examples of ORM Hl7 Messages

Here's a basic example of an ORM message:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZ

In this ORM message example, the Cardiology department of XYZ Hospital is ordering a glucose test for patient John Doe. The ORC (Order Control) segment details that it is a new order, placed by Dr. Bob. The OBR (Observation Request) segment includes specific details about the order, including the type of test and the time it was ordered.

#5: SIU: Schedule Information (Unsolicited) —Usually Patient Specific

The SIU (Scheduling Information Unsolicited) HL7 message type consists of a series of 14 triggers, each representing a different type of scheduling activity. These message triggers provide a comprehensive overview of different scheduling-related activities that might need to be communicated within the healthcare system.

Examples of SIU Hl7 Messages

Here are the 14 SIU message triggers:

  • SIU^S12 – new appointment booking
  • SIU^S13 – appointment rescheduling
  • SIU^S14 – appointment modification
  • SIU^S15 – appointment cancellation
  • SIU^S16 – appointment discontinuation
  • SIU^S17 – appointment deletion
  • SIU^S18 – addition of service/resource on appointment
  • SIU^S19 – modification of service/resource on appointment
  • SIU^S20 – cancellation of service/resource on appointment
  • SIU^S21 – discontinuation of service/resource on appointment
  • SIU^S22 – deletion of service/resource on appointment
  • SIU^S23 – addition of service/resource on block
  • SIU^S24 – modification of service/resource on block
  • SIU^S26 – deletion of service/resource on block

Each of these triggers is utilized to coordinate and communicate specific scheduling activities, ensuring the efficient and effective operation of healthcare provision.

#6: BAR: Add/Change Billing Account

The BAR or Add/Change Billing Account message is another important HL7 message type, primarily utilized for managing the financial aspects of healthcare, like mental health insurance. BAR messages facilitate the exchange of billing account information across various healthcare systems.

These messages are generated whenever there's a need to add a new billing account or make changes to an existing one. They help maintain efficient and up-to-date billing processes within healthcare establishments.

Examples of Hl7 BAR Messages

The HL7 BAR (Add/Change Billing Account) message type does not categorize its messages in the form of triggers like some other HL7 message types do. Instead, BAR messages are typically used for encapsulating information specifically about the creation, updating, and management of billing accounts within the healthcare context.

A basic example of a BAR message might look like this:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZHosp

#7: DFT: Detailed Financial Transactions

DFT messages are an integral part of the billing and financial facets of the healthcare information system. These messages encompass detailed financial information related to a patient's diagnosis, treatment, insurance, and more. 

With DFT messages, healthcare facilities can effectively manage and streamline their financial transactions.

Examples of DFT Hl7 Messages

A typical DFT message might look something like this:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZHosp
FT1|1||20220822||CG|Z0000^Z000^ICD10|||||||||||||||Procedural Code|123456|45.00|1|||||||Department^XYZHospital

This example represents a financial transaction for a patient named John Doe. A procedural code (Z0000) has been billed, and the charge for the service is 45.00.

#8: MDM: Medical Document Management

MDM messages are used to manage medical documents within healthcare information systems. These messages allow healthcare providers to exchange, store, and manage critical patient documents, enhancing the provider's ability to make informed decisions based on past medical records

Examples of MDM Hl7 Messages

Here is an example of an MDM message:

PID|||1234||Doe^John||19611015|M|||123 Main St.^Apt 101^Benbrook^TX^76107||555-555-5555|||M||1234567890||||||||||^XYZHosp
TXA|01|RD|1234^Report|||202208221400|Jones^Bob^||J2990^Radiology Report|||202208221410

This example describes a radiology report (RD) for a patient named John Doe that has been transcribed and is ready for review. The transcription was completed by Bob Jones and is now ready for review.

#9: QRY: Query

QRY messages have a pivotal role in the system of HL7 messages. They're designed to inquire about or retrieve specific details from other systems in a healthcare environment. 

This message type is used when a certain system needs to acquire patient-related data from another system within the network.

Examples of QRY Hl7 Messages

Here is a sample QRY message:


This QRY message is a request from ClinicA's SystemA to ClinicB's SystemB, asking for demographic information about a patient with the identifier 10101.

#10: MFN: Master Files Notification

MFN messages are utilized in healthcare systems to notify about the changes in master files or tables. These are critical as they ensure all systems within a healthcare environment have updated and consistent data.

Examples of MFN Hl7 Messages

Here is what an MFN message could look like:


In this message, ClinicA's SystemA is notifying ClinicB's SystemB of an update in the employee file. The update is regarding an employee, Bob Jones, who is active.

#11: RDE: Pharmacy/treatment Encoded Order Message

RDE messages are generated when an order for medication or treatment is given. It mainly involves the transmission of encoded medication orders from the pharmacy.

Examples of RDE Hl7 Messages

Here's an example of an RDE message:


This RDE message discusses a new order for a patient, John Doe, for Drug1 from the XYZ Hospital pharmacy.

#12: RDS (Pharmacy/Treatment Dispense)

RDS messages are used to confirm the dispensation of treatment or medication ordered via an RDE message.

Examples of RDS Hl7 Messages

Here's an example of an RDS message:


This RDS message confirms the dispensation of Drug1 to patient John Doe as per the order mentioned in the RDE message.

How Are HL7 Messages Transmitted?

HL7 messages are transmitted via a variety of protocols. These typically include standard internet protocols like HTTP or FTP and specialized health informatics protocols like MLLP (Minimum Lower Layer Protocol). 

The key focus during this transmission is to ensure the secure and reliable transmission of sensitive healthcare data.

HL7 Message Types: Challenges

While HL7 messaging plays a critical role in healthcare data exchange, it can come with its set of challenges. The messages need to be accurately interpreted by different systems, and this interoperability can sometimes be an issue. Minor errors in message formatting or structure can cause significant problems in data interpretation. 

Moreover, the vast number of message types and variations can make HL7 programming a complex task.

To tackle these challenges, the healthcare sector continuously invests in advancing HL7 tools and technologies, as well as training professionals in the field. 

Ritten’s Software Is Changing the Future of Behavioral Healthcare Tools

At Ritten, we're continuously working towards creating solutions that address these challenges and streamline the exchange of crucial healthcare data. While HL7 certification does not apply to behavioral health, there are certain HL7-like message types that our system is compatible with. 

These are vital in ensuring the flow of necessary information for effective health management. The most crucial message types include claims — since insurance companies need to agree on the content of a claim — and lab information, with requests for labs typically being sent out as an HL7 message.

Ritten’s commitment is to the future of behavioral healthcare tools, and we're continually innovating and developing our software to meet and exceed the needs of this ever-evolving field.

Join our email list!

Subscribe to receive more information on Ritten's software and capabilities.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Get started with Ritten today!

Customized setup

Easily switch from old provider

Simple pricing