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

: Alignement de l''usage Core du modèle physique du DPI vers les ressources FHIR - 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/CorePhysical2FHIR> a fhir:StructureMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "CorePhysical2FHIR"] ;
  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 CorePhysical2FHIR</b></p><a name=\"CorePhysical2FHIR\"> </a><a name=\"hcCorePhysical2FHIR\"> </a><pre class=\"fml\">#xD;\n<b>map</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureMap/CorePhysical2FHIR<span style=\"color: navy\">\" = \"</span>CorePhysical2FHIR<span style=\"color: navy\">\"#xD;\n#xD;\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Alignement de l''usage Core du modèle physique du DPI vers les ressources FHIR</span>#xD;\n#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDataSet<span style=\"color: navy\">\" </span><b>alias </b>DataSet <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CorePatient<span style=\"color: navy\">\" </span><b>alias </b>PatientTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreSejour<span style=\"color: navy\">\" </span><b>alias </b>SejourTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreBiology<span style=\"color: navy\">\" </span><b>alias </b>BiologyTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreClinical<span style=\"color: navy\">\" </span><b>alias </b>ClinicalTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDiag<span style=\"color: navy\">\" </span><b>alias </b>DiagTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreActe<span style=\"color: navy\">\" </span><b>alias </b>ActeTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreAddress<span style=\"color: navy\">\" </span><b>alias </b>AddressTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationAdm<span style=\"color: navy\">\" </span><b>alias </b>MedicationAdmTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span>https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationPre<span style=\"color: navy\">\" </span><b>alias </b>MedicationPreTable <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">\" </span><b>alias </b>FHIRBundle <b>as </b><b>target</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">\" </span><b>alias </b>FHIRPatient <b>as </b><b>target</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/encounter.html\" title=\"Encounter\">http://hl7.org/fhir/StructureDefinition/Encounter</a><span style=\"color: navy\">\" </span><b>alias </b>FHIREncounter <b>as </b><b>target</b>#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>FHIRObservation <b>as </b><b>target</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/datatypes.html#Meta\" title=\"Meta\">http://hl7.org/fhir/StructureDefinition/Meta</a><span style=\"color: navy\">\" </span><b>alias </b>FHIRMeta <b>as </b><b>target</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/procedure.html\" title=\"Procedure\">http://hl7.org/fhir/StructureDefinition/Procedure</a><span style=\"color: navy\">\" </span><b>alias </b>FHIRProcedure <b>as </b><b>target</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"http://hl7.org/fhir/R4/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">\" </span><b>alias </b>FHIRCondition <b>as </b><b>target</b>#xD;\n#xD;\n<b>group </b>dataSet<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcDataSet</span><span style=\"color: navy\"> : </span>DataSet, <b>target</b> <span style=\"color: maroon\">tgtBundle</span><span style=\"color: navy\"> : </span>FHIRBundle<span style=\"color: navy\">)</span><b> &lt;&lt;types&gt;&gt;</b><span style=\"color: navy\"> {#xD;\n</span>  srcDataSet<span style=\"color: navy\"><b> -&gt; </b></span>tgtBundle.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDataSet<span style=\"color: navy\"><b> -&gt; </b></span>tgtBundle.type = <span style=\"color: blue\">'transaction'</span> <i>\"setType\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDataSet.patient<b> as </b><span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtBundle.entry<b> as </b><span style=\"color: maroon\">tgtPatientEntry</span><span style=\"color: navy\">, </span> tgtPatientEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newPatient</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcPatient<b> then </b>patient<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">)</span> <i>\"setPatient\"</i><span style=\"color: navy\">;</span>#xD;\n    srcPatient<b> then </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtPatientEntry</span><span style=\"color: navy\">)</span> <i>\"setRequestAndFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n    srcDataSet.address<b> as </b><span style=\"color: maroon\">srcAddress</span><b> where </b>patientNi.reference = ('PatientCore/' + %srcPatient.patientNi.toString())<b> then </b>patientAddress<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcAddress</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">)</span> <i>\"addPatientAddress\"</i><span style=\"color: navy\">;</span>#xD;\n    srcDataSet.sejour<b> as </b><span style=\"color: maroon\">srcSejour</span><b> where </b>patientNi.reference = ('PatientCore/' + %srcPatient.patientNi.toString())<span style=\"color: navy\"><b> -&gt; </b></span> tgtBundle.entry<b> as </b><span style=\"color: maroon\">tgtEncounterEntry</span><span style=\"color: navy\">, </span> tgtEncounterEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newEncounter</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcSejour<b> then </b>encounter<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcSejour</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">)</span> <i>\"setEncounter\"</i><span style=\"color: navy\">;</span>#xD;\n      srcSejour<b> then </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtEncounterEntry</span><span style=\"color: navy\">)</span> <i>\"setRequestAndFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n      srcDataSet.acte<b> as </b><span style=\"color: maroon\">srcActe</span><b> where </b>sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())<span style=\"color: navy\"><b> -&gt; </b></span> tgtBundle.entry<b> as </b><span style=\"color: maroon\">tgtProcedureEntry</span><span style=\"color: navy\">, </span> tgtProcedureEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Procedure'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newProcedure</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>        srcActe<b> then </b>procedure<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcActe</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newProcedure</span><span style=\"color: navy\">)</span> <i>\"setProcedure\"</i><span style=\"color: navy\">;</span>#xD;\n        srcActe<b> then </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">newProcedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtProcedureEntry</span><span style=\"color: navy\">)</span> <i>\"setRequestAndFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n      <span style=\"color: navy\">}</span> <i>\"createProcedure\"</i><span style=\"color: navy\">;</span>#xD;\n      srcDataSet.diag<b> as </b><span style=\"color: maroon\">srcDiag</span><b> where </b>sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())<span style=\"color: navy\"><b> -&gt; </b></span> tgtBundle.entry<b> as </b><span style=\"color: maroon\">tgtConditionEntry</span><span style=\"color: navy\">, </span> tgtConditionEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Condition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newCondition</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>        srcDiag<b> then </b>condition<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcDiag</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newCondition</span><span style=\"color: navy\">)</span> <i>\"setCondition\"</i><span style=\"color: navy\">;</span>#xD;\n        srcDiag<b> then </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">newCondition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtConditionEntry</span><span style=\"color: navy\">)</span> <i>\"setRequestAndFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n      <span style=\"color: navy\">}</span> <i>\"createProcedure\"</i><span style=\"color: navy\">;</span>#xD;\n      srcDataSet.biology<b> as </b><span style=\"color: maroon\">srcBiology</span><b> where </b>sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())<span style=\"color: navy\"><b> -&gt; </b></span> tgtBundle.entry<b> as </b><span style=\"color: maroon\">tgtBiologyEntry</span><span style=\"color: navy\">, </span> tgtBiologyEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Observation'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newObservation</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>        srcBiology<b> then </b>observationBiol<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcBiology</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newObservation</span><span style=\"color: navy\">)</span> <i>\"setBiology\"</i><span style=\"color: navy\">;</span>#xD;\n        srcBiology<b> then </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><span style=\"color: maroon\">newObservation</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtBiologyEntry</span><span style=\"color: navy\">)</span> <i>\"setRequestAndFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n      <span style=\"color: navy\">}</span> <i>\"createObservation\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"createEncounter\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"createPatient\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>patient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>PatientTable, <b>target</b> <span style=\"color: maroon\">tgtPatient</span><span style=\"color: navy\"> : </span>FHIRPatient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcPatient<span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.patientNi<b> as </b><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.meta<b> as </b><span style=\"color: maroon\">tgtMeta</span><b> then </b>setPatientMeta<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\">)</span> <i>\"setMeta\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">copie la valeur du champ patientNi de la table Patient dans l'élément id de la ressource FHIR Patient</span>#xD;\n  srcPatient<span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.name<b> as </b><span style=\"color: maroon\">tgtPatientName</span><b> then </b>setHumainName<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtPatientName</span><span style=\"color: navy\">)</span> <i>\"setHumainName\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient<span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.identifier<b> as </b><span style=\"color: maroon\">tgtPatientIdentifier</span><b> then </b>setHumainNir<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtPatientIdentifier</span><span style=\"color: navy\">)</span> <i>\"setHumainNir\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.gender<b> as </b><span style=\"color: maroon\">srcPatientGender</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.gender = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">srcPatientGender</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://interop.aphp.fr/ig/fhir/dm/ConceptMap/DpiGender2Hl7Gender'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>\"setGender\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">traduit la valeur du champ gender de la table Patient dans l'élément gender de la ressource FHIR Patient</span>#xD;\n  srcPatient.birthDate<b> as </b><span style=\"color: maroon\">srcPatientBirthDate</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.birthDate = <span style=\"color: maroon\">srcPatientBirthDate</span> <i>\"setBirthDate\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">copie la valeur du champ birthDate de la table Patient dans l'élément birthDate de la ressource FHIR Patient</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setPatientMeta<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcNi</span>, <b>target</b> <span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\"> : </span>FHIRMeta<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcNi<span style=\"color: navy\"><b> -&gt; </b></span>tgtMeta.source = <span style=\"color: navy\">(</span>'https://aphp.fr/fhir/Endpoint/dpi/PatientTable' + '/' + %srcNi.toString()<span style=\"color: navy\">)</span> <i>\"setSource\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setHumainName<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>PatientTable, <b>target</b> <span style=\"color: maroon\">tgtPatientName</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcPatient<span style=\"color: navy\"><b> -&gt; </b></span>tgtPatientName.use = <span style=\"color: blue\">'usual'</span> <i>\"setUse\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: #b36b00\" title=\"Cet élément n'était pas défini avant R5\">// srcPatient -&gt; tgtPatientName.text = (%srcPatient.firstName + ' ' + %srcPatient.name) \"setText\";</span>#xD;\n  <span style=\"color: #b36b00\" title=\"Cet élément n'était pas défini avant R5\">// srcPatient.name as srcPatientName -&gt; tgtPatientName.family = srcPatientName \"setName\";</span>#xD;\n  <span style=\"color: #b36b00\" title=\"Cet élément n'était pas défini avant R5\">// srcPatient.firstName as srcPatientFirstName -&gt; tgtPatientName.given = srcPatientFirstName \"setFirstName\";</span>#xD;\n  <span style=\"color: navy\">// </span><span style=\"color: green\">les trois lignes précédentes marchent dans matchbox mais génèrent une erreur au QA. La solution ci dessous marche dans matchbox et ne génère pas d'erreur au QA.</span>#xD;\n  srcPatient.name<b> as </b><span style=\"color: maroon\">srcPatientName</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtPatientName.family = <span style=\"color: maroon\">srcPatientName</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcPatient.firstName<b> as </b><span style=\"color: maroon\">srcPatientFirstName</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtPatientName.given = <span style=\"color: maroon\">srcPatientFirstName</span><span style=\"color: navy\">, </span> tgtPatientName.text = <span style=\"color: navy\">(</span>%srcPatientFirstName + ' ' + %srcPatientName<span style=\"color: navy\">)</span> <i>\"setFirstNameAndText\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setName\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setHumainNir<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>PatientTable, <b>target</b> <span style=\"color: maroon\">tgtPatientIdentifier</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcPatient.nir<b> as </b><span style=\"color: maroon\">srcPatientNir</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtPatientIdentifier.use = <span style=\"color: blue\">'official'</span><span style=\"color: navy\">, </span> tgtPatientIdentifier.type = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'INS-NIR'</span><span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> tgtPatientIdentifier.system = <span style=\"color: blue\">'urn:oid:1.2.250.1.213.1.4.8'</span><span style=\"color: navy\">, </span> tgtPatientIdentifier.value = <span style=\"color: maroon\">srcPatientNir</span> <i>\"setNir\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>patientAddress<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcAddress</span><span style=\"color: navy\"> : </span>AddressTable, <b>target</b> <span style=\"color: maroon\">tgtPatient</span><span style=\"color: navy\"> : </span>FHIRPatient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcAddress<span style=\"color: navy\"><b> -&gt; </b></span>tgtPatient.address = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Address'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newAddress</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcAddress.zipCode<b> as </b><span style=\"color: maroon\">srczip</span><span style=\"color: navy\"><b> -&gt; </b></span>newAddress.postalCode = <span style=\"color: maroon\">srczip</span> <i>\"setZip\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress.city<b> as </b><span style=\"color: maroon\">srcCity</span><span style=\"color: navy\"><b> -&gt; </b></span>newAddress.city = <span style=\"color: maroon\">srcCity</span> <i>\"setCity\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress.country<b> as </b><span style=\"color: maroon\">srcCountry</span><span style=\"color: navy\"><b> -&gt; </b></span>newAddress.country = <span style=\"color: maroon\">srcCountry</span> <i>\"setCountry\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress.address<b> as </b><span style=\"color: maroon\">srcAddressText</span><span style=\"color: navy\"><b> -&gt; </b></span>newAddress.text = <span style=\"color: maroon\">srcAddressText</span> <i>\"setText\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress<b> where </b>current = true<span style=\"color: navy\"><b> -&gt; </b></span>newAddress.use = <span style=\"color: blue\">'home'</span> <i>\"setUseHome\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress<b> where </b>current = false<span style=\"color: navy\"><b> -&gt; </b></span>newAddress.use = <span style=\"color: blue\">'old'</span> <i>\"setUseOld\"</i><span style=\"color: navy\">;</span>#xD;\n    srcAddress<b> where </b>latitude.exists() or longitude.exists()<span style=\"color: navy\"><b> -&gt; </b></span>newAddress.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">firstLevelExtension</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      srcAddress<span style=\"color: navy\"><b> -&gt; </b></span>firstLevelExtension.url = <span style=\"color: navy\">(</span>'http://hl7.org/fhir/StructureDefinition/geolocation'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>        srcAddress.latitude<b> as </b><span style=\"color: maroon\">srcLat</span><span style=\"color: navy\"><b> -&gt; </b></span>firstLevelExtension.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">latExtension</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>          srcLat<span style=\"color: navy\"><b> -&gt; </b></span> latExtension.url = <span style=\"color: navy\">(</span>'latitude'<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> latExtension.value = <span style=\"color: maroon\">srcLat</span> <i>\"setLat\"</i><span style=\"color: navy\">;</span>#xD;\n        <span style=\"color: navy\">}</span> <i>\"setLatExt\"</i><span style=\"color: navy\">;</span>#xD;\n        srcAddress.longitude<b> as </b><span style=\"color: maroon\">srcLong</span><span style=\"color: navy\"><b> -&gt; </b></span>firstLevelExtension.extension = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Extension'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">longExtension</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>          srcLong<span style=\"color: navy\"><b> -&gt; </b></span> longExtension.url = <span style=\"color: navy\">(</span>'longitude'<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> longExtension.value = <span style=\"color: maroon\">srcLong</span> <i>\"setLong\"</i><span style=\"color: navy\">;</span>#xD;\n        <span style=\"color: navy\">}</span> <i>\"setLongExt\"</i><span style=\"color: navy\">;</span>#xD;\n      <span style=\"color: navy\">}</span> <i>\"setflext\"</i><span style=\"color: navy\">;</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"setCoordinatesExtension\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setAddress\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>encounter<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcSejour</span><span style=\"color: navy\"> : </span>SejourTable, <b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>FHIRPatient, <b>target</b> <span style=\"color: maroon\">tgtEncounter</span><span style=\"color: navy\"> : </span>FHIREncounter<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcSejour<span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcSejour.sejourNi<b> as </b><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.meta<b> as </b><span style=\"color: maroon\">tgtMeta</span><b> then </b>setEncounterMeta<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\">)</span> <i>\"setMeta\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">copie la valeur du champ patientNi de la table Patient dans l'élément id de la ressource FHIR Patient</span>#xD;\n  srcSejour<span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.status = <span style=\"color: blue\">'finished'</span> <i>\"setStatus\"</i><span style=\"color: navy\">;</span>#xD;\n  srcSejour.sejourType<b> as </b><span style=\"color: maroon\">srcSejourType</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.class = <b>translate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">srcSejourType</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'https://interop.aphp.fr/ig/fhir/dm/ConceptMap/DpiEncounterType2SemanticLayerEncounterClass'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span> <i>\"setEncounterClass\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.id<b> as </b><span style=\"color: maroon\">patientId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.subject = <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\">newSubject</span><b> then </b>setSubjectReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newSubject</span><span style=\"color: navy\">)</span> <i>\"setSubjectReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcSejour.patientNi<span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">fk vers le patient à conserver pour la construction auto du périmètre final</span>#xD;\n  srcSejour<span style=\"color: navy\"><b> -&gt; </b></span>tgtEncounter.period = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Period'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">newActualPeriod</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcSejour.sejourStart<b> as </b><span style=\"color: maroon\">srcPeriodStart</span><span style=\"color: navy\"><b> -&gt; </b></span>newActualPeriod.start = <span style=\"color: maroon\">srcPeriodStart</span> <i>\"setStart\"</i><span style=\"color: navy\">;</span>#xD;\n    srcSejour.sejourEnd<b> as </b><span style=\"color: maroon\">srcPeriodEnd</span><span style=\"color: navy\"><b> -&gt; </b></span>newActualPeriod.end = <span style=\"color: maroon\">srcPeriodEnd</span> <i>\"setEnd\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setPeriod\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setEncounterMeta<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcNi</span>, <b>target</b> <span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\"> : </span>FHIRMeta<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcNi<span style=\"color: navy\"><b> -&gt; </b></span>tgtMeta.source = <span style=\"color: navy\">(</span>'https://aphp.fr/fhir/Endpoint/dpi/SejourTable' + '/' + %srcNi.toString()<span style=\"color: navy\">)</span> <i>\"setSource\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setSubjectReference<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcPatientId</span>, <b>target</b> <span style=\"color: maroon\">newSubject</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcPatientId<span style=\"color: navy\"><b> -&gt; </b></span>newSubject.reference = <span style=\"color: navy\">(</span>'Patient/' + %srcPatientId.toString()<span style=\"color: navy\">)</span> <i>\"setReference\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>procedure<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcActe</span><span style=\"color: navy\"> : </span>ActeTable, <b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>FHIRPatient, <b>source</b> <span style=\"color: maroon\">srcEncounter</span><span style=\"color: navy\"> : </span>FHIREncounter, <b>target</b> <span style=\"color: maroon\">tgtProcedure</span><span style=\"color: navy\"> : </span>FHIRProcedure<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcActe<span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcActe.acteNi<b> as </b><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.meta<b> as </b><span style=\"color: maroon\">tgtMeta</span><b> then </b>setProcedureMeta<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\">)</span> <i>\"setMeta\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.id<b> as </b><span style=\"color: maroon\">patientId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.subject = <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\">newSubject</span><b> then </b>setSubjectReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newSubject</span><span style=\"color: navy\">)</span> <i>\"setSubjectReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcEncounter.id<b> as </b><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.encounter = <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\">newEncounter</span><b> then </b>setEncounterReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">)</span> <i>\"setEncounterReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcActe<span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.status = <span style=\"color: blue\">'completed'</span> <i>\"setStatus\"</i><span style=\"color: navy\">;</span>#xD;\n  srcActe<b> where </b>dateStart.exists() or dateEnd.exists<span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.performed = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Period'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtProcedurePeriod</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcActe.dateStart<b> as </b><span style=\"color: maroon\">srcActeStart</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedurePeriod.start = <span style=\"color: maroon\">srcActeStart</span> <i>\"setActeStart\"</i><span style=\"color: navy\">;</span>#xD;\n    srcActe.dateEnd<b> as </b><span style=\"color: maroon\">srcActeEnd</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedurePeriod.end = <span style=\"color: maroon\">srcActeEnd</span> <i>\"setActeEnd\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setDate\"</i><span style=\"color: navy\">;</span>#xD;\n  srcActe.code<b> as </b><span style=\"color: maroon\">acteCode</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtProcedure.code = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'https://smt.esante.gouv.fr/terminologie-ccam'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">acteCode</span><span style=\"color: navy\">)</span> <i>\"setCode\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">C'est le code de la CCAM facturante</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setProcedureMeta<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcNi</span>, <b>target</b> <span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\"> : </span>FHIRMeta<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcNi<span style=\"color: navy\"><b> -&gt; </b></span>tgtMeta.source = <span style=\"color: navy\">(</span>'https://aphp.fr/fhir/Endpoint/dpi/ActeTable' + '/' + %srcNi.toString()<span style=\"color: navy\">)</span> <i>\"setSource\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setEncounterReference<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcEncounterId</span>, <b>target</b> <span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcEncounterId<span style=\"color: navy\"><b> -&gt; </b></span>newEncounter.reference = <span style=\"color: navy\">(</span>'Encounter/' + %srcEncounterId.toString()<span style=\"color: navy\">)</span> <i>\"setReference\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>condition<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcDiag</span><span style=\"color: navy\"> : </span>DiagTable, <b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>FHIRPatient, <b>source</b> <span style=\"color: maroon\">srcEncounter</span><span style=\"color: navy\"> : </span>FHIREncounter, <b>target</b> <span style=\"color: maroon\">tgtCondition</span><span style=\"color: navy\"> : </span>FHIRCondition<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcDiag<span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDiag.diagNi<b> as </b><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.meta<b> as </b><span style=\"color: maroon\">tgtMeta</span><b> then </b>setConditionMeta<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\">)</span> <i>\"setMeta\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.id<b> as </b><span style=\"color: maroon\">patientId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.subject = <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\">newSubject</span><b> then </b>setSubjectReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newSubject</span><span style=\"color: navy\">)</span> <i>\"setSubjectReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcEncounter.id<b> as </b><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.encounter = <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\">newEncounter</span><b> then </b>setEncounterReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">)</span> <i>\"setEncounterReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDiag<span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.verificationStatus = <span style=\"color: blue\">'confirmed'</span> <i>\"setVerificationStatus\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDiag<span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.category = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-category'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'encounter-diagnosis'</span><span style=\"color: navy\">)</span> <i>\"setCategory\"</i><span style=\"color: navy\">;</span>#xD;\n  srcDiag.code<b> as </b><span style=\"color: maroon\">diagCode</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtCondition.code = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://hl7.org/fhir/sid/icd-10'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">diagCode</span><span style=\"color: navy\">)</span> <i>\"setCode\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setConditionMeta<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcNi</span>, <b>target</b> <span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\"> : </span>FHIRMeta<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcNi<span style=\"color: navy\"><b> -&gt; </b></span>tgtMeta.source = <span style=\"color: navy\">(</span>'https://aphp.fr/fhir/Endpoint/dpi/DiagTable' + '/' + %srcNi.toString()<span style=\"color: navy\">)</span> <i>\"setSource\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>observationBiol<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcBiology</span><span style=\"color: navy\"> : </span>BiologyTable, <b>source</b> <span style=\"color: maroon\">srcPatient</span><span style=\"color: navy\"> : </span>FHIRPatient, <b>source</b> <span style=\"color: maroon\">srcEncounter</span><span style=\"color: navy\"> : </span>FHIREncounter, <b>target</b> <span style=\"color: maroon\">tgtObservation</span><span style=\"color: navy\"> : </span>FHIRObservation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcBiology<span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>\"setId\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology.biologyNi<b> as </b><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.meta<b> as </b><span style=\"color: maroon\">tgtMeta</span><b> then </b>setBiologyMeta<span style=\"color: navy\">(</span><span style=\"color: maroon\">srcNi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\">)</span> <i>\"setMeta\"</i><span style=\"color: navy\">;</span>#xD;\n  srcPatient.id<b> as </b><span style=\"color: maroon\">patientId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.subject = <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\">newSubject</span><b> then </b>setSubjectReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newSubject</span><span style=\"color: navy\">)</span> <i>\"setSubjectReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcEncounter.id<b> as </b><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.encounter = <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\">newEncounter</span><b> then </b>setEncounterReference<span style=\"color: navy\">(</span><span style=\"color: maroon\">encounterId</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">newEncounter</span><span style=\"color: navy\">)</span> <i>\"setEncounterReference\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology<span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.status = <span style=\"color: blue\">'final'</span> <i>\"setStatus\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology<span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.category = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'vital-signs'</span><span style=\"color: navy\">)</span> <i>\"setCategory\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology.biologyDatePrel<b> as </b><span style=\"color: maroon\">biologyDatePrel</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.effective = <span style=\"color: maroon\">biologyDatePrel</span> <i>\"setDate\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology.biologyCode<b> as </b><span style=\"color: maroon\">biologyCode</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.code = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://loinc.org'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">biologyCode</span><span style=\"color: navy\">)</span> <i>\"setCode\"</i><span style=\"color: navy\">;</span>#xD;\n  srcBiology.biologyValue<span style=\"color: navy\"><b> -&gt; </b></span>tgtObservation.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtObsQuantity</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    srcBiology.biologyValue<b> as </b><span style=\"color: maroon\">biologyValue</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtObsQuantity.value = <span style=\"color: maroon\">biologyValue</span> <i>\"setValue\"</i><span style=\"color: navy\">;</span>#xD;\n    srcBiology.biologyUnit<b> as </b><span style=\"color: maroon\">biologyUnit</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtObsQuantity.code = <span style=\"color: maroon\">biologyUnit</span><span style=\"color: navy\">, </span> tgtObsQuantity.unit = <span style=\"color: maroon\">biologyUnit</span><span style=\"color: navy\">, </span> tgtObsQuantity.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>\"setUnit\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setQuantity\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setBiologyMeta<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">srcNi</span>, <b>target</b> <span style=\"color: maroon\">tgtMeta</span><span style=\"color: navy\"> : </span>FHIRMeta<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  srcNi<span style=\"color: navy\"><b> -&gt; </b></span>tgtMeta.source = <span style=\"color: navy\">(</span>'https://aphp.fr/fhir/Endpoint/dpi/BiologyTable' + '/' + %srcNi.toString()<span style=\"color: navy\">)</span> <i>\"setSource\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span><b>group </b>setEntryRequestAndFullUrl<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">newRes</span>, <b>target</b> <span style=\"color: maroon\">tgtEntry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  newRes.id<b> as </b><span style=\"color: maroon\">newResId</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    newResId<span style=\"color: navy\"><b> -&gt; </b></span>tgtEntry.fullUrl = <span style=\"color: navy\">(</span>'https://aphp.fr/' + %newRes.type().name + '/' + %newResId<span style=\"color: navy\">)</span> <i>\"setFullUrl\"</i><span style=\"color: navy\">;</span>#xD;\n    newResId<span style=\"color: navy\"><b> -&gt; </b></span> tgtEntry.request<b> as </b><span style=\"color: maroon\">tgtEntryRequest</span><span style=\"color: navy\">, </span> tgtEntryRequest.method = <span style=\"color: blue\">'POST'</span><span style=\"color: navy\">, </span> tgtEntryRequest.url = <span style=\"color: navy\">(</span>%newRes.type().name + '/' + %newResId<span style=\"color: navy\">)</span> <i>\"setRequest\"</i><span style=\"color: navy\">;</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"setResourceType\"</i><span style=\"color: navy\">;</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/CorePhysical2FHIR"] ;
  fhir:StructureMap.version [ fhir:value "0.1.0"] ;
  fhir:StructureMap.name [ fhir:value "CorePhysical2FHIR"] ;
  fhir:StructureMap.title [ fhir:value "Alignement de l''usage Core du modèle physique du DPI vers les ressources FHIR"] ;
  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 "Alignement de l''usage Core du modèle physique du DPI vers les ressources FHIR"] ;
  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 "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDataSet" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDataSet>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "DataSet" ]
  ], [
     fhir:index 1 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CorePatient" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CorePatient>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "PatientTable" ]
  ], [
     fhir:index 2 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreSejour" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreSejour>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "SejourTable" ]
  ], [
     fhir:index 3 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreBiology" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreBiology>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "BiologyTable" ]
  ], [
     fhir:index 4 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreClinical" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreClinical>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "ClinicalTable" ]
  ], [
     fhir:index 5 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDiag" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreDiag>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "DiagTable" ]
  ], [
     fhir:index 6 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreActe" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreActe>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "ActeTable" ]
  ], [
     fhir:index 7 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreAddress" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreAddress>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "AddressTable" ]
  ], [
     fhir:index 8 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationAdm" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationAdm>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "MedicationAdmTable" ]
  ], [
     fhir:index 9 ;
     fhir:StructureMap.structure.url [
       fhir:value "https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationPre" ;
       fhir:link <https://interop.aphp.fr/ig/fhir/dm/StructureDefinition/CoreMedicationPre>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "source" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "MedicationPreTable" ]
  ], [
     fhir:index 10 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Bundle" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Bundle>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRBundle" ]
  ], [
     fhir:index 11 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Patient" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Patient>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRPatient" ]
  ], [
     fhir:index 12 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Encounter" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Encounter>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIREncounter" ]
  ], [
     fhir:index 13 ;
     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 "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRObservation" ]
  ], [
     fhir:index 14 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Meta" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Meta>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRMeta" ]
  ], [
     fhir:index 15 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Procedure" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Procedure>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRProcedure" ]
  ], [
     fhir:index 16 ;
     fhir:StructureMap.structure.url [
       fhir:value "http://hl7.org/fhir/StructureDefinition/Condition" ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/Condition>
     ] ;
     fhir:StructureMap.structure.mode [ fhir:value "target" ] ;
     fhir:StructureMap.structure.alias [ fhir:value "FHIRCondition" ]
  ] ;
  fhir:StructureMap.group [
     fhir:index 0 ;
     fhir:StructureMap.group.name [ fhir:value "dataSet" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "types" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcDataSet" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "DataSet" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtBundle" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRBundle" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setType" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "type" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "transaction" ]
         ]
       ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "createPatient" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "patient" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatient" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "entry" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtPatientEntry" ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientEntry" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "resource" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newPatient" ] ;
         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 "Patient" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setPatient" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
         ] ;
         fhir:StructureMap.group.rule.dependent [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.dependent.name [ fhir:value "patient" ] ;
           fhir:StructureMap.group.rule.dependent.variable [
             fhir:value "srcPatient" ;
             fhir:index 0
           ], [
             fhir:value "newPatient" ;
             fhir:index 1
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setRequestAndFullUrl" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
         ] ;
         fhir:StructureMap.group.rule.dependent [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
           fhir:StructureMap.group.rule.dependent.variable [
             fhir:value "newPatient" ;
             fhir:index 0
           ], [
             fhir:value "tgtPatientEntry" ;
             fhir:index 1
           ]
         ]
       ], [
         fhir:index 2 ;
         fhir:StructureMap.group.rule.name [ fhir:value "addPatientAddress" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "address" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.condition [ fhir:value "patientNi.reference = ('PatientCore/' + %srcPatient.patientNi.toString())" ]
         ] ;
         fhir:StructureMap.group.rule.dependent [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.dependent.name [ fhir:value "patientAddress" ] ;
           fhir:StructureMap.group.rule.dependent.variable [
             fhir:value "srcAddress" ;
             fhir:index 0
           ], [
             fhir:value "newPatient" ;
             fhir:index 1
           ]
         ]
       ], [
         fhir:index 3 ;
         fhir:StructureMap.group.rule.name [ fhir:value "createEncounter" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "sejour" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcSejour" ] ;
           fhir:StructureMap.group.rule.source.condition [ fhir:value "patientNi.reference = ('PatientCore/' + %srcPatient.patientNi.toString())" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "entry" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtEncounterEntry" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounterEntry" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "resource" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "newEncounter" ] ;
           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 "Encounter" ]
           ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setEncounter" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ]
           ] ;
           fhir:StructureMap.group.rule.dependent [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.dependent.name [ fhir:value "encounter" ] ;
             fhir:StructureMap.group.rule.dependent.variable [
               fhir:value "srcSejour" ;
               fhir:index 0
             ], [
               fhir:value "newPatient" ;
               fhir:index 1
             ], [
               fhir:value "newEncounter" ;
               fhir:index 2
             ]
           ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setRequestAndFullUrl" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ]
           ] ;
           fhir:StructureMap.group.rule.dependent [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
             fhir:StructureMap.group.rule.dependent.variable [
               fhir:value "newEncounter" ;
               fhir:index 0
             ], [
               fhir:value "tgtEncounterEntry" ;
               fhir:index 1
             ]
           ]
         ], [
           fhir:index 2 ;
           fhir:StructureMap.group.rule.name [ fhir:value "createProcedure" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "acte" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcActe" ] ;
             fhir:StructureMap.group.rule.source.condition [ fhir:value "sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "entry" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtProcedureEntry" ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedureEntry" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "resource" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "newProcedure" ] ;
             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 "Procedure" ]
             ]
           ] ;
           fhir:StructureMap.group.rule.rule [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setProcedure" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "procedure" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "srcActe" ;
                 fhir:index 0
               ], [
                 fhir:value "newPatient" ;
                 fhir:index 1
               ], [
                 fhir:value "newEncounter" ;
                 fhir:index 2
               ], [
                 fhir:value "newProcedure" ;
                 fhir:index 3
               ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setRequestAndFullUrl" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "newProcedure" ;
                 fhir:index 0
               ], [
                 fhir:value "tgtProcedureEntry" ;
                 fhir:index 1
               ]
             ]
           ]
         ], [
           fhir:index 3 ;
           fhir:StructureMap.group.rule.name [ fhir:value "createProcedure" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "diag" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcDiag" ] ;
             fhir:StructureMap.group.rule.source.condition [ fhir:value "sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "entry" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtConditionEntry" ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtConditionEntry" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "resource" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "newCondition" ] ;
             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 "Condition" ]
             ]
           ] ;
           fhir:StructureMap.group.rule.rule [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setCondition" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "condition" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "srcDiag" ;
                 fhir:index 0
               ], [
                 fhir:value "newPatient" ;
                 fhir:index 1
               ], [
                 fhir:value "newEncounter" ;
                 fhir:index 2
               ], [
                 fhir:value "newCondition" ;
                 fhir:index 3
               ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setRequestAndFullUrl" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "newCondition" ;
                 fhir:index 0
               ], [
                 fhir:value "tgtConditionEntry" ;
                 fhir:index 1
               ]
             ]
           ]
         ], [
           fhir:index 4 ;
           fhir:StructureMap.group.rule.name [ fhir:value "createObservation" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcDataSet" ] ;
             fhir:StructureMap.group.rule.source.element [ fhir:value "biology" ] ;
             fhir:StructureMap.group.rule.source.variable [ fhir:value "srcBiology" ] ;
             fhir:StructureMap.group.rule.source.condition [ fhir:value "sejourNi.reference = ('SejourCore/' + %srcSejour.sejourNi.toString())" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBundle" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "entry" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtBiologyEntry" ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "tgtBiologyEntry" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "resource" ] ;
             fhir:StructureMap.group.rule.target.variable [ fhir:value "newObservation" ] ;
             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 "Observation" ]
             ]
           ] ;
           fhir:StructureMap.group.rule.rule [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setBiology" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "observationBiol" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "srcBiology" ;
                 fhir:index 0
               ], [
                 fhir:value "newPatient" ;
                 fhir:index 1
               ], [
                 fhir:value "newEncounter" ;
                 fhir:index 2
               ], [
                 fhir:value "newObservation" ;
                 fhir:index 3
               ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setRequestAndFullUrl" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ]
             ] ;
             fhir:StructureMap.group.rule.dependent [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
               fhir:StructureMap.group.rule.dependent.variable [
                 fhir:value "newObservation" ;
                 fhir:index 0
               ], [
                 fhir:value "tgtBiologyEntry" ;
                 fhir:index 1
               ]
             ]
           ]
         ]
       ]
     ]
  ], [
     fhir:index 1 ;
     fhir:StructureMap.group.name [ fhir:value "patient" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "PatientTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setMeta" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "patientNi" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "meta" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtMeta" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setPatientMeta" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcNi" ;
           fhir:index 0
         ], [
           fhir:value "tgtMeta" ;
           fhir:index 1
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "copie la valeur du champ patientNi de la table Patient dans l'élément id de la ressource FHIR Patient" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setHumainName" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "name" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtPatientName" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setHumainName" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcPatient" ;
           fhir:index 0
         ], [
           fhir:value "tgtPatientName" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setHumainNir" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "identifier" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtPatientIdentifier" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setHumainNir" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcPatient" ;
           fhir:index 0
         ], [
           fhir:value "tgtPatientIdentifier" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setGender" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "gender" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatientGender" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "gender" ] ;
         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 "srcPatientGender" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/ConceptMap/DpiGender2Hl7Gender" ]
         ], [
           fhir:index 2 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "code" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "traduit la valeur du champ gender de la table Patient dans l'élément gender de la ressource FHIR Patient" ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setBirthDate" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "birthDate" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatientBirthDate" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "birthDate" ] ;
         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 "srcPatientBirthDate" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "copie la valeur du champ birthDate de la table Patient dans l'élément birthDate de la ressource FHIR Patient" ]
     ]
  ], [
     fhir:index 2 ;
     fhir:StructureMap.group.name [ fhir:value "setPatientMeta" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcNi" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtMeta" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRMeta" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSource" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtMeta" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "source" ] ;
         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 "'https://aphp.fr/fhir/Endpoint/dpi/PatientTable' + '/' + %srcNi.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 3 ;
     fhir:StructureMap.group.name [ fhir:value "setHumainName" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "PatientTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtPatientName" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setUse" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientName" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "use" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "usual" ]
         ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setName" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "name" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatientName" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientName" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "family" ] ;
         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 "srcPatientName" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setFirstNameAndText" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "firstName" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatientFirstName" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientName" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "given" ] ;
           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 "srcPatientFirstName" ]
           ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientName" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "text" ] ;
           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 "%srcPatientFirstName + ' ' + %srcPatientName" ]
           ]
         ]
       ]
     ]
  ], [
     fhir:index 4 ;
     fhir:StructureMap.group.name [ fhir:value "setHumainNir" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "PatientTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtPatientIdentifier" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setNir" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "nir" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPatientNir" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientIdentifier" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "use" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "official" ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientIdentifier" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "type" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://hl7.fr/ig/fhir/core/CodeSystem/fr-core-cs-v2-0203" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "INS-NIR" ]
         ]
       ], [
         fhir:index 2 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientIdentifier" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "system" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "urn:oid:1.2.250.1.213.1.4.8" ]
         ]
       ], [
         fhir:index 3 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatientIdentifier" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "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 "srcPatientNir" ]
         ]
       ]
     ]
  ], [
     fhir:index 5 ;
     fhir:StructureMap.group.name [ fhir:value "patientAddress" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcAddress" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "AddressTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setAddress" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtPatient" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "address" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newAddress" ] ;
         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 "Address" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setZip" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "zipCode" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srczip" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "postalCode" ] ;
           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 "srczip" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setCity" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "city" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcCity" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "city" ] ;
           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 "srcCity" ]
           ]
         ]
       ], [
         fhir:index 2 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setCountry" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "country" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcCountry" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "country" ] ;
           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 "srcCountry" ]
           ]
         ]
       ], [
         fhir:index 3 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setText" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "address" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcAddressText" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "text" ] ;
           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 "srcAddressText" ]
           ]
         ]
       ], [
         fhir:index 4 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setUseHome" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.condition [ fhir:value "current = true" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "use" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "home" ]
           ]
         ]
       ], [
         fhir:index 5 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setUseOld" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.condition [ fhir:value "current = false" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "use" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "old" ]
           ]
         ]
       ], [
         fhir:index 6 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setCoordinatesExtension" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
           fhir:StructureMap.group.rule.source.condition [ fhir:value "latitude.exists() or longitude.exists()" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newAddress" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "extension" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "firstLevelExtension" ] ;
           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 "Extension" ]
           ]
         ] ;
         fhir:StructureMap.group.rule.rule [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.name [ fhir:value "setflext" ] ;
           fhir:StructureMap.group.rule.source [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ]
           ] ;
           fhir:StructureMap.group.rule.target [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.context [ fhir:value "firstLevelExtension" ] ;
             fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
             fhir:StructureMap.group.rule.target.element [ fhir:value "url" ] ;
             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 "'http://hl7.org/fhir/StructureDefinition/geolocation'" ]
             ]
           ] ;
           fhir:StructureMap.group.rule.rule [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setLatExt" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
               fhir:StructureMap.group.rule.source.element [ fhir:value "latitude" ] ;
               fhir:StructureMap.group.rule.source.variable [ fhir:value "srcLat" ]
             ] ;
             fhir:StructureMap.group.rule.target [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.context [ fhir:value "firstLevelExtension" ] ;
               fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
               fhir:StructureMap.group.rule.target.element [ fhir:value "extension" ] ;
               fhir:StructureMap.group.rule.target.variable [ fhir:value "latExtension" ] ;
               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 "Extension" ]
               ]
             ] ;
             fhir:StructureMap.group.rule.rule [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.name [ fhir:value "setLat" ] ;
               fhir:StructureMap.group.rule.source [
                 fhir:index 0 ;
                 fhir:StructureMap.group.rule.source.context [ fhir:value "srcLat" ]
               ] ;
               fhir:StructureMap.group.rule.target [
                 fhir:index 0 ;
                 fhir:StructureMap.group.rule.target.context [ fhir:value "latExtension" ] ;
                 fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
                 fhir:StructureMap.group.rule.target.element [ fhir:value "url" ] ;
                 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 "'latitude'" ]
                 ]
               ], [
                 fhir:index 1 ;
                 fhir:StructureMap.group.rule.target.context [ fhir:value "latExtension" ] ;
                 fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
                 fhir:StructureMap.group.rule.target.element [ fhir:value "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 "srcLat" ]
                 ]
               ]
             ]
           ], [
             fhir:index 1 ;
             fhir:StructureMap.group.rule.name [ fhir:value "setLongExt" ] ;
             fhir:StructureMap.group.rule.source [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.source.context [ fhir:value "srcAddress" ] ;
               fhir:StructureMap.group.rule.source.element [ fhir:value "longitude" ] ;
               fhir:StructureMap.group.rule.source.variable [ fhir:value "srcLong" ]
             ] ;
             fhir:StructureMap.group.rule.target [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.target.context [ fhir:value "firstLevelExtension" ] ;
               fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
               fhir:StructureMap.group.rule.target.element [ fhir:value "extension" ] ;
               fhir:StructureMap.group.rule.target.variable [ fhir:value "longExtension" ] ;
               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 "Extension" ]
               ]
             ] ;
             fhir:StructureMap.group.rule.rule [
               fhir:index 0 ;
               fhir:StructureMap.group.rule.name [ fhir:value "setLong" ] ;
               fhir:StructureMap.group.rule.source [
                 fhir:index 0 ;
                 fhir:StructureMap.group.rule.source.context [ fhir:value "srcLong" ]
               ] ;
               fhir:StructureMap.group.rule.target [
                 fhir:index 0 ;
                 fhir:StructureMap.group.rule.target.context [ fhir:value "longExtension" ] ;
                 fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
                 fhir:StructureMap.group.rule.target.element [ fhir:value "url" ] ;
                 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 "'longitude'" ]
                 ]
               ], [
                 fhir:index 1 ;
                 fhir:StructureMap.group.rule.target.context [ fhir:value "longExtension" ] ;
                 fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
                 fhir:StructureMap.group.rule.target.element [ fhir:value "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 "srcLong" ]
                 ]
               ]
             ]
           ]
         ]
       ]
     ]
  ], [
     fhir:index 6 ;
     fhir:StructureMap.group.name [ fhir:value "encounter" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcSejour" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "SejourTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtEncounter" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIREncounter" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setMeta" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "sejourNi" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "meta" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtMeta" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEncounterMeta" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcNi" ;
           fhir:index 0
         ], [
           fhir:value "tgtMeta" ;
           fhir:index 1
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "copie la valeur du champ patientNi de la table Patient dans l'élément id de la ressource FHIR Patient" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setStatus" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "status" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "finished" ]
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setEncounterClass" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "sejourType" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcSejourType" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "class" ] ;
         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 "srcSejourType" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://interop.aphp.fr/ig/fhir/dm/ConceptMap/DpiEncounterType2SemanticLayerEncounterClass" ]
         ], [
           fhir:index 2 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "Coding" ]
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSubjectReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "patientId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "subject" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newSubject" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setSubjectReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "patientId" ;
           fhir:index 0
         ], [
           fhir:value "newSubject" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "patientNi" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "patientNi" ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "fk vers le patient à conserver pour la construction auto du périmètre final" ]
     ], [
       fhir:index 6 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setPeriod" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEncounter" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "period" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newActualPeriod" ] ;
         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 "Period" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setStart" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "sejourStart" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPeriodStart" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newActualPeriod" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "start" ] ;
           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 "srcPeriodStart" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setEnd" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcSejour" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "sejourEnd" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcPeriodEnd" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "newActualPeriod" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "end" ] ;
           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 "srcPeriodEnd" ]
           ]
         ]
       ]
     ]
  ], [
     fhir:index 7 ;
     fhir:StructureMap.group.name [ fhir:value "setEncounterMeta" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcNi" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtMeta" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRMeta" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSource" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtMeta" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "source" ] ;
         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 "'https://aphp.fr/fhir/Endpoint/dpi/SejourTable' + '/' + %srcNi.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 8 ;
     fhir:StructureMap.group.name [ fhir:value "setSubjectReference" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatientId" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "newSubject" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatientId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "newSubject" ] ;
         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 "evaluate" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "'Patient/' + %srcPatientId.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 9 ;
     fhir:StructureMap.group.name [ fhir:value "procedure" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcActe" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "ActeTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcEncounter" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIREncounter" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtProcedure" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRProcedure" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setMeta" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "acteNi" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "meta" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtMeta" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setProcedureMeta" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcNi" ;
           fhir:index 0
         ], [
           fhir:value "tgtMeta" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSubjectReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "patientId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "subject" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newSubject" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setSubjectReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "patientId" ;
           fhir:index 0
         ], [
           fhir:value "newSubject" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setEncounterReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcEncounter" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "encounterId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "encounter" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newEncounter" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEncounterReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "encounterId" ;
           fhir:index 0
         ], [
           fhir:value "newEncounter" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setStatus" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "status" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "completed" ]
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setDate" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ] ;
         fhir:StructureMap.group.rule.source.condition [ fhir:value "dateStart.exists() or dateEnd.exists" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "performed" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtProcedurePeriod" ] ;
         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 "Period" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setActeStart" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "dateStart" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcActeStart" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedurePeriod" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "start" ] ;
           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 "srcActeStart" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setActeEnd" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "dateEnd" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "srcActeEnd" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedurePeriod" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "end" ] ;
           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 "srcActeEnd" ]
           ]
         ]
       ]
     ], [
       fhir:index 6 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setCode" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcActe" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "acteCode" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtProcedure" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "https://smt.esante.gouv.fr/terminologie-ccam" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "acteCode" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.documentation [ fhir:value "C'est le code de la CCAM facturante" ]
     ]
  ], [
     fhir:index 10 ;
     fhir:StructureMap.group.name [ fhir:value "setProcedureMeta" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcNi" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtMeta" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRMeta" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSource" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtMeta" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "source" ] ;
         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 "'https://aphp.fr/fhir/Endpoint/dpi/ActeTable' + '/' + %srcNi.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 11 ;
     fhir:StructureMap.group.name [ fhir:value "setEncounterReference" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcEncounterId" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "newEncounter" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcEncounterId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "newEncounter" ] ;
         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 "evaluate" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "'Encounter/' + %srcEncounterId.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 12 ;
     fhir:StructureMap.group.name [ fhir:value "condition" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcDiag" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "DiagTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcEncounter" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIREncounter" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtCondition" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRCondition" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setMeta" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "diagNi" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "meta" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtMeta" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setConditionMeta" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcNi" ;
           fhir:index 0
         ], [
           fhir:value "tgtMeta" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSubjectReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "patientId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "subject" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newSubject" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setSubjectReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "patientId" ;
           fhir:index 0
         ], [
           fhir:value "newSubject" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setEncounterReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcEncounter" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "encounterId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "encounter" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newEncounter" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEncounterReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "encounterId" ;
           fhir:index 0
         ], [
           fhir:value "newEncounter" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setVerificationStatus" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "verificationStatus" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "confirmed" ]
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setCategory" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "category" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "http://terminology.hl7.org/CodeSystem/condition-category" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "encounter-diagnosis" ]
         ]
       ]
     ], [
       fhir:index 6 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setCode" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcDiag" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "diagCode" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtCondition" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "http://hl7.org/fhir/sid/icd-10" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "diagCode" ]
         ]
       ]
     ]
  ], [
     fhir:index 13 ;
     fhir:StructureMap.group.name [ fhir:value "setConditionMeta" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcNi" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtMeta" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRMeta" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSource" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtMeta" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "source" ] ;
         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 "'https://aphp.fr/fhir/Endpoint/dpi/DiagTable' + '/' + %srcNi.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 14 ;
     fhir:StructureMap.group.name [ fhir:value "observationBiol" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcBiology" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "BiologyTable" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcPatient" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRPatient" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcEncounter" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIREncounter" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtObservation" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRObservation" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setId" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "uuid" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setMeta" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "biologyNi" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "meta" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtMeta" ]
       ] ;
       fhir:StructureMap.group.rule.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setBiologyMeta" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "srcNi" ;
           fhir:index 0
         ], [
           fhir:value "tgtMeta" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 2 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSubjectReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcPatient" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "patientId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "subject" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newSubject" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setSubjectReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "patientId" ;
           fhir:index 0
         ], [
           fhir:value "newSubject" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 3 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setEncounterReference" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcEncounter" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "encounterId" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "encounter" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "newEncounter" ] ;
         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.dependent [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.dependent.name [ fhir:value "setEncounterReference" ] ;
         fhir:StructureMap.group.rule.dependent.variable [
           fhir:value "encounterId" ;
           fhir:index 0
         ], [
           fhir:value "newEncounter" ;
           fhir:index 1
         ]
       ]
     ], [
       fhir:index 4 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setStatus" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "status" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "final" ]
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setCategory" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "category" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "http://terminology.hl7.org/CodeSystem/observation-category" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "vital-signs" ]
         ]
       ]
     ], [
       fhir:index 6 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setDate" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "biologyDatePrel" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "biologyDatePrel" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "effective" ] ;
         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 "biologyDatePrel" ]
         ]
       ]
     ], [
       fhir:index 7 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setCode" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "biologyCode" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "biologyCode" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "code" ] ;
         fhir:StructureMap.group.rule.target.transform [ fhir:value "cc" ] ;
         fhir:StructureMap.group.rule.target.parameter [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "http://loinc.org" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.parameter.valueId [ fhir:value "biologyCode" ]
         ]
       ]
     ], [
       fhir:index 8 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setQuantity" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "biologyValue" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObservation" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "value" ] ;
         fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtObsQuantity" ] ;
         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 "Quantity" ]
         ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setValue" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "biologyValue" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "biologyValue" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObsQuantity" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "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 "biologyValue" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setUnit" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "srcBiology" ] ;
           fhir:StructureMap.group.rule.source.element [ fhir:value "biologyUnit" ] ;
           fhir:StructureMap.group.rule.source.variable [ fhir:value "biologyUnit" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObsQuantity" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "code" ] ;
           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 "biologyUnit" ]
           ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObsQuantity" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "unit" ] ;
           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 "biologyUnit" ]
           ]
         ], [
           fhir:index 2 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtObsQuantity" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "system" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "http://unitsofmeasure.org" ]
           ]
         ]
       ]
     ]
  ], [
     fhir:index 15 ;
     fhir:StructureMap.group.name [ fhir:value "setBiologyMeta" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "srcNi" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtMeta" ] ;
       fhir:StructureMap.group.input.type [ fhir:value "FHIRMeta" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setSource" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "srcNi" ]
       ] ;
       fhir:StructureMap.group.rule.target [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.target.context [ fhir:value "tgtMeta" ] ;
         fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
         fhir:StructureMap.group.rule.target.element [ fhir:value "source" ] ;
         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 "'https://aphp.fr/fhir/Endpoint/dpi/BiologyTable' + '/' + %srcNi.toString()" ]
         ]
       ]
     ]
  ], [
     fhir:index 16 ;
     fhir:StructureMap.group.name [ fhir:value "setEntryRequestAndFullUrl" ] ;
     fhir:StructureMap.group.typeMode [ fhir:value "none" ] ;
     fhir:StructureMap.group.input [
       fhir:index 0 ;
       fhir:StructureMap.group.input.name [ fhir:value "newRes" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "source" ]
     ], [
       fhir:index 1 ;
       fhir:StructureMap.group.input.name [ fhir:value "tgtEntry" ] ;
       fhir:StructureMap.group.input.mode [ fhir:value "target" ]
     ] ;
     fhir:StructureMap.group.rule [
       fhir:index 0 ;
       fhir:StructureMap.group.rule.name [ fhir:value "setResourceType" ] ;
       fhir:StructureMap.group.rule.source [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.source.context [ fhir:value "newRes" ] ;
         fhir:StructureMap.group.rule.source.element [ fhir:value "id" ] ;
         fhir:StructureMap.group.rule.source.variable [ fhir:value "newResId" ]
       ] ;
       fhir:StructureMap.group.rule.rule [
         fhir:index 0 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setFullUrl" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "newResId" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEntry" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "fullUrl" ] ;
           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 "'https://aphp.fr/' + %newRes.type().name + '/' + %newResId" ]
           ]
         ]
       ], [
         fhir:index 1 ;
         fhir:StructureMap.group.rule.name [ fhir:value "setRequest" ] ;
         fhir:StructureMap.group.rule.source [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.source.context [ fhir:value "newResId" ]
         ] ;
         fhir:StructureMap.group.rule.target [
           fhir:index 0 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEntry" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "request" ] ;
           fhir:StructureMap.group.rule.target.variable [ fhir:value "tgtEntryRequest" ]
         ], [
           fhir:index 1 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEntryRequest" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "method" ] ;
           fhir:StructureMap.group.rule.target.transform [ fhir:value "copy" ] ;
           fhir:StructureMap.group.rule.target.parameter [
             fhir:index 0 ;
             fhir:StructureMap.group.rule.target.parameter.valueString [ fhir:value "POST" ]
           ]
         ], [
           fhir:index 2 ;
           fhir:StructureMap.group.rule.target.context [ fhir:value "tgtEntryRequest" ] ;
           fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ;
           fhir:StructureMap.group.rule.target.element [ fhir:value "url" ] ;
           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 "%newRes.type().name + '/' + %newResId" ]
           ]
         ]
       ]
     ]
  ] .

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

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