OMOP Odyssey - FHIR® to OMOP ETL (Calypso’s Island)
Welcome to Calypso’s Island. Here, we’re diving deep into the heart of the OMOP Odyssey: the ETL (Extract, Transform, Load) process. We’re taking clinical data in FHIR format and transforming it into the analytical-ready OMOP Common Data Model.
The Source: Synthea & InterSystems FHIR
We’re using a fork of Synthea to generate realistic synthetic patient data, which is then loaded into our InterSystems FHIR Server.

The ETL Pipeline
The InterSystems OMOP Cloud Service handles the heavy lifting of the transformation. It extracts the FHIR resources, applies the necessary mappings, and loads them into our target OMOP CDM.
.png)
Filtering and Privacy
Even though OMOP is designed for pseudo-anonymization, some organizations need stricter controls. The service provides robust filtering options to exclude specific tables or fields from the transformation.
.png)
Terminology Mapping
A critical part of any OMOP ETL is the terminology mapping. You can extend the standard OMOP vocabularies by uploading custom CSVs to your deployment’s S3 bucket.
.png)
Large Scale Loading
Let’s put the service to the test. We’re simulating a run across all US states with a randomized population of 100-200 patients per state. The service handles this with impressive speed, even on a trial spec.
.png)
Verifying the Data in RStudio
Now, back to the OHDSI world. We can use RStudio to peak at our newly transformed data and ensure everything is where it should be.
.png)
This OMOP CDM is now a fully operational Death Star of analytical power! The journey through Calypso’s Island is complete.
.png)
Stay tuned for the next stage of the OMOP Odyssey.