FHIR Chat · Best v2 to FHIR transformation engine? · implementers

Stream: implementers

Topic: Best v2 to FHIR transformation engine?


view this post on Zulip Brian Cragun (Mar 19 2021 at 19:20):

Hi,

I’m new to FHIR and these chats. I’m looking for and evaluating projects that transform HL7v2 to FHIR.

I’m aware of the 2-to-FHIR project (https://confluence.hl7.org/display/OO/2-To-FHIR+Project.) It seems like it is more about the mappings, rather than an engine that actually does transforms.
I see the 2-to-FHIR code in GIT (https://github.com/HL7/v2-to-fhir) which looks like it might do conversions, but I can’t see how you would run it. Is there any engine which uses the mappings in this repo to actually do transforms? Or are these just specifications and tooling.

There is Microsoft’s FHIR-Converter conversion engine. (https://github.com/microsoft/FHIR-Converter) This seems to be relatively complete for a few messages, and has a lot of resources defined. I’m perplexed at the two major branches: the original Handlebars+Node.js, and the more recent Liquid+.NET. I can’t figure out the move to .NET (other than it’s MS). It seems to me Node.js is a more common platform.

There is LinuxForHealth hl7v2-fhir-converter (https://github.com/LinuxForHealth/hl7v2-fhir-converter). Java based, with YAML templates. Handles four V2 messages.

HAPI has v2 parsing and validation as well as FHIR validation, but I don’t see any converters there.

Is there any other v2 to FHIR open source library / engine that I’m missing?

view this post on Zulip Kevin Mayfield (Mar 21 2021 at 06:15):

I've used both the HAPI libraries (v2 and FHIR) and built converters myself. Others I know have used the normal v2 integrations engines, mostly done in code. So languages are java, objectscript/mumps and javascript.

Open source worth looking at Apache Camel (https://camel.apache.org/components/3.8.x/fhir-component.html) which uses both HAPI projects. Example v2 to FHIR conversion https://github.com/apache/camel-examples/blob/master/examples/fhir/README.adoc

view this post on Zulip Josh Mandel (Mar 21 2021 at 15:28):

@Caitlin Voegele FYI

view this post on Zulip Caitlin Voegele (Mar 22 2021 at 15:11):

@Brian Cragun We have some details on the Read.me of the GitHub repo around the Handlebars & Liquid templates and the mappings for V2 to FHIR: https://github.com/microsoft/FHIR-Converter

view this post on Zulip Brian Cragun (Mar 22 2021 at 15:13):

Thanks @Kevin Mayfield ! How would you characterize the work at 2-to-FHIR? Is it more standards / specifications? (Rather than actual conversion?)

view this post on Zulip Brian Cragun (Mar 22 2021 at 15:16):

Hi @Caitlin Voegele ! I have some questions after looking at the https://github.com/microsoft/FHIR-Converter. It seems the Handlebars version is not getting a lot of love these days. Has that branch been mostly abandoned in favor of the Liquid version? Why was Liquid considered a better architecture than Handlebars?

view this post on Zulip Paul Church (Mar 22 2021 at 15:21):

The Google implementation of this transformation is available at https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/

Specifically, the mappings are in https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/hl7v2_fhir_r4 and https://github.com/GoogleCloudPlatform/healthcare-data-harmonization/tree/master/mapping_configs/hl7v2_fhir_stu3

(there are some other mappings here as well - CDA to FHIR, OMOP to FHIR, etc.)

view this post on Zulip Kevin Mayfield (Mar 22 2021 at 15:35):

Different for every supplier (in the UK)!

view this post on Zulip Brian Cragun (Mar 22 2021 at 16:25):

@Paul Church Thanks for the reference and link!

view this post on Zulip Ranvijay Kumar (Mar 22 2021 at 17:42):

@Brian Cragun We will continue to fix reported issues in the Handlebars branch. New capabilities will be developed in the Liquid branch. We felt more comfortable with Liquid for integrating into the FHIR server due to a variety of reasons including availability of a dotnet library, performance, and supportability.

view this post on Zulip Craig Newman (Mar 22 2021 at 18:43):

The HL7 project for v2-to-FHIR is very much standards oriented. We have participation from tools developers, but the project is not intending to create any actual products to perform conversions.

view this post on Zulip Vibin_chander (Mar 23 2021 at 07:32):

@Brian Cragun I have used Mirth Connect for many of the clients to transform the messages from HL7v2 to FHIR format. And it has always succeeded.

view this post on Zulip Vibin_chander (Mar 23 2021 at 07:35):

The liquid templates of microsoft is good, but debugging is not very easy. I also did not like the way that liquid templates uses the HL7 data types for the reference. Which in realtime is impossible to achieve. Another big question on the liquid templates is how are we going to use it with existing solution running on completely different application server?

view this post on Zulip Brian Cragun (Mar 23 2021 at 13:17):

@Ranvijay Kumar Thanks for clarifying. I admit I was excited for the Handlebars branch because of the Node.js engine. Tell me, does the .Liquid/.Net solution deploy on cloud other than Azure?

view this post on Zulip Brian Cragun (Mar 23 2021 at 13:18):

@Craig Newman Thanks :+1: for confirming

view this post on Zulip Brian Cragun (Mar 23 2021 at 13:19):

@Vibin_chander Is all of Mirth Connect free open source? It looked to me that parts of the solution were paid service?

view this post on Zulip Vibin_chander (Mar 23 2021 at 13:35):

The engine itself is free.. certain features like SSL plugin are paid, but there are work-arounds to do it better, and it uses Rhino engine based Javascript -- so you can write a java code and convert it into JS easily as well.

view this post on Zulip Vibin_chander (Mar 23 2021 at 13:37):

@Brian Cragun ur question on the liquid script is the same that I have too.. not sure if that package can be used on other platforms. When I mean "used" how its deployed and running on application server

view this post on Zulip Kevin Mayfield (Mar 24 2021 at 04:29):

The v2-fhir project we found was very useful.

view this post on Zulip Ranvijay Kumar (Mar 24 2021 at 05:07):

@Vibin_chander, thanks for your feedback. We are working to make debugging easier with our VS Code extension. Also, in addition to be integrated within Microsoft FHIR servers, the Liquid converter is also available as a command line tool. Since it is written in dotnet core, it can be compiled to run on Linux as well as Mac. Please feel free to open a ticket on our github repo if you need help.

view this post on Zulip Shamil Nizamov (Mar 29 2021 at 16:35):

Brian Cragun said:

There is LinuxForHealth hl7v2-fhir-converter (https://github.com/LinuxForHealth/hl7v2-fhir-converter). Java based, with YAML templates. Handles four V2 messages.

The converter should be built based on message structure, not message type/event. Thus, ADT A01, A04, A08 and A13 are all based on A01 structure.


Last updated: Apr 12 2022 at 19:14 UTC