Data Management with FHIR
0.1.0 - ci-build France (la) flag

Data Management with FHIR - version de développement local (intégration continue v0.1.0) construite par les outils de publication FHIR (HL7® FHIR® Standard). Voir le répertoire des versions publiées

: Mapping simple Observation laboratory resources to Measurement OMOP Domain - TTL Representation

Draft as of 2026-07-11

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://hl7.org/fhir/StructureMap/CoreSimpleObservation2OMOPMeasurement> a fhir:StructureMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "CoreSimpleObservation2OMOPMeasurement"] ;
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "generated" ] ;
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Narratif généré : StructureMap CoreSimpleObservation2OMOPMeasurement</b></p><a name=\"CoreSimpleObservation2OMOPMeasurement\"> </a><a name=\"hcCoreSimpleObservation2OMOPMeasurement\"> </a><pre class=\"fml\">#xD;\n<b>map</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreSimpleObservation2OMOPMeasurement<span style=\"color: navy\">\" = \"</span>CoreSimpleObservation2OMOPMeasurement<span style=\"color: navy\">\"#xD;\n#xD;\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Mapping simple Observation laboratory resources to Measurement OMOP Domain</span>#xD;\n#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">\" </span><b>alias </b>LabObs <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPMeasurement<span style=\"color: navy\">\" </span><b>alias </b>MeasurementTable <b>as </b><b>target</b>#xD;\n#xD;\n<b>group </b>SimpleObservation<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>LabObs, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>MeasurementTable<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  src.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.person_id = <span style=\"color: maroon\">srcSubject</span> <i>\"setSubject\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver la bonne OMOPPerson</span>#xD;\n  src.code<b> as </b><span style=\"color: maroon\">srcCode</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.measurement_concept_id = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtReference</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcCode.coding<b> as </b><span style=\"color: maroon\">srcCoding</span><span style=\"color: navy\"><b> -&gt; </b></span> <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">srcCoding</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabAnalyses'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">measurementCode</span><span style=\"color: navy\">, </span> tgtReference.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Concept/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">measurementCode</span><span style=\"color: navy\">)</span> <i>\"setMeasurementConcept\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"createMeasurementConcept\"</i><span style=\"color: navy\">;</span>#xD;\n  src.effective<span style=\"color: navy\"> : </span>dateTime<b> as </b><span style=\"color: maroon\">srcDateTime</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcDateTime<span style=\"color: navy\"><b> -&gt; </b></span>tgt.measurement_datetime = <span style=\"color: maroon\">srcDateTime</span> <i>\"setDateTime\"</i><span style=\"color: navy\">;</span>#xD;\n    srcDateTime<span style=\"color: navy\"><b> -&gt; </b></span>tgt.measurement_date = <span style=\"color: navy\">(</span>%srcDateTime.toString().substring(0, 10)<span style=\"color: navy\">)</span> <i>\"setDateNotTime\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"SetDate\"</i><span style=\"color: navy\">;</span>#xD;\n  src.value<span style=\"color: navy\"> : </span>Quantity<b> as </b><span style=\"color: maroon\">srcValueQuantity</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcValueQuantity.value<b> as </b><span style=\"color: maroon\">srcResultValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.value_as_number = <span style=\"color: maroon\">srcResultValue</span> <i>\"setResultValue\"</i><span style=\"color: navy\">;</span>#xD;\n    srcValueQuantity<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operator_concept_id = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtReference</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcValueQuantity.comparator<b> as </b><span style=\"color: maroon\">srcValueComparator</span><span style=\"color: navy\"><b> -&gt; </b></span> <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">srcValueComparator</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabComparator'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">comparatorCode</span><span style=\"color: navy\">, </span> tgtReference.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Concept/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">comparatorCode</span><span style=\"color: navy\">)</span> <i>\"setComparatorConcept\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"createComparatorConcept\"</i><span style=\"color: navy\">;</span>#xD;\n    srcValueQuantity<span style=\"color: navy\"><b> -&gt; </b></span>tgt.unit_concept_id = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Reference'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtReference</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcValueQuantity.code<b> as </b><span style=\"color: maroon\">srcValueCode</span><span style=\"color: navy\"><b> -&gt; </b></span> <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">srcValueCode</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabUnit'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">unitCode</span><span style=\"color: navy\">, </span> tgtReference.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Concept/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">unitCode</span><span style=\"color: navy\">)</span> <i>\"createUnitConcept\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"setUnitConcept\"</i><span style=\"color: navy\">;</span>#xD;\n    srcValueQuantity.code<b> as </b><span style=\"color: maroon\">srcValueCode</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.unit_source_value = <span style=\"color: maroon\">srcValueCode</span> <i>\"setUnitSourceValue\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"SetValue\"</i><span style=\"color: navy\">;</span>#xD;\n  src.referenceRange<b> as </b><span style=\"color: maroon\">srcRange</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcRange.low<b> as </b><span style=\"color: maroon\">srcRangeLow</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcRangeLow.value<b> as </b><span style=\"color: maroon\">srcRangeLowValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.range_low = <span style=\"color: maroon\">srcRangeLowValue</span> <i>\"setRangeLow1\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"setRangeLow0\"</i><span style=\"color: navy\">;</span>#xD;\n    srcRange.high<b> as </b><span style=\"color: maroon\">srcRangeHigh</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcRangeHigh.value<b> as </b><span style=\"color: maroon\">srcRangeHighValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.range_high = <span style=\"color: maroon\">srcRangeHighValue</span> <i>\"setRangeHigh1\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"setRangeHigh0\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setRange\"</i><span style=\"color: navy\">;</span>#xD;\n  src.performer<b> as </b><span style=\"color: maroon\">srcPerformer</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.provider_id = <span style=\"color: maroon\">srcPerformer</span> <i>\"setPerformer\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver le bon OMOPProvider</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span></pre></div>"
  ] ;
  fhir:StructureMap.url [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureMap/CoreSimpleObservation2OMOPMeasurement"] ;
  fhir:StructureMap.version [ fhir:value "0.1.0"] ;
  fhir:StructureMap.name [ fhir:value "CoreSimpleObservation2OMOPMeasurement"] ;
  fhir:StructureMap.title [ fhir:value "Mapping simple Observation laboratory resources to Measurement OMOP Domain"] ;
  fhir:StructureMap.status [ fhir:value "draft"] ;
  fhir:StructureMap.date [ fhir:value "2026-07-11T15:40:47+00:00"^^xsd:dateTime] ;
  fhir:StructureMap.publisher [ fhir:value "AP-HP"] ;
  fhir:StructureMap.contact [
     fhir:index 0 ;
     fhir:ContactDetail.name [ fhir:value "AP-HP" ] ;
     fhir:ContactDetail.telecom [
       fhir:index 0 ;
       fhir:ContactPoint.system [ fhir:value "url" ] ;
       fhir:ContactPoint.value [ fhir:value "https://aphp.fr" ]
     ]
  ] ;
  fhir:StructureMap.description [ fhir:value "Mapping simple Observation laboratory resources to Measurement OMOP Domain"] ;
  fhir:StructureMap.jurisdiction [
     fhir:index 0 ;
     fhir:CodeableConcept.coding [
       fhir:index 0 ;
       fhir:Coding.system [ fhir:value "urn:iso:std:iso:3166" ] ;
       fhir:Coding.code [ fhir:value "FR" ]
     ]
  ] ;
  fhir:StructureMap.structure [
     fhir:index 0 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Observation" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Observation>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "LabObs" ]
  ], [
     fhir:index 1 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPMeasurement" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/OMOPMeasurement>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "MeasurementTable" ]
  ] ;
  fhir:StructureMap.group [
     fhir:index 0 ;
     fhir:StructureMap.group.name [ fhir:value "SimpleObservation" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "src" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "LabObs" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgt" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "MeasurementTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSubject" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "subject" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcSubject" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "person_id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcSubject" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver la bonne OMOPPerson" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "createMeasurementConcept" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcCode" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "measurement_concept_id" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtReference" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "create" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Reference" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setMeasurementConcept" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcCode" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "coding" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcCoding" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "measurementCode" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "translate" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcCoding" ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabAnalyses" ]
           ], [
             fhir:index 2 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "code" ]
           ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtReference" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "reference" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "append" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Concept/" ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "measurementCode" ]
           ]
         ]
       ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "SetDate" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.type [ fhir:value "dateTime" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "effective" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcDateTime" ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setDateTime" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcDateTime" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "measurement_datetime" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcDateTime" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setDateNotTime" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcDateTime" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "measurement_date" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "evaluate" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "%srcDateTime.toString().substring(0, 10)" ]
           ]
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "SetValue" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.type [ fhir:value "Quantity" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "value" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcValueQuantity" ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setResultValue" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "value" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcResultValue" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "value_as_number" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcResultValue" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "createComparatorConcept" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "operator_concept_id" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtReference" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "create" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Reference" ]
           ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setComparatorConcept" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "comparator" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcValueComparator" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "comparatorCode" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "translate" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcValueComparator" ]
             ], [
               fhir:index 1 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabComparator" ]
             ], [
               fhir:index 2 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "code" ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtReference" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "reference" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "append" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Concept/" ]
             ], [
               fhir:index 1 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "comparatorCode" ]
             ]
           ]
         ]
       ], [
         fhir:index 2 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setUnitConcept" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "unit_concept_id" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtReference" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "create" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Reference" ]
           ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "createUnitConcept" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "code" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcValueCode" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "unitCode" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "translate" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcValueCode" ]
             ], [
               fhir:index 1 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/ConceptMap/LabUnit" ]
             ], [
               fhir:index 2 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "code" ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtReference" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "reference" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "append" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Concept/" ]
             ], [
               fhir:index 1 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "unitCode" ]
             ]
           ]
         ]
       ], [
         fhir:index 3 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setUnitSourceValue" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcValueQuantity" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "code" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcValueCode" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "unit_source_value" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcValueCode" ]
           ]
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setRange" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "referenceRange" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcRange" ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setRangeLow0" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcRange" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "low" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcRangeLow" ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setRangeLow1" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcRangeLow" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "value" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcRangeLowValue" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "range_low" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcRangeLowValue" ]
             ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setRangeHigh0" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcRange" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "high" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcRangeHigh" ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setRangeHigh1" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcRangeHigh" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "value" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcRangeHighValue" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "range_high" ] ;
             fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
             fhir:StructureMap.group.rule.target.parameter [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcRangeHighValue" ]
             ]
           ]
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setPerformer" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "src" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "performer" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPerformer" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgt" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "provider_id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "srcPerformer" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "reference impropre dans le monde OMOP mais permet d'illustrer l'information qui doit être utilisée pour retrouver le bon OMOPProvider" ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://hl7.org/fhir/StructureMap/CoreSimpleObservation2OMOPMeasurement.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl ;
  owl:versionIRI <http://build.fhir.org/StructureMap/CoreSimpleObservation2OMOPMeasurement.ttl> .