Stream: implementers
Topic: Relational data to FHIR
Florian Strieg (Nov 20 2020 at 10:54):
Hello all,
we are currently working on a research project for a clinic in which data should be transferred to a FHIR server.
As we are relatively new to the FHIR community we started by setting up a HAPI FHIR server which went reasonably well with the existing information we could find. The data to be transformed is stored in a SQL database within the clinical information system.
Now I'm trying to find ways to map and convert from the given relational data to FHIR resources. I started out by using Pentaho Kettle as an ETL tool, but I find it quite tedious, static, and not really fit for the task. I'm a bit confused about how little information I could find about this process and hit a bit of a dead-end. Maybe I'm looking for the wrong stuff.
So I guess my question is, are there any best practices, tutorials, or experiences you could share on how to initially transform relational data into FHIR resources? Or is it all custom written implementations nobody wants to talk about?
I stumbled across https://github.com/arkhn/pyrog which looks quite promising but I'm not sure at which stage the development is.
I hope you can give me some advice or direction to look into.
Thanks in advance
Lloyd McKenzie (Nov 20 2020 at 13:11):
I expect the general belief is that there's nothing terribly FHIR-specific about this. A layer like Hybernate to convert between your particular relational structure to the data model would commonly be used. Exactly what the mapping looks like will vary widely - because legacy persistance models vary widely. You might find some useful guidance on these two streams (though I can't promise it because I don't follow either of them :>) #storage for FHIR #mapping-framework
Kevin Mayfield (Nov 21 2020 at 06:47):
So you need to transfer the data to a research database (you can’t keep it where it is already?)
If you can keep it where it is, I’ve gone for a mix of hapi and hibernate. Here I’d coded the persistence layer.
I’ve also used ETL to hapi but only did this for terminology resources.
I’ve also streamed data in from hl7v2 messages. These are converted to transaction bundles and these are sent to hapi jpa.
Florian Strieg (Nov 23 2020 at 09:25):
Hey, thanks for your replies!
I also tried the facade approach at one time but the problem is that I can't write to the given database. That's why I'm trying to transfer it to a dedicated HAPI instance, so I can theoretically combine multiple sources at a later time. So I guess the answer is to write a custom service layer to convert the resources. You all work in Java, right? I was hoping that I can use NodeJS.
Last updated: Apr 12 2022 at 19:14 UTC