HL7 configuration and use

martycullen wrote on Wednesday, July 06, 2011:

Can someone point me in the right direction as to how to communicate with OpenEMR via HL7?

Thanks

yehster wrote on Thursday, July 07, 2011:

Your question is too vague.  What exactly are you hoping to accomplish?

The CCR/CCD components of openEMR can export HL7 documents, but I don’t there is any facility to import HL7 at this time.

avantsys wrote on Wednesday, July 10, 2013:

Speaking of this, how can we export data to HL7 documents?

mdsupport wrote on Thursday, July 11, 2013:

Next version has code to import and export Labs in HL7. Or you can jump the gun and use Rod’s patches / new scripts.

cmswest wrote on Sunday, August 11, 2013:

interested in learning more about the current status of import of labs hl7 v2 and found this link:
https://sourceforge.net/p/openemr/discussion/202506/thread/a415cf97/#c024/8843

is there any documentation describing configuration of the new features?

I’m assuming I’ll have to go to the development tip, http://opensourceemr.com/cvs/openemr-cvs.zip, to check this out as some of the latest features are going to be released as the first patch?

mdsupport wrote on Sunday, August 11, 2013:

Guess the user documentation needs some updates as features are released. In the meanwhile, configuration depends on the level of HL7 based integration with labs you need.

  • IF you are affected by MU2 requirement, the link provides basic objective.
  • This wiki provides some more design details.
  • This User guide would provide operational details.

Your major effort will be in working with labs to establish secure communications and other details. The code will only support direct sftp link. All other links will need to deliver files to a specified folder per lab.

If you are planning for placing orders electronically with labs, well… that’s when each lab will be a ‘project’.

cmswest wrote on Sunday, August 11, 2013:

Thanks MD Support. Only looking at importing and there’s a client app that handles the secure delivery of messages to a local pc running windows.

Does rel. 4.1.2 have the ability to pull from a folder using a background process?

If so, where do I edit the folder location for the import?

mdsupport wrote on Monday, August 12, 2013:

Patches from this post are probably not in 4.1.2 but it will meet your requirements. It uses remote directories specified for the lab as to be from local server. Guess the setup will evolve but as long as you manage to get the files deposited to emr server, they will get processed and archived.

Otherwise run SFTP server on local pc and let standard emr fetch hl7 from there.

bradymiller wrote on Monday, August 12, 2013:

Hi Stephen,

There is a background process engine in the soon to be 4.1.2 release:
http://www.open-emr.org/wiki/index.php/Background_Service_Manager

It’s super cool. Will run any function you want at a certain time interval(just plop it in the background_services mysql table). The background service script can be cron’d to ensure things happen; the cool thing about it, though, is that it even works without cron because it is run (I think every 30 seconds) whenever any users are logged in.

You can even create a user(ie. bot) that can be associated with the service for logging stuff etc.

-brady
OpenEMR

cmswest wrote on Monday, August 12, 2013:

very good, thanks for the bot tip Brady

cmswest wrote on Wednesday, August 14, 2013:

Thanks MD Support. So I’m going to set up a test lab, please see attached image.

Do I need to configure a background service to grab files from the test folder or will it automatically grab the hl7 test messages from there?

mdsupport wrote on Wednesday, August 14, 2013:

Your choice as long as your app puts files in the directory you specified. The ‘Electronic Orders’ link will perform receipt and transmission for all labs every time user checks. That can be done as background service. Since the error messages are handled interactively in current mechanism, there are process issues if SFTP is used. In case of download, background service will not be an issue since errors don’t go away. In any case, it needs to be someone’s task to check online for errors on a routine basis.

cmswest wrote on Wednesday, August 14, 2013:

Thanks again MD Support!

Just to make sure I’ve got this, when a user clicks on the tab ‘Electronic Reports’ under Procedures, the folder is then queried? If so, does the test message have to contain the correct receiver/sender ids for the test lab in the above screenshot? Finally, would there also have to be test orders that pertain to the test results so that they’re processed?

sunsetsystems wrote on Wednesday, August 14, 2013:

Yes, results sources are queried when “Electronic Reports” is run. Receiver/sender stuff is for sending orders, not receiving results. Currently results must have matching orders or they will be rejected.

There’s the start of some documentation here (more work on that is needed):

http://open-emr.org/wiki/index.php/Electronic_Procedure_Orders

… and some new code in review here (would be good to test):

https://github.com/sunsetsystems/openemr/commits/elabs3

Rod
http://www.sunsetsystems.com

cmswest wrote on Wednesday, August 14, 2013:

thanks Rod, i’ll see what i can make of it and hopefully have something of worth to contribute soon

ultimately would like to see the auto-creation of orders based on the elec. reception of results, would cut down on the tedium of emr/office life

cmswest wrote on Monday, August 19, 2013:

Does anyone have a pair of test messages, order and result in the hl7 format, to share?

Including a screenshot of the corresponding procedure configuration view would be very helpful.

Thanks.