Test driving Microsoft’s HL7 to FHIR converter

I took Microsoft’s FHIR converter for a test drive yesterday.

It’s open source and free to use. But how does it fare against real HL7 messages?

Here are the steps I followed:

1 — I downloaded and built the converter tool. It’s a C# project, and builds without issue out-of-the-box: https://github.com/microsoft/FHIR-Converter#fhir-converter

2 — I extracted the template files from the Hl7v2DefaultTemplates.tar.gz file inside the project into a folder I created.

3 — I found a sample HL7 ORM message on the AthenaHealth developer portal.

4 — I located the template name that corresponded to the HL7 message. In my case it was “ORM_O01”. Here’s the list: https://github.com/microsoft/FHIR-Converter/blob/main/docs/HL7v2-templates.md#templates

5 — I ran the command line tool I built earlier as outlined in the documentation: https://github.com/microsoft/FHIR-Converter/#command-line-example

That’s it.

My new FHIR bundle appeared a couple of seconds later. Here’s what it contained:

– MessageHeader
– Provenance
– Organization [x]
– Patient
– Account
– RelatedPerson [x]
– Practitioner [x]
– Location
– Coverage
– ServiceRequest
– PractitonerRole
– Specimen

There was a lot in the bundle — not all of it of use to me.

It contained duplicate resources for Practitioner and RelatedPerson.

The Provenance and MessageHeader resources had no value, and some Organization resources were only shells.

Beyond that, the FHIR resources were well populated from the HL7 message, and all the resource reference links worked.

Here’s the bundle that was produced: http://hapi.fhir.org/baseR4/Bundle/21892704

My conclusion?

It’s a starting point, not a polished utility you can use against production data.

You’d need some custom mapping for the data coming in before you could trust the converter to run on its own. The project’s liquid template files help with this.

You’d need to wrap your own code around the converter to validate where necessary and trim and clean the data before letting it into your FHIR server.

It’s a great tool. But tools are only as good as the person using them.

Definitely one to bookmark!



Sign up to “The Tuesday FHIR Sessions” and receive an email every Tuesday where I go deep on a single FHIR topic.