Testing HL7 Messages

heyyan khan picture heyyan khan · Feb 16, 2012 · Viewed 19.1k times · Source

I am in the process of implementing an HL7 Module in our EMR, but I am confused as how to test the messages. I was looking at LabCorp and Surescripts and was unable to find a testing Api or a module, it seems like I will have to deal with bit of bureaucracy to get any help from them.

Is there an easy way to test my HL7 module?

Answer

Ed Daniel picture Ed Daniel · Aug 29, 2012

Labcorp is a pretty hideous offender when it comes to HL7. We've always said at my company that if there were such a thing as an "HL7 Police" then Labcorp would be their first stop. FYI, Quest is almost as bad.

I've done many interfaces with Labcorp and here are a few tips if you're just getting started or trying to get started with them. They are notoriously uncooperative when it comes to working with developers who approach them "unsolicited".

  1. You absolutely NEED a customer of YOURS who is also a customer of THEIRS (or one who does a lot of labs and will at least tease them). If you've got a customer who does any volume of labs with them at all you will discover that an entirely new world will open up for you with them. If your customer does 5000 labs a month, they will put somebody on a bicycle, drive the HL7 messages to your office and hand deliver them on a thumb drive, and then drop your kids off at school on their way back.

  2. Once you've got the customer let them be the middleman for the first few contacts with Labcorp. You'll want to get Labcorps HL7 specification AND, this is critical, you'll want to get some EXAMPLE messages. Remember that if you're doing BOTH Lab Orders AND Lab Results you'll want to get example HL7 messages for both the Lab Order and the Lab Result.

  3. One thing that I've found is that they are always "stingy" on their example messages so you'll likely get only 1 or 2 examples. Use a good HL7 editor like the Hermetech HL7 Notepad http://www.hermetechnz.com/documentation/UltraPort/HL7Notepad/index.html to take your example messages and "clone" them into several hundreds or thousands of unique messages so that you can do some "volume" testing on your interface.