There is no such thing as an automated HL7 to FHIR converter. It’s a pipe dream.
Not one that works out-of-the-box with data from more than one hospital.
I recently spoke to technical leads at two companies handling a lot of healthcare data. Different companies, different data, but the same problem.
They were both ingesting a lot of HL7 data from a number of different hospitals and converting it to FHIR.
They were trying to automate the process. Trying to avoid manual configuration for every hospital.
It was impossible. They were faced with:
- Data not in the segments it was supposed to be in
- Unsupported segments, different for each hospital
- Non conforming HL7 messages
- Use of Z segments for data that belonged in other segments ???
- Worst case scenarios where segments were “made up” by the hospital
- XML structures that the hospital understood as HL7 but no other system did
Every hospital is different and every hospital maps their data to HL7 messages in different ways. Sometimes you can’t even rely on different departments within the same hospital to do things the same way.
I’ve worked on many projects that loaded HL7 messages into FHIR. The solution was ALWAYS the same.
You build a configuration step into your conversion process. This configuration step maps the HL7 message to an interim data structure and from that data structure to FHIR.
A manual step for each hospital or data source. No automation.
If someone is selling you an out-of-the-box HL7 to FHIR convertor, they’re selling you snake oil. The devil — and the work — is in the configuration.
The last time I wrote about this the comments were filled with companies saying “We do that! Come check out our product.”
In all cases their “solution” still required that manual configuration step for each hospital — that little step where all the work lies.
No magic bullet. No simple solution.
A human (you) still has to understand the data structure of each individual hospital and map that structure to what would become FHIR.
There’s a reason FHIR exists. It tries to fix a very real problem.
[Caveat: Yes, I know that FHIR is HL7, and yes I’m referring to HL7 v2. 🙂]
---