Stream: implementers
Topic: converting hl7 v2 to FHIR
Suranga Kasthurirathne (Jun 20 2016 at 18:46):
Hi everyone, can anyone recomend the bst approach to convert hl7 v2 into fhir in a large scale? I know the iguana can do this, but is that the best option? :)
Grahame Grieve (Jun 20 2016 at 22:25):
there are several commercial middleware engines that are capable of doing this
Grahame Grieve (Jun 20 2016 at 22:26):
but my advice is that open source libraries for v2 and FHIR are widely available. The challenge is expressing your transform logic. If you're already programming, the best way to do the transform is to get libraries for v2 and FHIR, and program the transform
Grahame Grieve (Jun 20 2016 at 22:27):
later, we may have a portable language for doing this, which would be worth investing in, but it's too early for that now
Kevin Mayfield (Jun 23 2016 at 10:49):
We've been using Apache Camel and v2 HAPI (https://github.com/KevinMayfield/Jorvik/tree/master/HL7v2-HAPI), it's a work in progress at the moment but quite reliable and fast. Also used our existing integration engine which allowed us to import FHIR as an XML Schema and use GUI tools to map the data. No clear preference.
Simone Heckmann (Jun 23 2016 at 13:48):
I've done V2->FHIR mapping with Cloverleaf integration engine. It has all HL7 V2 formats already available and importing the FHIR XDS schemas is very simple. However, from my experience, V2 is far too wild to ever come up with a "one-size-fits-all" mapping. I guess it'll always be a case by case thing depending on the V2 source system and the use case requirements. So your best bet is to pick an integration engine with a neat UI and push through the tedious work of mapping field by field. If you're lucky, you'll be able to reuse most of what you've done and just need some tiny changes, every time you redeploy with a different source system/different FHIR server/different use case
Simone Heckmann (Jun 23 2016 at 14:06):
The actual challenge in my opinion is not so much the mapping as rather getting the references between the resources right...
If you want to process the V2 message in one step and not interactively query for the proper url of each resource you want to reference/update/delete you'll need some "bundle magic" like conditional updates/created/deletes and uuids.
Some resources to get started are these:
http://www.ringholm.com/docs/04350_mapping_HL7v2_FHIR.htm (but keep in mind, that messaging doesn't really fly with any of the public servers out there -or at least- not for all the V2 Events you may want to throw at them)
https://vimeo.com/127809196
http://wiki.hl7.org/index.php?title=201605_Conditional_Reference_Connectathon_Proposal#Server ( this is implemented and can be tested with both HAPI and Healthintersections)
There's also going to be a special educational track at the FHIR Developer Days this year http://www.fhirdevdays.com/schedule/
Bartek Sarul (Jul 07 2016 at 09:50):
Probably converting HL7 -> FHIR is a common problem to solve when it comes to integrating legacy systems.
Is anyone aware of any already implemented library to do such conversion assuming HL7v2 comes from http://hl7api.sourceforge.net/ ?
Grahame Grieve (Jul 07 2016 at 10:18):
no. our usual answer is that there's lots of libraries for both v2 and FHIR, and there's not usually enough consistency in the conversion process to make sharing more than the underlying libraries worthwhile
Abbie Watson (Mar 01 2017 at 02:11):
I wrote a tutorial on converting v2 to FHIR and back. Feedback and comments welcome.
https://medium.com/@awatson1978/hl7-v2-to-fhir-interface-mapping-f83c6ecf6bee#.otvz5yqr3
Last updated: Apr 12 2022 at 19:14 UTC