OHDSI Home | Forums | Wiki | Github

Mapping OMOP CDM to FHIR

Has anyone mapped OMOP CDM to FHIR? If so, where can I find the mapping?

If not, is there any interest in creating this mapping as a way to simplify integration with EHRs, since most EHRs have FHIR interfaces.



Hi Nsikak!

There’s a lot going on related to the OMOP CDM and FHIR. @jon_duke leads the FHIR working group. The Wiki page can be found here: http://www.ohdsi.org/web/wiki/doku.php?id=projects:workgroups:fhir-wg.

There’s also this great resource from Georgia Tech: http://omoponfhir.org/


You are too kind @krfeeney! @Guoqian_Jiang is primary lead on the FHIR WG, but yes the community is doing some cool stuff!

Our OMOP to FHIR mappings can be largely found here in our OMOP on FHIR github repo. Props to @myungchoi and @MikeRileyGTRI for building this awesome resource.

Feedback is welcome!


Recently, HL7 published a mapping between OMOP and FHIR, published here: http://build.fhir.org/ig/HL7/cdmh/profiles.html#omop-to-fhir-mappings
Probably nothing that hasn’t been covered before, but is is a nice public resource in the FHIR documentation itself.


This is good to hear that HL7 included OMOP in their mapping efforts. @MaximMoinat, by any chance, do you know who is in charge of this IG? It seems like this is not created in the FHIR Connectathon community. I can’t find the group.

The Common Data Model Harmonization (CDMH) project is led by FDA in collaboration with NIH and HHS/Office of the National Coordinator for Health Information Technology (ONC). The goal of this project is to harmonize 4 CDMs (Sentinel, OMOP, i2b2/ACT and PCORnet) and be able to leverage open, consensus-based standards (e.g. HL7 FHIR and Clinical Data Interchange Standards Consortium (CDISC) standards). In this project, we leveraged the Biomedical Research Integrated Domain Group (BRIDG) as the intermediary model and mapped the 4 CDMs to the BRIDG model.

The CDMH data elements have been registered at National Cancer Institute (NCI) Cancer Data Standards Registry and Repository (caDSR) and available at:

caDSR: https://cdebrowser.nci.nih.gov/cdebrowserClient/cdeBrowser.html#/search?programArea=0&contextId=6CB969CC-DD4B-1016-E053-F662850A40C7&classificationSchemeId=339F8634-199C-3A8A-E050-BB89AD431025

NIH CDE Repository: https://cde.nlm.nih.gov/cde/search?selectedOrg=NCI&classification=PCORTF%20CDMH;OMOP%204.0


Hello everybody.

I have an interest in being able to import FHIR R4 into a OMOP CDM database. I am looking around for activity on this topic since last year, but I can’t find much. However, I see that there is new code being written over here (https://github.com/omoponfhir) to support FHIR R4.

I have a couple of questions:

  1. Is the FHIR working group still meeting?
  2. I can’t figure out in the omoponfhir project how to send it FHIR documents. There seems to be an API entry point for reading FHIR from OMOP, but not the other way round. Am I missing something?

Thank you in advance,


1 Like

I’m pretty much in the exact same boat. Interested in the aswers

Hi, Sam. I am the omoponfhir author. We do have R4 to OMOPv5, currently in testing phase, and we are in the process of using SqlRender (being away from JPA to support Google Big Query and Redshift). New project will begin around the beginner of next year. So, some time next year, we will be having R4 to OMOPv5 bidirectional.

Currently, JPA can be used for R4 to OMOPv4 and vice versa. We are supporting both direction. You can write to OMOP via FHIR API using FHIR resources. We may have Bundle write transaction operation next year. But, currently, we only support limited message operation (writing bundle message type).

Hope this answers your question.

Thank you so much Myung Choi.

My pet project is to change ETL-Synthea to load FHIR bundles instead of the CSV files. I will be in touch in the future.


We have recently completed some work related to converting FHIR to OMOP CDM V5.3.1. This work was completed for an internal project where requires the code not be shared due to some IP restrictions related to the source data, however we can potentially refactor the relevant code out for the FHIR specific pieces. I would suggest not necessarily changing ETL-Synthea from loading CSV, but fully support adding the ability to ETL from the FHIR files generated by Synthea.


Are you creating or using a new code base separate from the omoponfhir work here (https://github.com/omoponfhir), or are you building upon it?


Friends: Please come to the FHIR-OMOP kick-off meeting on Wednesday.

Hi everyone: Please join us at the FHIR-OMOP WG all-hands meeting (8th Dec @ 10 ET). Subgroups will provide updates on what they have been working and plans for 2022. You can register here

Hello all!

I was hoping to find an updated mapping table on OMOP to FHIR.

I was looking through this excellent table found here: HL7.FHIR.US.CDMH\Detailed Specification - FHIR v4.0.1 (previously posted by @MaximMoinat) but noticed that it is not as inclusive as I would like.

For instance, the FHIR data element “patient.maritalStatus” does not appear to be mapped to OMOP OBSERVATION table as would be expected).

Any additional resources would be greatly appreciated!

Is there a table similar to this one that has additional FHIR bundle data elements?


Do you want to come to the OHDSI Symposium? On Saturday the 15th of October, we will have a whole day of Workshops (in green) on exactly that problem: How do we bridge the various gaps between FHIR and OMOP? There is a structural mapping problem (where do things come from and what resource do they go in) and a semantic problem (what are the coding systems, and how do we translate from one to another).

1 Like

Thank you @Christian_Reich! I will try to attend!

Hi myungchoi,
I’m exploring the project you are referring to, but I would like to know if documentation exists (e.g. excel files, pdf or something else) that explains the mapping choices implemented in the code. For example I discovered (by analyzing the code) the FHIR AllergyIntollerance is mapped to OMOP observation, but to catch all the mapping choices by exploring the codes it could be quite difficult.