Use OMOP analytics in healthcare data solutions (preview)
[This article is prerelease documentation and is subject to change.]
The OMOP analytics capability in healthcare data solutions (preview) 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 analytics is an optional capability with healthcare data solutions in Microsoft Fabric (preview). But you must set up and run the Healthcare data foundations capability first, because OMOP analytics depends on it.
Prerequisites
Before you execute the OMOP analytics pipeline, make sure you complete the following steps:
- Deploy, configure, and execute the Healthcare data foundations capability. For detailed guidance, review Deploy and configure Healthcare data foundations and Use Healthcare data foundations.
- Configure the OMOP analytics capability as needed. For detailed guidance, see Deploy and configure OMOP analytics.
OMOP ingestion service
When you execute the OMOP ingestion service notebook, 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 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)