HL7 Frequently Asked Questions
HL7 refers to data formats and standards used to structure and share medical data and patient health information (PHI). HL7 messages include information about specific medical or administrative events and are fundamental to interoperability. HL7 standards (e.g., V2, V3, CDA, FHIR) are created and supported by the non-profit standards organization Health Level Seven International. HL7 V2 is the most widely used version of the standard in healthcare.
What is HL7?
HL7 is a language that enables the standard, consistent and uniform exchange and processing of health-related information between systems. HL7 standards are developed and maintained by the healthcare IT standard-setting authority HL7 International. HL7 Version 2 or HL7 V2 is the most widely used messaging standard, there is also an HL7 V3. It facilitates the exchange of high volumes of pre-defined patient and clinical data across healthcare applications reliably.
What is an HL7 Message?
Each HL7 message indicates the healthcare trigger event defined by the HL7 Standard. It defines the specific healthcare information being exchanged in each message type. The HL7 Standard identifies hundreds of data elements for communicating patient demographic, clinical, and financial information and describes the specific set or combination of segments that make up a properly formed message.
What are the Most Popular HL7 Message Types?
Each HL7 message sends information about a particular event – such as a patient admission via ADT (Admit, Discharge, Transfer). Message types have different sub-types. For example, there are over 50 different sub-types of ADT messages. Common HL7 message types include:
1. ACK – General acknowledgment
2. ADT – Admit, Discharge, Transfer
3. BAR – Add or change billing account
4. DFT – Detailed financial transaction
5. MDM – Medical document management
6. ORM – Order (Pharmacy/treatment)
7. ORU – Observation result (unsolicited)
8. SIU – Scheduling information unsolicited
Why is HL7 Difficult to Integrate?
HL7 is dubbed the “non-standard standard.” Every HL7 2.x implementation encountered will be different. HL7 messages typically contain a large number of specified data segments to start. The segments each can contain large numbers of individual fields. Segments and fields can be customized. To interface with another system or application, the messages need to map a common representation and not lose information. PilotFish’s eiPlatform lenient HL7 parser converts virtually any HL7-like message into XML without complex configuration.
How are HL7 Messages Segments Structured?
An HL7 message in the v2.x format is a collection of concatenated segments, each terminated by a carriage return. Segments occur in a defined sequence. Pipes | delimit fields, carets ^ are subfields. Depending on the type of field, each field can have multiple optional repetitions (separated with ~ by default), can be made out of multiple components (separated with ^ by default) where each of them can also have subcomponents (separated with & by default).
How to Convert HL7 2.x Message into XML and then Convert XML into JSON?
The sequence would be HL7 message (either from directory listener or LLP) -> [Source Transform] HL7 Transformer (to convert HL7 to XML) -> [Target Transform] XSLT transform (to convert XML to JSON XML) -> JSON Transformer (to create JSON) -> Directory Transport (to write the file) via the PilotFish eiConsole automated assembly line process.
Routing and Mapping HL7 Messages with PilotFish Software
How to Convert HL7 2.x Message into XML?
The HL7 2.x message is converted to a common XML representation so that a single open-source W3C language, XSLT, can be used to transform the data. In the PilotFish eiConsole, a unique 3-pane graphical Data Mapper generates the XSLT transform to affect the data transformation to the XML or another format consumable by the target system.
How Do You Parse HL7 Messages?
Out of the box, the eiConsole lenient parsing component handles anything that looks even remotely like an HL7 v2.x message – including “byzantine” sets of fields, components and sub-components that are not part of the standard. The lenient parser is exposed and enabled in the Transformation module. The HL7 message including any custom segments converts easily to XML.
HL7 to XML and XML to HL7 Transformation Module
What is a Non-standard HL7 Message?
The HL7 Standard specifies a data structure based on trigger events, segments, fields, and data types. Non-standard HL7 messages are created when different systems and applications require customizing and extending the standard. HL7’s structure allows optional fields or additional portions of messages. HL7 allows Z-segments (miscellaneous) for data elements defined locally.
How Do You Parse a Non-standard HL7 Message?
Middleware can handle the differences in data formats, varying versions of standards, and incompatibilities of working with extended versions. A highly lenient parser should easily deal with non-standards compliant and extended versions of HL7. A differencing engine mediates and identifies differences between HL7 2.x messages by performing gap analysis.
Differences in HL7 2.x Messages No Problem with PilotFish
How Many Different Versions are there of HL7 2.x?
HL7 2.8 is the latest version. HL7 2.x versions include 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7, 2.7.1, 2.8, 2.8.1 and 2.8.2. The v2.x standards are backward compatible. HL7 2.x earlier versions are currently the most widely used, but middleware solutions should support newer versions 2.7.1, 2.8, 2.8.1, and 2.8.2.
What is HL7 3.x?
HL7 3.x is a newer standard that has not supplanted HL7 2.x. HL7 V3 messages are based on XML. The Reference Information Model (RIM) is the foundation for HL7 V3 development. The HL7 V3 messaging standard defines a series of Secure Text messages (called interactions) to support healthcare workflows. Version 3 is not backward compatible with Version 2.
What is the HL7 V3 Clinical Document Architecture Standard?
HL7 2.x is in wide use; HL7 3.x is not. HL7 V2 (also called pipe hat) is based on older technology & is a delimited format separated by a pipe with headers and multiple segments. HL7 V3 messages are in XML format. Version 3 is not backward compatible with Version 2. The two versions work within completely different data structures.
What Application Software Converts XML to HL7 and HL7 to XML?
PilotFish eiConsole’s graphical drag & drop data mapper component which is a graphical editor used to generate the XSLT transformations that transform the data format to any other data format. PilotFish provides a unique, robust triple-pane paradigm that supports mappings of any length and any complexity. Mapping remains graphically functional throughout.
How Do You Ingest HL7 Files and Export to a Flat File?
PilotFish software supports HL7 ingestion over MLLP (Minimal Lower Layer Protocol). From there, the HL7 messages can be parsed into a common format that can be converted to an XML or flat file format.
Does PilotFish support single sign on (SSO)?
Typically single sign on is outside the scope of what our software does and is the responsibility of the IT infrastructure / security team. However, PilotFish can communicate complex web API calls with our API XL features. So, if something uses SSO (usually something with tokens) we can likely communicate with it. If a user wanted to create some web app using PilotFish we could probably build out an SSO authentication scheme, specifically, that would be via a route configuration.
HL7®, HEALTH LEVEL SEVEN®, CCD®, CDA®, and FHIR® are trademarks of Health Level Seven International.