Back to Pilotfish Home

Building an HL7 Interface

     

    How to Create an HL7 ORU Message Interface

    Welcome! In this demonstration, you will see some of the unique capabilities of the eiConsole for Healthcare

    In this example, HL7 is coming from a hospital and then sent on to a data measures store or a database. We begin in the main route grid that depicts the flow of data between our Source System, a hospital and our Target System, an external database. We’ll begin with our Listener. In this case, we’re using HL7 over LLP. This listener monitors the specified TCP socket for HL7 messages. 

    Source Transformation

    We’ll then move on to the Source Transformation. This will take the HL7 data and convert it into a generic XML representation. We do this by using the eiConsole’s HL7 to XML transformation module. In this drop-down, we’ll choose HL7 2.x to find our version and then we’ll move on to the logical transformation. 

    Logical Transformation

    Data transformations in the eiConsole are handled using PilotFish’s Data Mapper. All of your logical mapping is done here between your source format, in this case, our HL7 data represented as a tree to the left, and our target format – in this case a custom XML representation of some of the patient data we wanted to retain in our database. 

    Logical mapping rules are created through dragging & dropping onto the structure in the middle, with green nodes representing XML elements from our custom XML file and our blue nodes representing values mapped to those fields. 

    For instance, here we can see the patient information mapped into the person’s last name, first name, and date of birth field. We can also see a yellow note underneath the birth date that demonstrates how the eiConsole’s data mapper can be used to perform data manipulation during the mapping process. Here we’re formatting the date of birth value coming in from our HL7 and an XML date format using our date formatting tool from the palette above. For instance, we can see here that our PID.7 is coming in with this format yyyymmdd. Our desired output format for our XML file will be yyyy-mm-dd. Here we define that using our date time formatter so that all incoming data will automatically change to that format. As this mapping was created XSLT was generated under the covers. Once all of our fields have been mapped and our mapping is complete, we can move on to the Routing stage. 

    Routing Stage

    In the Routing stage, we route the data along to our single Target System which includes the target transformation to convert our generic XML representation of the HL7 into the specific SQL database statement. 

    Target Transform Stage

    In our next stage, the Target Transform, we will now do another logical transformation – taking that XML representation and creating SQL statements from that. We’ll do this using our data mapper. On the left-hand side of our data mapper, you can see the simplified patient data that we took from the HL7 message initially then parsed out and created this custom XML file with. 

    On the right-hand side, we have connected up to a database and loaded in our tables and also have statements and functions below. Our mapping here in the middle indicates that we will insert this information from our source system into these rows and tables. Once this is complete, we can go to our next stage. 

    Transport Stage

    In our Transport Stage, we’ve chosen that we’ll connect up to a database. There are other options for Transport much like our Listener stage. To connect up to that database we simply choose this from the drop-down and enter some basic connection credentials. We can also test our database connection below using this button. Now that we’ve viewed the configuration of these stages, let’s move along to Testing Mode to see it in action.

    Testing Mode

    Here we’ll see all the stages that we just talked about represented as question marks. We can choose to start our tests at any stage and end it at any stage. In this case, we’ll use a pre-saved configured test that we are using because we’re not actively listening on a TCP port for an HL7 feed. This pre-saved test will start after the Listener stage and will feed it a sample file. Once we hit execute test, you will see the question marks turn to green check marks. 

    Starting with the Source Transform of the test, we can see each stage output throughout all of the testing mode. Here we can see the sample file of HL7 that was fed into our test. Here we can see an XML representation of that HL7 that was created. Here we can see the XML that we parsed just using those simplified patient data. 

    To look at our target transform sign, here we can see the XML representation of what will happen in our SQL database, which will then be sent on to a live database by entering that connectivity information. 

    And that’s all there is to it! It’s just that simple to use the eiConsole for Healthcare to manipulate HL7 data and convert HL7 data into virtually any other file format. 

    Thanks for watching!

    Try It for Yourself!

    We recommend downloading a Free 90-Day Trial of the eiConsole and taking a look at it yourself. More PilotFish videos demonstrating other software features are listed on this summary PilotFish Product Video page.  If you have any questions, don’t hesitate to ask.

    If you’re curious about the software features, free trial, or even a demo – we’re ready to answer any and all questions. Please call us at 813 864 8662 or click the button.

    This is a unique website which will require a more modern browser to work! Please upgrade today!