What is HL7? It stands for Health Level-7 and is a set of international standards, rules, and definitions used to exchange and transfer medical information between health care providers. This is commonly done through electronic health records (EHRs). It's called level 7 because it focuses on the application layer, also referred to as layer 7.

HL7 has a structure for exchanging and sharing health care information electronically. Its standards set in place how that information is exchanged between health care providers and that includes the language, data type, and structure.

What are HL7 standards?

Standards for HL7 have been grouped into seven different sections. Here's a synopsis of each section for you:

  1. Primary standards: These are the most common/popular standards. You can learn more about the specific primary standards here. Keep in mind that these are the most frequently used for system integration and compliance. So, it's a good place to start.
  2. Foundational Standards: These are the basic tools or fundamentals the standards were built on and the technology that you as a medical professional implementing HL7 standards has to manage.
  3. Clinical and Administrative Domains: This is where you will find standards on HL7 documents and messaging. Typically, you will have primary and foundational standards in place before getting into standards for clinical specialty standards.
  4. EHR Profiles: The standards for EHRs make it possible for you to build an electronic health record system with models and profiles. If you're looking for a new EHR, here's a blog post on how to choose an EHR. It deals specifically with how to choose a behavioral health EHR but the principles apply to all EHRs.
  5. Implementation Guides: This section helps you implement and support documents that were made for the purpose of a current standard. Each document here will be used as supportive material for one of the other standards.
  6. Rules and References: These are the programming structures and guidelines for the growth and expansion of standards and software.
  7. Education and Awareness: In this section, you'll find the Standards for Trial Use (STU) and other projects currently happening. There are also various tools and resources here to help you understand HL7 and put it into practice.

HL7 Messages

A lot of questions dealing with HL7 revolve around HL7 messages. So I want to answer a few of these questions for you. Some of these include "what is an HL7 message," "how are HL7 messages transmitted," and "what are HL7 message types?" I'll answer these questions to help you get a better understanding.

What is an HL7 message?

The whole point of HL7 messages is to transfer data electronically between various health care providers. These messages are sent whenever events happen with patients, such as when you admit a patient into your clinic. These messages are comprised of segments in a specific sequence. However, these segments are sometimes optional, sometimes required, and sometimes they're repeatable.

Message Types

Message types are present in every HL7 message as they explain why you're sending the message in the first place. Each message type has a specific code of three characters and they trigger an event. Now you're probably wondering what a trigger event is. Simply put, it's an actual, real-life event that sparks the communication needed for a message to be shown. It's shown along with the message type. You will find the trigger event and message type in the MSH-9 part of the message.

For example, if you see ADT-A04 in the MSH-9 section, ADT is the message type and A04 is the Trigger Event. In the HL7 standard, ADT-A04 would signal the message of "patient register." There are a lot of different message formats to keep up on. You can see more examples here.

I'm not going to go into every single message type but here are some of the more commonly used ones:

  • ADT - Admit, Discharge, Transfer
  • ACK - General acknowledgment
  • BAR - Add or change the billing account
  • MDM - Medical document management
  • DFT - Detailed financial transaction
  • ORM - Order (for treatment or pharmacy)
  • MFN - Master Files Notification
  • QRY - Query, original mode
  • ORU - Observation results unsolicited
  • RAS - Pharmacy/treatment administration
  • RGV - Pharmacy/treatment give
  • RDE - Pharmacy/treatment encoded order
  • SIU - Scheduling information unsolicited

You can see the full list of HL7 message types here.

How are they transmitted?

Now that you know what some of the HL7 message types are, I'll explain how they're sent. First, you'll need to create a listener so you can receive the messages. This may sound complicated but it's just a TCP listener. Then you'll need to make another thread that sends HL7 messages or else the listener won't be able to get the messages. When your listener has received a message then it needs to send a message back. This is commonly referred to as an "acknowledgment."

Here are the steps you would go through to receive a message and send back an acknowledgment:

  1. Create console application: File > New > Project. Choose the console app, give it a name like HL7 Listener then click OK.
  2. Make a class for your messages: Make a new class and name it message or something similar.
  3. Form a Segment class: Next, you need another class that contains the information of the segment. An easy way to do this is to create a new class and simply name it Segment.
  4. Manipulate Your Segment Class: By adding fields, methods, and constructors, you can easily control your Segment. This is something you can do by holding the fields by utilizing a dictionary object. The fields use a certain type of message that have very specific locations in the segment.

You can see more detailed instructions on how to receive messages and send an acknowledgment.

How has HL7 improved interoperability?

Now you know what HL7 is, how to read the codes, and how they're transmitted. But how does all of that improve interoperability? In order for modern health care to be effective and efficient, information needs to be shared with other health care providers. This has been a problem in the health care industry for a long time. Accountable Care Organizations work mainly to improve communication between providers and EHRs play a huge part in this as well.

Legacy Systems

Legacy systems have their networks hidden behind closed walls. If you work in a legacy situation, this makes it incredibly difficult to share information. In the past, legacy organizations had to put information into a text file and try to safely send it to another organization. So, if you have a legacy system, you need to have file formats to write health data on and use your EHR to exchange the data with other health care providers. All of this had and has to be agreed upon with the other organization.

With HL7's universally agreed-upon messaging standards, it's much easier for you to group that information in a file and securely send it to the organization you need to communicate with.

Online Systems

Online systems are essentially constructed the opposite of legacy systems. For example, internet systems are built to be open and shared easily, and because of that, the information they share needs to be secure when it's exchanged. Online health systems are growing and will continue to grow. And while online-based systems don't use legacy or HL7, they need to be able to send and receive HL7 documents and messages for backwards compatibility with legacy systems.

In short, HL7 improves your interoperability by making it easier for legacy systems to securely share medical information while also making web-based systems compatible with legacy.

How to learn HL7

If you're looking to learn HL7, HL7.org has various 12-week courses throughout the year you can register for. The courses are designed for people that are novices at HL7 and help you learn through hands-on guided exercises. Oh, and it's a self-paced course allowing you to learn at your own speed.

Once you've finished the course, you will know how to do the following:

  • Read and understand the most commonly used HL7 standards
  • Understand HL7's controlled vocabulary
  • Know when to use messages and documents
  • Handle projects with interoperability problems across different health care systems and more

HL7 Summary

HL7 is a set of standards and definitions used across the globe to exchange medical information between medical care providers, commonly used in EHRs. There are seven different types of standards. The message types are based on a series of letters and numbers that indicate various actions such as admitting or discharging patients. You can take a course online to help you learn how to understand and use HL7 codes.

If you're in need of a behavioral health EHR, we offer the best software on the market! You can schedule a free demo here.