Use OMOP transformations in healthcare data solutions
Note
This content is currently being updated.
The OMOP transformations capability in healthcare data solutions prepares data for standardized analytics through Observational Medical Outcomes Partnership (OMOP) open community standards. To learn more about the capability and understand how to deploy and configure it, see:
OMOP transformations is an optional capability with healthcare data solutions in Microsoft Fabric.
Prerequisites
Before you run the OMOP transformations pipeline, make sure you complete the following steps:
- Install the foundational notebooks and pipelines in Deploy healthcare data foundations.
- Deploy and configure OMOP transformations
OMOP ingestion service
When you run the OMOP ingestion service data pipeline, it creates delta table outputs that you can view using SQL endpoints.
OMOP CDM delta table outputs
This section describes the OMOP common data model (CDM) delta table outputs that you can expect from running the service.
The service transforms both the flattened Fast Healthcare Interoperability Resources (FHIR) data and the FHIR DocumentReference (unstructured clinical notes) extraction persisted in the silver lakehouse. The transformed data is written as OMOP delta tables to Azure Data Lake.
The optional Text Analytics for health service supports extracting the natural language processing (NLP) output from the DocumentReference content to map to the OMOP NOTE_NLP table. For more information about this service, see Unstructured clinical notes enrichment: OMOP transformation.
The service transforms reference data from FHIR code system, codes, and codeable concepts to OMOP concepts using the OMOP vocabulary tables.
Storing OMOP data in the open delta format maintains update history, enables time travel, and provides query performance on filtering by retrieving the most recent
last_updated_date
on a record.
Sample query
You can run the following sample query to view all the updates made to the selected person_id
. The query should retrieve the top 10 rows (or lesser) from the Person table that was updated over a period. Adjust the query as per the name of the gold omop_database_name
in your environment. Also remember to replace or update the person.id
parameter with a valid value available in the dataset transformed from silver to gold.
SELECT TOP (10) * FROM [gold_omop].[dbo].[person]
Where [person].[id] = 'de259065a2ff4d5a87b764abf33408bd1b2c8c50'
FHIR to OMOP mapping
The initial FHIR to OMOP mappings are based on the HL7 International guidance as follows:
FHIR Domain Resource | OMOP Table | Notes |
---|---|---|
patient | PERSON | |
Organization | CARE_SITE | |
condition | CONDITION_OCCURRENCE | |
Patient | DEATH | If patient.deceased is populated |
Procedure | DEVICE_EXPOSURE | If procedure.focaldevice isn't null |
Medicationrequest | DRUG_EXPOSURE | |
address | LOCATION | patient.address and organization.address |
Observation | MEASUREMENT | If observation.category is laboratory |
Documentreference | NOTE | |
Documentreference | NOTE_NLP | The Text Analytics for health output from documentreference unstructured note |
Observation | OBSERVATION | If observation.category isn't laboratory |
Procedure | PROCEDURE_OCCURRENCE | If procedure.focaldevice is null |
Practitioner | PROVIDER | |
Encounter | VISIT_OCCURRENCE |
OMOP community references
- OMOP CDM version 5.4 tables, field definitions, and conventions: OMOP CDM v5.4 (ohdsi.github.io)
- Standard OMOP vocabulary from the Athena dataset: Athena (ohdsi.org)
- Key changes from OMOP version 5.3 to version 5.4: Changes by Table (ohdsi.github.io)