Guide d'implémentation du GT Standards et Interopérabilité pour les EDS
0.1.0 - ci-build
Guide d'implémentation du GT Standards et Interopérabilité pour les EDS - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Official URL: https://interop.esante.gouv.fr/ig/fhir/eds/StructureMap/SimpleObservation | Version: 0.1.0 | |||
Draft as of 2024-11-23 | Computable Name: SimpleObservation |
Mapping simple Observation laboratory resources to Measurement OMOP Domain
Generated Narrative: StructureMap SimpleObservation
map "https://interop.esante.gouv.fr/ig/fhir/eds/StructureMap/SimpleObservation" = "SimpleObservation" // Mapping simple Observation laboratory resources to Measurement OMOP Domain uses "https://interop.esante.gouv.fr/ig/fhir/eds/StructureDefinition/EDSObservationLaboratoryGeneric" alias LabObs as source uses "https://interop.esante.gouv.fr/ig/fhir/eds/StructureDefinition/OMOPMeasurement" alias MeasurementTable as target group SimpleObservation(source src : LabObs, target tgt : MeasurementTable) { src.subject as srcSubject -> tgt.person_id = srcSubject "setSubject"; // reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver la bonne OMOPPerson src.code as srcCode -> tgt.measurement_concept_id = create('Reference') as tgtReference then { srcCode.coding as srcCoding -> translate(srcCoding, 'https://interop.esante.gouv.fr/ig/fhir/eds/ConceptMap/LabAnalyses', 'code') as measurementCode, tgtReference.reference = append('Concept/', measurementCode) "setMeasurementConcept"; } "createMeasurementConcept"; src.effective : dateTime as srcDateTime then { srcDateTime -> tgt.measurement_datetime = srcDateTime "setDateTime"; srcDateTime -> tgt.measurement_date = (%srcDateTime.toString().substring(0, 10)) "setDateNotTime"; } "SetDate"; src.value : Quantity as srcValueQuantity then { srcValueQuantity.value as srcResultValue -> tgt.value_as_number = srcResultValue "setResultValue"; srcValueQuantity -> tgt.operator_concept_id = create('Reference') as tgtReference then { srcValueQuantity.comparator as srcValueComparator -> translate(srcValueComparator, 'https://interop.esante.gouv.fr/ig/fhir/eds/ConceptMap/LabComparator', 'code') as comparatorCode, tgtReference.reference = append('Concept/', comparatorCode) "setComparatorConcept"; } "createComparatorConcept"; srcValueQuantity -> tgt.unit_concept_id = create('Reference') as tgtReference then { srcValueQuantity.code as srcValueCode -> translate(srcValueCode, 'https://interop.esante.gouv.fr/ig/fhir/eds/ConceptMap/LabUnit', 'code') as unitCode, tgtReference.reference = append('Concept/', unitCode) "createUnitConcept"; } "setUnitConcept"; srcValueQuantity.code as srcValueCode -> tgt.unit_source_value = srcValueCode "setUnitSourceValue"; } "SetValue"; src.referenceRange as srcRange then { srcRange.low as srcRangeLow then { srcRangeLow.value as srcRangeLowValue -> tgt.range_low = srcRangeLowValue "setRangeLow1"; } "setRangeLow0"; srcRange.high as srcRangeHigh then { srcRangeHigh.value as srcRangeHighValue -> tgt.range_high = srcRangeHighValue "setRangeHigh1"; } "setRangeHigh0"; } "setRange"; src.performer as srcPerformer -> tgt.provider_id = srcPerformer "setPerformer"; // reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver le bon OMOPProvider }