FHIR to OMOP FHIR IG, published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-omop-ig/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/uv/omop/StructureMap/SimpleVitalSignsMap | Version: 1.0.0 | ||||
| Standards status: Informative Draft as of 2026-04-02 | Maturity Level: 1 | Computable Name: SimpleVitalSignsMap | |||
This mapping maps simple FHIR Vital Signs instances that are considered measurements to OMOP Measurement Table objects.
Language: en
/// url = 'http://hl7.org/fhir/uv/omop/StructureMap/SimpleVitalSignsMap' /// name = 'SimpleVitalSignsMap' /// title = 'Mapping Vital Ssigns resource to Measurement OMOP Domain' /// status = 'draft' uses "http://hl7.org/fhir/StructureDefinition/vitalsigns" alias VitalSigns as source uses "http://hl7.org/fhir/uv/omop/StructureDefinition/Measurement" alias MeasureTable as target group Measures(source src : VitalSigns, target tgt : MeasureTable) { src where ('vital-signs').supersetOf(VitalSigns.category.coding.code) then { src.code as s -> tgt then { s.coding as sc -> tgt then { sc.system where ('http://loinc.org') then { sc.code as a where ((a in ('85354-9' | '8480-6' | '8462-4' | '8478-0')).not()) -> tgt.measurement_type_concept_id = translate(a, 'http://hl7.org/fhir/uv/omop/ConceptMap/VitalSignsCodes', 'code') then { sc.display as display -> tgt.measurement_concept_id = display; src.effective : dateTime as edt -> tgt.measurement_datetime = edt, tgt.measurement_date = cast(edt, 'date'); src.effective : Period as s -> tgt then { s.start as eps -> tgt.measurement_datetime = cast(eps, 'dateTime'), tgt.measurement_date = cast(eps, 'date'); }; src.issued as s where (src.issued.toDate != src.effectiveDateTime) -> tgt.measurement_source_value = cast(s, 'string'); src.value : Quantity as s -> tgt then { s.value as a -> tgt.value_as_number = a; s.unit as b -> tgt.unit_concept_id = b; }; src.value : CodeableConcept as s -> tgt then { s.coding as sc -> tgt then { sc.code as code -> tgt.value_as_concept_id = code; }; }; src.value : string as b -> tgt.value_source_value = b; src.interpretation as c -> tgt.value_as_concept_id = c; src.note as d -> tgt.measurement_source_value = d; }; }; }; }; } "OnlyMeasures"; }