FHIR Chat · Get/update all the resources from FHIR source · analytics on FHIR

Stream: analytics on FHIR

Topic: Get/update all the resources from FHIR source


view this post on Zulip Vasyl Herman (Jan 16 2021 at 11:08):

Hi. We are going to have a scheduled backend worker that gets all FHIR Patient resources from a FHIR API R4 source or updates that data if there is some updates and stores the data locally (S3). We need that data for Clinical Quality Measures done by cql-execution (JS library). I apprisiate any help to get an idea how to imlement the first part (get/update FHIR resources and store locally). Is there any available tools for that? Thanks!

view this post on Zulip Iryna Roy (Jan 21 2021 at 03:54):

Is it about Subscription to updates of resources? FHIR Server implementations support it. If you have your own, you may need to implement it - unless I misunderstood the question.

view this post on Zulip Vasyl Herman (Jan 21 2021 at 09:28):

Hi, @Iryna Roy
Well I didn't know that FHIR supports "Subscription to updates of resources". Thanks, it can be helpful for our research :)

Let me try to explain what we are trying to do:
Our goal is to run CQL against a FHIR Data Source using cql-exec-fhir and cql-execution (JS libraries). The FHIR Data Source expects each patient to be represented as a single FHIR Bundle containing all of the patient's relevant data. First of all we need to export data from FHIR APIs and store it I believe localy as .json files. Existing FHIR APIs work well for accessing small amounts of data, but large exports can require hundreds of thousands of requests. There is standardized, FHIR based approach for exporting bulk data from a FHIR server usign another JS library called fhir-downloader. Using fhir-downloader you can perform Patient-level export or System-level export as .ndjson files. Here you go. We have all Patient's relevant data stored localy as ndjson files. Next step is to convert ndjson files to FHIR Bundle. At this point it is a question on how to convert. Finally we can run CQL

view this post on Zulip Iryna Roy (Jan 21 2021 at 18:56):

@Vasyl Herman Can you store data in FHIR Server instead of json files and run CQL against data in the server? http://build.fhir.org/ig/cqframework/payerextract/implementation-documentation.html I am honestly just a high-level CQL aware, there are some interesting works related to the use of Subscriptions and CQL execution but it is not through the use of the libraries you mentioned.

view this post on Zulip Iryna Roy (Jan 21 2021 at 19:20):

Next release of HAPI FHIR promisses something related to CQL https://www.smilecdr.com/quarterly-product-release-webinar-reminder

view this post on Zulip Vasyl Herman (Jan 21 2021 at 19:50):

Iryna Roy said:

Vasyl Herman Can you store data in FHIR Server instead of json files and run CQL against data in the server?

It would be awesome. At this point I am not aware of any other ways for performing health quality measures. Looks like the mentieoned document promises exactly what I need.
So, an analyst would pass in a clq file an get the result.

view this post on Zulip Bryn Rhodes (Jan 24 2021 at 19:28):

@Vasyl Herman , yes, there is a java-based CQL engine that can be plugged in to the HAPI FHIR server via the CQF Ruler extension, that is what we use in the Clinical Reasoning track of the connectathon to run quality measures. The same components are also used to support file-based CQL/FHIR evaluation in the Atom CQL Plugin, and have also been used as part of a Spark pipeline.

view this post on Zulip Vasyl Herman (Jan 24 2021 at 19:55):

@Bryn Rhodes Thank you for valuable information! Have you ever used AWS Glue to work with FHIR Bulk data? Or other services/tools available for processing/analizing Bulk?

view this post on Zulip Bryn Rhodes (Jan 24 2021 at 19:56):

I haven't, but maybe @Jonathan Percival, any thoughts on AWS Glue?

view this post on Zulip Vasyl Herman (Jan 24 2021 at 20:01):

I am wondering how you guys export data from HAPI FHIR and if it possible to run CQL against that dataset localy. Fhir Bulk data access is one of the way of exporting. Or you export Patient by Patient using API requests?

view this post on Zulip Vasyl Herman (Jan 24 2021 at 20:05):

@Bryn Rhodes
Btw, you are saying about file-based CQL/FHIR evaluation. What is the input data? .ndjson files ot Patient bundles?

view this post on Zulip Bryn Rhodes (Jan 24 2021 at 20:45):

Currently it can be individual files or bundles, but expanding it to ndjson would be straightforward.

view this post on Zulip Bryn Rhodes (Jan 24 2021 at 20:46):

The Java-based CQL engine has a data access interface, and when it's running in the HAPI server, the implementation for that interface uses the JPA layer.

view this post on Zulip JP (Jan 25 2021 at 19:47):

I actually haven't messed with Glue so I can't say how to it compares to other ETL tools or if works well with FHIR.


Last updated: Apr 12 2022 at 19:14 UTC