Bulk FHIR Overview
Overview
Bulk FHIR ingests happen asynchronously, where we trigger an export request and then poll a status URL until the job completes. Once its completed, FHIR resources are fetched and uploaded to GCS, to then be processed by FHIR Store.
Some key aspects we need to be aware of within the realm of bulk FHIR exports are:
- Authentication
- Our ingests largely rely on custom classes based off of dlt
- most common are client id, client secret and client_id private_key ones
- we can customize new ones if needed
- Our ingests largely rely on custom classes based off of dlt
- Status fetching
- Some API's do not retrieve completion marks (X% Processed), so we just wait and give some retries.
- Future improvement could be to kill retrieve task instantly if isn't processed.
-
Checkpointing and multithreading
- All ingests - status urls
- Optional - resource urls
-
parameters > IMPORTANT: CHECK WHICH PARAMETERS ARE VALID FOR EACH EHR PROVIDER BEFORE IMPLEMENTING
_since- usually using the formatYYYY-MM-DDTHH:mm:ssNote : Not all EHR providers support it.
| EHR PROVIDER | Support email(s) | DOC PAGE | COMMENTS |
|---|---|---|---|
| Athena | Athena Doc | Supports appointments and _since, robust API. Ingests take really fast in comparison to other EHR providers | |
| Eclinicalworks | fhirfighters@eclinicalworks.com | Eclinicalworks Doc | Exports run overnight. Our experience was that it takes extremely slow to process backfills, and cancelling exports is unreliable on their end, so the job keeps running. |
| ModMed | support@modmed.com | ModMed Doc | No special remarks on this one, backfills take long to process. |
| PracticeFusion | help@practicefusion.com | PracticeFusion Doc | Backfill takes a while, supports _since even though documentation doesn't display it |
| Relimed | chopper@relimedsolutions.com, rkasula@relimedsolutions.com | Relimed Doc | Custom endpoints, may need extra config |
| EyeMD | Jayneen.Lemus@eyemdemr.com | EyeMD Doc | Eye care specific resources |
| Veradigm | VeradigmConnect@veradigm.com | Veradigm Doc | No active integration yet on this one, their API seems to be very problematic |
| Epic | Epic Doc | No active integration yet on this one. |