No announcement yet.

HL7 to FHIR Observations

  • Filter
  • Time
  • Show
Clear All
new posts

  • HL7 to FHIR Observations

    I am working with Mirth Connect to perform a conversion of HL7 to FHIR. I found the FHIR Connector and associated materials as well as the set of "starter code" found here:

    I have successfully used and modified this code/channel set to convert HL7v.2 messages to FHIR. This starter code/channel/transformer is only for the conversion and creation of FHIR "Patient" resources, however. It is used for the conversion of ADT messages. My goal is to convert HL7 ORU messages as well.

    Since Mirth has made available this set of code/channel for ADT messages, is there another set of "starter" code or a channel structure or logic available for the conversion of ORU messages into FHIR (Observation resource)? I understand I would need to modify the code to suit my needs but was wondering if there is an ORU equivalent to what Mirth has already provided for ADT-Patient. Thanks.

  • #2
    It is very likely that you need a Bundle of type of "transaction" or "message", based on how the receiving system/server is going to process your transaction. Considering that a typical ORU message contains more than one observation result, you likely need to check FHIR Diagnostic Medicine module to see how DiagnosticReport and Observation resources work together to represent ORC-OBR-OBX groups. This is besides other resources to handle patient info, etc.


    • #3
      Thank you. I have already started reviewing the FHIR site for Observation mapping to HL7v2, but I have to believe I am not the first person to ever attempt to convert HL7 ORC-OBR-OBX to FHIR. Is there somewhere in this community or another thread perhaps that can help me get started creating a transformer in Mirth for this? Since Mirth already provided the channel for creating a patient, I have to believe that somewhere or someone in this community has already created a channel that creates FHIR Bundles from HL7 ORC-OBR-OBX segments. Do you happen to know where a good place to look would be?


      • #4
        While you are buried into technical details I'd suggest you to step back and look from 1E3 foot view. ORU is a message triggered by an event. The sending system expects to receive something in response. When you are transforming this to FHIR are you expecting to store the data for post-processing (in which case you need to start thinking about FHIR DM vs other data models) or to handle the actual event? This will determine the type and structure of your Bundle.

        Next, you certainly can jump directly to "Resources" menu item on the FHIR standard and pick up resources that you need, and most developers do exactly this, but if you start thinking about semantic interoperability then FHIR resource are not used as they are. They are constrained by local, jurisdiction, nationwide profiles and policies. Thus, when you are asking if someone has done this, then obviously within those 10 years that FHIR exists it was done many times (e.g., check Ringholm blog), but would you like to build a solution based on Australian, Netherlands, Canadian, etc. profiles? Or should you follow USCore/DAF profiles to begin with and then probably check related IHE profiles?