The Complete Guide to HL7

HL7 Transport Method: LLP

The Lower Layer Protocol (LLP), sometimes referred to as the Minimal Lower Layer Protocol (MLLP), is the absolute standard for transmitting HL7 messages via TCP/IP. Since TCP/IP is a continuous stream of bytes, a wrapping protocol is required for communications code to be able to recognize the start and the end of each message.

The Lower Layer Protocol is the most common HL7 transport mechanism for sending unencrypted HL7 via TCP/IP over a local area network, such as those found in a hospital.


LLP (Lower Layer Protocol)

When using LLP, an HL7 message must be wrapped using a header and trailer (also called a footer) to signify the beginning and end of a message. These headers and footers are usually non-printable characters that would not be shown in the actual content of an HL7 message.

The typical structure of an HL7 message being sent via LLP is described in the table below. It contains four parts:

Header HL7 Message Trailer Carriage Return
Vertical tab character (0x0B) The HL7 message is wrapped using a header and trailer (immediately followed by a carriage return):

Field separator character (0x1C) Carriage return (0x0D)

Moreover, you must also ensure that each segment is terminated by an 0x0D (carriage return) character. This is mandated by the standard, but often HL7 log data can be received via FTP or email where the segment separators have been transformed into 0x0A characters.

There are various methods to secure data traffic via LLP:

  • VPN Tunnel: A Virtual Private Network (VPN) is a private network that uses the Internet to link remote sites together while using secure cryptography to ensure that it cannot be read by unauthorized users. This is a very popular way to solve the HL7 encryption problem, especially in today’s climate as many common cloud platforms provide VPN connections as part of their platform offering.
  • SSH Tunnelling: This is a similar concept to using a VPN connection wherein an SSH server is used to securely tunnel the LLP traffic between systems. Every Linux distribution has a built-in SSH server and there are also options for Windows such as VShell.
  • TLS/SSL: HL7 messages can also be transported over the Transport Layer Security (TLS) or Secure Socket Layer (SSL) cryptographic protocol to ensure authentication and encryption of messages. 

HLLP (Hybrid Lower Layer Protocol

The Hybrid Lower Layer Protocol (HLLP) is a variation of the more widely used Lower Layer Protocol. Like LLP, HLLP uses TCP/IP as its transport but incorporates error detection and verification via the use of checksums at the end of messages. The checksums are used to verify that no data was corrupted. Checksums are typically computed for each block of data that is sent for the sending application and then verified for accuracy at the receiving application.

The checksums used in HLLP are non-standard, meaning they may vary from implementation to implementation.

A common type of checksum used in HLLP is called BCC (Block Character Check), which is the sum of all characters in a block. The BCC checksum is considered a weak checksum since it may be easy to find different blocks that generate the same block checksum. Although the BCC checksum is relatively easy to implement, it may not meet the communication standards of most companies.

In practice, most vendors choose to use TCP/IP over LLP, rather than HLLP. LLP is a very simple protocol to incorporate and can be used instead of HLLP since the TCP/IP channel provides all of the services necessary for the error-free delivery of HL7 messages. This includes:

1. Connection Handshaking
The process by which two systems initiate communication. Start and end control characters are used to start/stop the transmission of data.

2. Full Duplex Data Transfer
The process by which a system transmits and bi-directionally receives data simultaneously.

3. Error Detection and Retransmission
The process by which the transport layer detects segments that fail transmission and retransmits them, if necessary.

4. Flow Control
The process by which the flow of messages between systems is managed by TCP through the use of ACKs and NACKs. Through the use of ACKs/NACKs and other built-in mechanisms in an HL7 application, you can manage the flow of data to ensure that messages are transferred efficiently and reliably.

5. Connection Termination
The process by which a connection is ended independently by each system via a handshake.

In most cases, HLLP is an unnecessary requirement as long as the two communicating health systems are using a reliable Open Systems Interconnection (OSI) transport layer since the transmission of messages, as well as the integrity of messages, is already verified by the underlying OSI protocols.

Hybrid LLP is only used for unreliable transports (e.g. transporting messages via a serial cable) and is considered unnecessary by most vendors.

With TCP/IP, checksums over data and headers are already inherent to the protocol. This means that the protocol will detect checksum errors and request the retransmission of data, if necessary. What this means is that a secondary checksum associated with HLLP will not further guarantee data delivery but just adds to transport overheads.

Configuring an HL7 LLP Client/Server

As one of the most commonly used protocols for transporting HL7, it can be helpful to know how to properly set up an LLP client or server for sending and receiving messages.

How does Iguana assist with LLP configuration?

Developed by iNTERFACEWARE, Iguana is a data integration platform, and the only tool you need to send HL7 data via LLP (or any other transport protocol) quickly and reliably. Iguana comes with pre-built components, featuring an easy to use front-end interface that leads you through the process of setting up an LLP client or server for real-time data transfer.

Get a demo: Easily set up an HL7 LLP connection using Iguana

Fill out the form and we'll be in touch.

Request a Free Demo