Hello!
Can anyone tell me about OpenEMR support for HL7? For example, can OpenEMR send out ADT messages?
I am interested in connecting OpenEMR to a Radiology Information System, which typically uses HL7 to synchronize
patients and orders.
Thanks!
Absolutely- You can integrate the open source HL7 interface engine MIRTH to transform data from OpenEMR . ADT, Orders, Results, whatever suits your needs. You can even configure MIRTH to function as a DICOM worklist between your RIS and modalities. Depending on your vendor they may be the largest constraint as they are threatened by Open Source and will charge top dollar for integration unless you are also using a open source RIS such as ClearCanvas.
The code I have uses a Mirth feed from ZOLTEC RIS into OpenEMR, no help was needed from the vendor, just the practice IT staff.  I am also working directly with Intelerad, but that interface is XML based and direct, not using Mirth. They are very keen on OpenEMR in the USA.
-Tony
For example, you may have another healthcare system that you want to transmit HL7 messages to OpenEMR. Using Mirth, you “listen” to this feed and forward the data to OpenEMR in whatever format you’d like (JSON, XML, etc). From there, you can write a PHP script to insert the data into OpenEMR for the relevant patient. If you are not comfortable writing this code, please reach out to one of our capable vendors http://open-emr.org/wiki/index.php/Professional_Support.
It is worth noting that OpenEMR can be set up to transfer HL7 messages outbound as well using Mirth.
Your configuration in the Mirth is directly to connect with OpenEMR’s database. No need to have PHP code level changes.You can create mirth channel to send/receive HL7 messages between source/destination.
OpenEMR is having options to create ORM messages.
Patient>New Encounter form>Administrative>Procedure Order
Refer here to know more about Procedure order messages.
In addition,you may also refer Mirth Connect’s user guide to know more.
So when connecting directly from MIRTH are you using FHIR apis to insert the message? Or are you running a custom javascript app on MIRTH to handle the db interaction? My goal is to receive an ADT A01 message (new admittance) and then have that be available in the OPENEMR database.
The trick of course, is the parsing out of the data fields into the database. Are you just guessing what tables and fields to populate?
Looking for suggestions on how best to solve getting this (and then CCDA data) directly into openEMR
I get the customization of MIRTH. That is the easy part. The hard part is making sure data gets into the right table structures. I can go off the database and make guesses. But it would be better if there was an import of a message type (sounds like this doesnt exist), or an API to push that message type in, or at least an ERD that would guide someone trying to do this manually.
Yes, saw the process about orders and results. But as far as automating the generation of a new patient that wont do as it assumes the patient (and therefore visit) already exists. – thanks for the info though!
Jim, if you want to automate a new patient then you may want to look at register.php libraries in openemr/portal. Specific openemr/portal/account/lib for an example of new patient.