HL7 Differencing Engine Feature in the eiConsole Integration Engine
This is a demonstration of the eiConsole for Healthcare Differencing Engine feature of the software.
The vast majority of healthcare information systems and devices support HL7 data standards. However, the fact that two pieces of software implement an HL7 does not imply plug-and-play interoperability. Even vendors offering support for the same HL7 messages will use different versions, include divergent content, and introduce custom extensions.
The eiConsole for Healthcare’s Differencing Engine makes the mapping between slightly different HL7 messages easy! Here we see two examples of an ORU message – lab results in HL7 2.4. They’re very similar with many of the segment’s mapping from one to one.
However, we can see that the second version here includes an ABC custom segment as well as an OBX segment that’s different from the first. Let’s see how this would be accommodated in the eiConsole for Healthcare.
Configure HL7 Data Source & Target
To generate a mapping between two versions of HL7 will use the XCS Data Mapper. Within this transformation tool, we’ll need to load our source and target samples. We’ll accomplish that with the HL7 version 2.x format builder where we’ll select the HL7 version of each and load the sample file.
We’ll load the first version as our Source, and we’ll load the second implementation as our Target. By expanding the hierarchical view of the message, we can see that they will look very similar but they’re not the same.
Create HL7 Data Map
Next, to invoke the Differencing Engine we click this icon which will generate a mapping between the source and the target. With one click of the button, a map is automatically created. All common fields are automatically mapped to one another.
For instance, we can look at the MSH segment where each of the fields are mapped to the corresponding field from the MA state MSH segment in the source. However, if we scroll down to the bottom of the mapping, we see the ABC segment. This is present only in the target and not in the source.
So, there are no blue nodes mapped into these green nodes. Instead, we have constant text values taken from the target sample. In order to tweak this mapping to be complete, the end user may choose to replace some of these constant values with other values from the source or an external data source.
It’s just that easy! You load in a sample of the source, a sample of the target, and invoke the Differencing Engine and a data map which is 95% complete is created automatically, on the fly, in front of your eyes.