Données socles des Entrepôts de Données de Santé Hospitalier
0.1.0 - ci-build
Données socles des Entrepôts de Données de Santé Hospitalier - 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
| Draft as of 2026-08-27 |
{
"resourceType" : "StructureMap",
"id" : "Q2FSL",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Narratif généré : StructureMap Q2FSL</b></p><a name=\"Q2FSL\"> </a><a name=\"hcQ2FSL\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureMap/Q2FSL<span style=\"color: navy\">" = "</span>Q2FSL<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Transforms QuestionnaireResponse based on Questionnaire Usage Variables socles into FHIR resources conforming to DM profiles</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">" </span><b>alias </b>QuestionnaireResponse <b>as </b><b>source</b>\r\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>Bundle <b>as </b><b>target</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Main entry point: Transform QuestionnaireResponse to Bundle</span>\r\n<b>group </b>QuestionnaireResponseToBundle<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Initialize Bundle</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>bundle.type = <span style=\"color: blue\">'collection'</span> <i>"bundletype"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>bundle.timestamp = <span style=\"color: navy\">(</span>now()<span style=\"color: navy\">)</span> <i>"setTimestamp"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Patient resource</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">patientEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>patientEntry.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\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<b> then </b>CreatePatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">)</span> <i>"createpatient"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> patient.id<b> as </b><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">, </span> patientEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patientId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Encounters from PMSI data</span>\r\n src<b> then </b>CreateEncounters<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createencounters"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Laboratory Observations</span>\r\n src<b> then </b>CreateLaboratoryObservations<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createlabobservations"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Medication Requests</span>\r\n src<b> then </b>CreateMedicationRequests<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createmedicationrequests"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Medication Administrations</span>\r\n src<b> then </b>CreateMedicationAdministrations<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createmedicationadministrations"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Create Vital Sign Observations</span>\r\n src<b> then </b>CreateVitalSignObservations<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createvitalsigns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createpatientresource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"patiententry"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Group: Create Patient from QuestionnaireResponse</span>\r\n<b>group </b>CreatePatient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>patient.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-patient'</span> <i>"patientprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"patientmeta"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Extract patient identity data from linkId 4647259356106 > 2958000860428</span>\r\n src.item<b> as </b><span style=\"color: maroon\">socioDemo</span><b> where </b><span style=\"color: navy\">(</span>linkId = '4647259356106'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> socioDemo.item<b> as </b><span style=\"color: maroon\">identity</span><b> where </b><span style=\"color: navy\">(</span>linkId = '2958000860428'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Patient id (saisi manuellement dans le champ "Identifiant", linkId 236790258446)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">patIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '236790258446'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> patIdItem.answer<b> as </b><span style=\"color: maroon\">patIdAns</span><span style=\"color: navy\"><b> -> </b></span>patient.id = <span style=\"color: navy\">(</span>%patIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setpatientid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractpatientid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Patient name (linkId 8605698058770 = family, 6214879623503 = given)</span>\r\n identity<span style=\"color: navy\"><b> -> </b></span>patient.name = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'HumanName'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">name</span><b> then</b><span style=\"color: navy\"> {\r\n</span> identity.item<b> as </b><span style=\"color: maroon\">familyItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8605698058770'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> familyItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>name.family = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setfamily"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractfamily"</i><span style=\"color: navy\">;</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">givenItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6214879623503'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> givenItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>name.given = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setgiven"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractgiven"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setname"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">NIR identifier (linkId 5711960356160)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">nirItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5711960356160'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> nirItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.identifier = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Identifier'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">nir</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>nir.system = <span style=\"color: blue\">'urn:oid:1.2.250.1.213.1.4.8'</span> <i>"nirsystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>nir.value = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"nirvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>nir.type = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://interopsante.org/fhir/CodeSystem/fr-v2-0203'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'NIR'</span><span style=\"color: navy\">)</span> <i>"nirtype"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setnir"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractnir"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">INS identifier (linkId 3764723550987)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">insItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '3764723550987'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> insItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.identifier = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Identifier'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ins</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>ins.system = <span style=\"color: blue\">'urn:oid:1.2.250.1.213.1.4.10'</span> <i>"inssystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>ins.value = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"insvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>ins.type = <b>cc</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://interopsante.org/fhir/CodeSystem/fr-v2-0203'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'INS-C'</span><span style=\"color: navy\">)</span> <i>"instype"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setins"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractins"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Birth date (linkId 5036133558154)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">birthItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5036133558154'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> birthItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.birthDate = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setbirthdate"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractbirthdate"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Death date (linkId 5633552097315)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">deathItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5633552097315'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> deathItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.deceased = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setdeceaseddate"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Death source (linkId 9098810065693)</span>\r\n deathItem.item<b> as </b><span style=\"color: maroon\">deathSource</span><b> where </b><span style=\"color: navy\">(</span>linkId = '9098810065693'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> deathSource.answer<b> as </b><span style=\"color: maroon\">sourceAns</span><span style=\"color: navy\"><b> -> </b></span>patient.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\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sourceAns<span style=\"color: navy\"><b> -> </b></span>ext.url = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-death-source'</span> <i>"deathsourceurl"</i><span style=\"color: navy\">;</span>\r\n sourceAns<span style=\"color: navy\"><b> -> </b></span>ext.value = <span style=\"color: navy\">(</span>%sourceAns.value.ofType(Coding)<span style=\"color: navy\">)</span> <i>"deathsourcevalue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setdeathsourceext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdeathsource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdeath"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Multiple birth rank (linkId 6931296968515)</span>\r\n identity.item<b> as </b><span style=\"color: maroon\">multipleItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6931296968515'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> multipleItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.multipleBirth = <span style=\"color: navy\">(</span>%ans.value.ofType(integer)<span style=\"color: navy\">)</span> <i>"setmultiplebirth"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmultiplebirth"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processidentity"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Gender from PMSI data (linkId 3894630481120 within 2825244231605)</span>\r\n src.item<b> as </b><span style=\"color: maroon\">pmsiGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '2825244231605'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pmsiGroup.item<b> as </b><span style=\"color: maroon\">sexItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '3894630481120'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sexItem.answer<b> as </b><span style=\"color: maroon\">ans</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.valueString<b> as </b><span style=\"color: maroon\">female</span><b> where </b><span style=\"color: navy\">(</span>$this = 'f'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>patient.gender = <span style=\"color: blue\">'female'</span> <i>"setGenderF"</i><span style=\"color: navy\">;</span>\r\n ans.valueString<b> as </b><span style=\"color: maroon\">female</span><b> where </b><span style=\"color: navy\">(</span>$this = 'm'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>patient.gender = <span style=\"color: blue\">'male'</span> <i>"setGenderM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"valueCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractgender"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Address from code géographique (linkId 2446369196222)</span>\r\n pmsiGroup.item<b> as </b><span style=\"color: maroon\">codeGeoItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '2446369196222'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> codeGeoItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>patient.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\">addr</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>addr.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\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>ext.url = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-pmsi-code-geo'</span> <i>"codegeourl"</i><span style=\"color: navy\">;</span>\r\n ans.value<b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\"><b> -> </b></span>ext.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>"codegeovalue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcodegeoext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Environnement</span>\r\n socioDemo.item<b> as </b><span style=\"color: maroon\">environnementItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5491974639955'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">geolocation</span>\r\n environnementItem.item<b> as </b><span style=\"color: maroon\">geocodageItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '3816475533472'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>addr.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\">geolocationExt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> geocodageItem.item<b> as </b><span style=\"color: maroon\">latItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '3709843054556'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span> geolocationExt.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/geolocation'</span><span style=\"color: navy\">, </span> geolocationExt.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\">latExt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> latItem.answer<b> as </b><span style=\"color: maroon\">lat</span><span style=\"color: navy\"><b> -> </b></span> latExt.url = <span style=\"color: blue\">'latitude'</span><span style=\"color: navy\">, </span> latExt.value = <span style=\"color: navy\">(</span>%lat.value.ofType(decimal)<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> geocodageItem.item<b> as </b><span style=\"color: maroon\">longItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7651448032665'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>geolocationExt.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\">longExt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> longItem.answer<b> as </b><span style=\"color: maroon\">long</span><span style=\"color: navy\"><b> -> </b></span> longExt.url = <span style=\"color: blue\">'longitude'</span><span style=\"color: navy\">, </span> longExt.value = <span style=\"color: navy\">(</span>%long.value.ofType(decimal)<span style=\"color: navy\">)</span> <i>"setLong"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createLongExt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setLat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createLatExt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createGeolocExt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">IRIS</span>\r\n environnementItem.item<b> as </b><span style=\"color: maroon\">irisItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7621032273792'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span> addr.line<b> as </b><span style=\"color: maroon\">addrLine</span><span style=\"color: navy\">, </span> addrLine.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\">irisExt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> irisItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span> irisExt.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-censusTract'</span><span style=\"color: navy\">, </span> irisExt.valueString = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setIrisExt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navIrisItem"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navEnv"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setaddress"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractcodegeo"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractpmsidemographics"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processsociodemographics"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Group: Create Encounters from PMSI data</span>\r\n<b>group </b>CreateEncounters<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.item<b> as </b><span style=\"color: maroon\">pmsiItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '2825244231605'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">encounterEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pmsiItem<span style=\"color: navy\"><b> -> </b></span>encounterEntry.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\">encounter</span><b> then</b><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span> patient.id<b> as </b><span style=\"color: maroon\">patIdForEnc</span><span style=\"color: navy\">, </span> encounter.id = <span style=\"color: navy\">(</span>%patIdForEnc.replace('-pat-', '-sej-')<span style=\"color: navy\">)</span> <i>"setencounterid"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<span style=\"color: navy\"><b> -> </b></span>encounter.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pmsiItem<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-encounter'</span> <i>"encounterprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"encountermeta"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>encounter.status = <span style=\"color: blue\">'finished'</span> <i>"setStatus"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>encounter.class = <b>c</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-ActCode'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'IMP'</span><span style=\"color: navy\">)</span> <i>"setClass"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> encounter.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<span style=\"color: navy\"><b> -> </b></span>encounter.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\">period</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pmsiItem.item<b> as </b><span style=\"color: maroon\">startItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5991443718282'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> startItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>period.start = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setstart"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractstart"</i><span style=\"color: navy\">;</span>\r\n pmsiItem.item<b> as </b><span style=\"color: maroon\">endItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6114780320846'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> endItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>period.end = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setend"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractend"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setperiod"</i><span style=\"color: navy\">;</span>\r\n pmsiItem.item<b> as </b><span style=\"color: maroon\">modeInItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6172398101212'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> modeInItem.answer<b> as </b><span style=\"color: maroon\">ans</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.valueString<b> as </b><span style=\"color: maroon\">valueString</span><span style=\"color: navy\"><b> -> </b></span> encounter.hospitalization<b> as </b><span style=\"color: maroon\">hosp</span><span style=\"color: navy\">, </span> hosp.admitSource<b> as </b><span style=\"color: maroon\">admitSource</span><span style=\"color: navy\">, </span> admitSource.coding<b> as </b><span style=\"color: maroon\">admitSourceCoding</span><span style=\"color: navy\">, </span> admitSourceCoding.code = <span style=\"color: maroon\">valueString</span> <i>"setadmitsource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmodein"</i><span style=\"color: navy\">;</span>\r\n pmsiItem.item<b> as </b><span style=\"color: maroon\">modeOutItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '3354867075704'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> modeOutItem.answer<b> as </b><span style=\"color: maroon\">ans</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.valueString<b> as </b><span style=\"color: maroon\">valueString</span><span style=\"color: navy\"><b> -> </b></span> encounter.hospitalization<b> as </b><span style=\"color: maroon\">hosp</span><span style=\"color: navy\">, </span> hosp.dischargeDisposition<b> as </b><span style=\"color: maroon\">dischargeDisposition</span><span style=\"color: navy\">, </span> dischargeDisposition.coding<b> as </b><span style=\"color: maroon\">dischargeDispositionCoding</span><span style=\"color: navy\">, </span> dischargeDispositionCoding.code = <span style=\"color: maroon\">valueString</span> <i>"setdischargedisposition"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmodeout"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> encounter.id<b> as </b><span style=\"color: maroon\">encId</span><span style=\"color: navy\">, </span> encounterEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<b> then </b>CreateConditions<span style=\"color: navy\">(</span><span style=\"color: maroon\">pmsiItem</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createconditions"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<b> then </b>CreateProcedures<span style=\"color: navy\">(</span><span style=\"color: maroon\">pmsiItem</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">)</span> <i>"createprocedures"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createencounter"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"encounterentry"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateConditions<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">pmsiItem</span>, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">encounter</span><span style=\"color: navy\"> : </span>Encounter, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> pmsiItem.item<b> as </b><span style=\"color: maroon\">diagGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '9391816419630'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">conditionEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diagGroup<span style=\"color: navy\"><b> -> </b></span>conditionEntry.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\">condition</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diagGroup.item<b> as </b><span style=\"color: maroon\">condIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '123759733087'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> condIdItem.answer<b> as </b><span style=\"color: maroon\">condIdAns</span><span style=\"color: navy\"><b> -> </b></span>condition.id = <span style=\"color: navy\">(</span>%condIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setconditionid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractconditionid"</i><span style=\"color: navy\">;</span>\r\n diagGroup<span style=\"color: navy\"><b> -> </b></span>condition.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diagGroup<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-condition'</span> <i>"conditionprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"conditionmeta"</i><span style=\"color: navy\">;</span>\r\n diagGroup<span style=\"color: navy\"><b> -> </b></span> condition.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n diagGroup<span style=\"color: navy\"><b> -> </b></span> encounter.id<b> as </b><span style=\"color: maroon\">encId</span><span style=\"color: navy\">, </span> condition.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\">ref</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encId</span><span style=\"color: navy\">)</span> <i>"setencounter"</i><span style=\"color: navy\">;</span>\r\n diagGroup.item<b> as </b><span style=\"color: maroon\">diagCodeItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5505101189372'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diagCodeItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>condition.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span> code.coding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdiagcode"</i><span style=\"color: navy\">;</span>\r\n diagGroup.item<b> as </b><span style=\"color: maroon\">diagTypeItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6427586743735'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diagTypeItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>condition.category = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">category</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>category.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/CodeSystem/pmsi-mco-diag-type'</span> <i>"diagtypesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"diagtypecode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcategorycoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcategory"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdiagtype"</i><span style=\"color: navy\">;</span>\r\n diagGroup.item<b> as </b><span style=\"color: maroon\">dateItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7114466839467'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>condition.recordedDate = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setrecordeddate"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractrecordeddate"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<span style=\"color: navy\"><b> -> </b></span> condition.id<b> as </b><span style=\"color: maroon\">condId</span><span style=\"color: navy\">, </span> conditionEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">condId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createcondition"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"conditionentry"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateProcedures<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">pmsiItem</span>, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">encounter</span><span style=\"color: navy\"> : </span>Encounter, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> pmsiItem.item<b> as </b><span style=\"color: maroon\">acteGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '591926901726'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">procedureEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> acteGroup<span style=\"color: navy\"><b> -> </b></span>procedureEntry.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\">procedure</span><b> then</b><span style=\"color: navy\"> {\r\n</span> acteGroup.item<b> as </b><span style=\"color: maroon\">procIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '151762387793'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> procIdItem.answer<b> as </b><span style=\"color: maroon\">procIdAns</span><span style=\"color: navy\"><b> -> </b></span>procedure.id = <span style=\"color: navy\">(</span>%procIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setprocedureid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractprocedureid"</i><span style=\"color: navy\">;</span>\r\n acteGroup<span style=\"color: navy\"><b> -> </b></span>procedure.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> acteGroup<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-procedure'</span> <i>"procedureprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"proceduremeta"</i><span style=\"color: navy\">;</span>\r\n acteGroup<span style=\"color: navy\"><b> -> </b></span>procedure.status = <span style=\"color: blue\">'completed'</span> <i>"setStatus"</i><span style=\"color: navy\">;</span>\r\n acteGroup<span style=\"color: navy\"><b> -> </b></span> procedure.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n acteGroup<span style=\"color: navy\"><b> -> </b></span> encounter.id<b> as </b><span style=\"color: maroon\">encId</span><span style=\"color: navy\">, </span> procedure.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\">ref</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encId</span><span style=\"color: navy\">)</span> <i>"setencounter"</i><span style=\"color: navy\">;</span>\r\n acteGroup.item<b> as </b><span style=\"color: maroon\">acteCodeItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7758110033600'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> acteCodeItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>procedure.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span> code.coding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractactecode"</i><span style=\"color: navy\">;</span>\r\n acteGroup.item<b> as </b><span style=\"color: maroon\">dateItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5066866286682'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>procedure.performed = <span style=\"color: navy\">(</span>%ans.value.ofType(dateTime)<span style=\"color: navy\">)</span> <i>"setperformed"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractperformeddate"</i><span style=\"color: navy\">;</span>\r\n pmsiItem<span style=\"color: navy\"><b> -> </b></span> procedure.id<b> as </b><span style=\"color: maroon\">procId</span><span style=\"color: navy\">, </span> procedureEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">procId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createprocedure"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"procedureentry"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateMedicationRequests<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.item<b> as </b><span style=\"color: maroon\">medExpoGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '817801935685'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> medExpoGroup.item<b> as </b><span style=\"color: maroon\">prescribedGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '156631794800'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">medReqEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedGroup<span style=\"color: navy\"><b> -> </b></span>medReqEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'MedicationRequest'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">medReq</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedGroup.answer<b> as </b><span style=\"color: maroon\">prescribedMedForId</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedMedForId.item<b> as </b><span style=\"color: maroon\">medReqIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '145920953908'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> medReqIdItem.answer<b> as </b><span style=\"color: maroon\">medReqIdAns</span><span style=\"color: navy\"><b> -> </b></span>medReq.id = <span style=\"color: navy\">(</span>%medReqIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setmedreqid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmedreqid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navPrescribedMedForId"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> medReq.id<b> as </b><span style=\"color: maroon\">medReqId</span><span style=\"color: navy\">, </span> medReqEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">medReqId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup<span style=\"color: navy\"><b> -> </b></span>medReq.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedGroup<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-medication-request'</span> <i>"medreqprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"medreqmeta"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup<span style=\"color: navy\"><b> -> </b></span> medReq.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup<span style=\"color: navy\"><b> -> </b></span>medReq.status = <span style=\"color: blue\">'active'</span> <i>"setstatus"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup<span style=\"color: navy\"><b> -> </b></span>medReq.intent = <span style=\"color: blue\">'order'</span> <i>"setintent"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup.answer<b> as </b><span style=\"color: maroon\">prescribedMedication</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedMedication.item<b> as </b><span style=\"color: maroon\">atcItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '1923143398283'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> atcItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span> medReq.medication = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">medReqCC</span><span style=\"color: navy\">, </span> medReqCC.coding<b> as </b><span style=\"color: maroon\">medReqC</span><span style=\"color: navy\">, </span> medReqC.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> medReqC.display = <span style=\"color: navy\">(</span>%prescribedMedication.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setAtcCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navAtcItem"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navPrescribedMedication"</i><span style=\"color: navy\">;</span>\r\n prescribedGroup<span style=\"color: navy\"><b> -> </b></span>medReq.dosageInstruction = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Dosage'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">dosage</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedGroup.answer<b> as </b><span style=\"color: maroon\">prescribedMedication</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prescribedMedication.item<b> as </b><span style=\"color: maroon\">routeItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '387026794874'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> routeItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>dosage.route<b> as </b><span style=\"color: maroon\">route</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span> route.coding<b> as </b><span style=\"color: maroon\">routeCoding</span><span style=\"color: navy\">, </span> routeCoding.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setroutecoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setroute"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navRouteItem"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navPrescribedMedication"</i><span style=\"color: navy\">;</span>\r\n medExpoGroup.item<b> as </b><span style=\"color: maroon\">posoGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '6348237104421'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span> dosage.timing<b> as </b><span style=\"color: maroon\">timing</span><span style=\"color: navy\">, </span> timing.repeat<b> as </b><span style=\"color: maroon\">timingRepeat</span><span style=\"color: navy\">, </span> timingRepeat.bounds = <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\">timingPeriod</span><b> then</b><span style=\"color: navy\"> {\r\n</span> posoGroup.item<b> as </b><span style=\"color: maroon\">DateDebItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '316347573327'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> DateDebItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>timingPeriod.start = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setDateDeb"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDateDeb"</i><span style=\"color: navy\">;</span>\r\n posoGroup.item<b> as </b><span style=\"color: maroon\">DateFinItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '429570775935'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> DateFinItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>timingPeriod.end = <span style=\"color: navy\">(</span>%ans.value.ofType(date)<span style=\"color: navy\">)</span> <i>"setDateFin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDateFin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navPoso"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setdosage"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createmedreq"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"medreqentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processmedexpo"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateMedicationAdministrations<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.item<b> as </b><span style=\"color: maroon\">medExpoGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '817801935685'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> medExpoGroup.item<b> as </b><span style=\"color: maroon\">adminGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '266852453304'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">medAdminEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> adminGroup<span style=\"color: navy\"><b> -> </b></span>medAdminEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'MedicationAdministration'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">medAdmin</span><b> then</b><span style=\"color: navy\"> {\r\n</span> adminGroup.answer<b> as </b><span style=\"color: maroon\">administeredMedForId</span><b> then</b><span style=\"color: navy\"> {\r\n</span> administeredMedForId.item<b> as </b><span style=\"color: maroon\">medAdminIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '870029232684'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> medAdminIdItem.answer<b> as </b><span style=\"color: maroon\">medAdminIdAns</span><span style=\"color: navy\"><b> -> </b></span>medAdmin.id = <span style=\"color: navy\">(</span>%medAdminIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setmedadminid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmedadminid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navAdministeredMedForId"</i><span style=\"color: navy\">;</span>\r\n src<span style=\"color: navy\"><b> -> </b></span> medAdmin.id<b> as </b><span style=\"color: maroon\">medAdminId</span><span style=\"color: navy\">, </span> medAdminEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">medAdminId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n adminGroup<span style=\"color: navy\"><b> -> </b></span>medAdmin.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> adminGroup<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-medication-administration'</span> <i>"medadminprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"medadminmeta"</i><span style=\"color: navy\">;</span>\r\n adminGroup<span style=\"color: navy\"><b> -> </b></span> medAdmin.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n adminGroup<span style=\"color: navy\"><b> -> </b></span>medAdmin.status = <span style=\"color: blue\">'completed'</span> <i>"setstatus"</i><span style=\"color: navy\">;</span>\r\n adminGroup.answer<b> as </b><span style=\"color: maroon\">administeredMedication</span><b> then</b><span style=\"color: navy\"> {\r\n</span> administeredMedication.item<b> as </b><span style=\"color: maroon\">atcItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '631972144976'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> atcItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span> medAdmin.medication = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">medAdminCC</span><span style=\"color: navy\">, </span> medAdminCC.coding<b> as </b><span style=\"color: maroon\">medAdminC</span><span style=\"color: navy\">, </span> medAdminC.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> medAdminC.display = <span style=\"color: navy\">(</span>%administeredMedication.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setAtcCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navAtcItem"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navadministeredMedication"</i><span style=\"color: navy\">;</span>\r\n adminGroup<span style=\"color: navy\"><b> -> </b></span>medAdmin.dosage<b> as </b><span style=\"color: maroon\">dosage</span><b> then</b><span style=\"color: navy\"> {\r\n</span> adminGroup.answer<b> as </b><span style=\"color: maroon\">administeredMedication</span><b> then</b><span style=\"color: navy\"> {\r\n</span> administeredMedication.item<b> as </b><span style=\"color: maroon\">routeItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '811931484859'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> routeItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>dosage.route = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">route</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span> route.coding<b> as </b><span style=\"color: maroon\">routeCoding</span><span style=\"color: navy\">, </span> routeCoding.code = <span style=\"color: navy\">(</span>%ans.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setroutecoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setroute"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navRoute"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navadministeredMedication"</i><span style=\"color: navy\">;</span>\r\n medExpoGroup.item<b> as </b><span style=\"color: maroon\">doseGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5720103839343'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> doseGroup.item<b> as </b><span style=\"color: maroon\">quantityItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '4765772671997'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> quantityItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>dosage.dose = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span> <i>"setDose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navquantity"</i><span style=\"color: navy\">;</span>\r\n doseGroup.item<b> as </b><span style=\"color: maroon\">startItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '1443558617577'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> startItem.answer<b> as </b><span style=\"color: maroon\">startAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> doseGroup.item<b> as </b><span style=\"color: maroon\">endItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '780829110731'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> endItem.answer<b> as </b><span style=\"color: maroon\">endAns</span><span style=\"color: navy\"><b> -> </b></span> medAdmin.effective = <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\">adminPeriod</span><span style=\"color: navy\">, </span> adminPeriod.start = <span style=\"color: navy\">(</span>%startAns.value<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> adminPeriod.end = <span style=\"color: navy\">(</span>%endAns.value<span style=\"color: navy\">)</span> <i>"setAdminPeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navEnd"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navStartAns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navStart"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDosage"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setdosage"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createmedadmin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"medadminentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processmedexpoadmin"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateVitalSignObservations<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.item<b> as </b><span style=\"color: maroon\">examGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '214880328197'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> examGroup.item<b> as </b><span style=\"color: maroon\">dossierGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '305831246173'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dossierGroup.item<b> as </b><span style=\"color: maroon\">heightItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '4846902346416'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> heightItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">heightIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '854021250495'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> heightIdItem.answer<b> as </b><span style=\"color: maroon\">heightIdAns</span><span style=\"color: navy\"><b> -> </b></span>obs.id = <span style=\"color: navy\">(</span>%heightIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setobsid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractheightid"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.id<b> as </b><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">, </span> obsEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-body-height'</span> <i>"obsprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>"obsstatus"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.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>"obscategory"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.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: blue\">'8302-2'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Body height'</span><span style=\"color: navy\">)</span> <i>"obscode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtObsVal</span><span style=\"color: navy\">, </span> tgtObsVal.code = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> tgtObsVal.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">dateItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '941821315470'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateItem.answer<b> as </b><span style=\"color: maroon\">dateAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateAns.value<b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\"><b> -> </b></span>obs.effective = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"seteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDateAns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createheightobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightobsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractheight"</i><span style=\"color: navy\">;</span>\r\n dossierGroup.item<b> as </b><span style=\"color: maroon\">weightItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '451513217936'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> weightItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">weightIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '199208534521'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> weightIdItem.answer<b> as </b><span style=\"color: maroon\">weightIdAns</span><span style=\"color: navy\"><b> -> </b></span>obs.id = <span style=\"color: navy\">(</span>%weightIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setobsid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractweightid"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.id<b> as </b><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">, </span> obsEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-body-weight'</span> <i>"obsprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>"obsstatus"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.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>"obscategory"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.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: blue\">'29463-7'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Body weight'</span><span style=\"color: navy\">)</span> <i>"obscode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtObsVal</span><span style=\"color: navy\">, </span> tgtObsVal.code = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> tgtObsVal.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">dateItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '151269044052'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateItem.answer<b> as </b><span style=\"color: maroon\">dateAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateAns.value<b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\"><b> -> </b></span>obs.effective = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"seteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDateAns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createweightobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightobsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractweight"</i><span style=\"color: navy\">;</span>\r\n dossierGroup.item<b> as </b><span style=\"color: maroon\">sysItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '4160905247955'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysItem.answer<b> as </b><span style=\"color: maroon\">sysAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dossierGroup.item<b> as </b><span style=\"color: maroon\">diaItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '848797127998'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diaItem.answer<b> as </b><span style=\"color: maroon\">diaAns</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysAns<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysAns.item<b> as </b><span style=\"color: maroon\">sysIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '734815456784'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysIdItem.answer<b> as </b><span style=\"color: maroon\">sysIdAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diaAns.item<b> as </b><span style=\"color: maroon\">diaIdItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '926430936118'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diaIdItem.answer<b> as </b><span style=\"color: maroon\">diaIdAns</span><span style=\"color: navy\"><b> -> </b></span>obs.id = <span style=\"color: navy\">(</span>%sysIdAns.value.ofType(string) + '-' + %diaIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setobsid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdiaid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navSysIdAns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractsysid"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span> obs.id<b> as </b><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">, </span> obsEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysAns<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-blood-pressure'</span> <i>"obsprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsmeta"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>"obsstatus"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span>obs.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>"obscategory"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span>obs.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: blue\">'85354-9'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Blood pressure panel'</span><span style=\"color: navy\">)</span> <i>"obscode"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span> obs.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span>obs.component<b> as </b><span style=\"color: maroon\">sysComp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysAns<span style=\"color: navy\"><b> -> </b></span>sysComp.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: blue\">'8480-6'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Systolic blood pressure'</span><span style=\"color: navy\">)</span> <i>"syscode"</i><span style=\"color: navy\">;</span>\r\n sysAns<span style=\"color: navy\"><b> -> </b></span> sysComp.value = <span style=\"color: navy\">(</span>%sysAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">sysVal</span><span style=\"color: navy\">, </span> sysVal.code = <span style=\"color: navy\">(</span>%sysAns.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> sysVal.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sysvalue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setsystolic"</i><span style=\"color: navy\">;</span>\r\n diaAns<span style=\"color: navy\"><b> -> </b></span>obs.component<b> as </b><span style=\"color: maroon\">diaComp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> diaAns<span style=\"color: navy\"><b> -> </b></span>diaComp.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: blue\">'8462-4'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'Diastolic blood pressure'</span><span style=\"color: navy\">)</span> <i>"diacode"</i><span style=\"color: navy\">;</span>\r\n diaAns<span style=\"color: navy\"><b> -> </b></span> diaComp.value = <span style=\"color: navy\">(</span>%diaAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">diaVal</span><span style=\"color: navy\">, </span> diaVal.code = <span style=\"color: navy\">(</span>%diaAns.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> diaVal.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"diavalue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setdiastolic"</i><span style=\"color: navy\">;</span>\r\n sysAns.item<b> as </b><span style=\"color: maroon\">sysDateItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '987654638442'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sysDateItem.answer<b> as </b><span style=\"color: maroon\">dateAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateAns.value<b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\"><b> -> </b></span>obs.effective = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"seteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDateAns"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"navDate"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createbpobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bpobsentr"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdiastolic"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processsystolic"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractbloodpressure"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processdossier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processexam"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>CreateLaboratoryObservations<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.item<b> as </b><span style=\"color: maroon\">bioGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7702944131447'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> bioGroup.item<b> as </b><span style=\"color: maroon\">renalGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '5241323453538'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> renalGroup.item<b> as </b><span style=\"color: maroon\">ureaItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '7169026818760'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ureaItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-uremie'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'22664-7'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Urée [Moles/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracturea"</i><span style=\"color: navy\">;</span>\r\n renalGroup.item<b> as </b><span style=\"color: maroon\">creatItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '500408205043'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> creatItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-creat'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'14682-9'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Créatinine [Moles/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '488869963230'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '984480974142'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractcreat"</i><span style=\"color: navy\">;</span>\r\n renalGroup.item<b> as </b><span style=\"color: maroon\">dfgItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '786621340679'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dfgItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-dfg'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">loincItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '974417569313'<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> loincItem.answer<b> as </b><span style=\"color: maroon\">loincAns</span><span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> loincAns<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n loincAns.value<b> as </b><span style=\"color: maroon\">loincValue</span><span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: maroon\">loincValue</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '809916645548'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '323493215684'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractdfg"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processrenal"</i><span style=\"color: navy\">;</span>\r\n bioGroup.item<b> as </b><span style=\"color: maroon\">hemoGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '419282985970'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> hemoGroup.item<b> as </b><span style=\"color: maroon\">leukoItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '210077225604'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> leukoItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-leucocytes'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'6690-2'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Leucocytes [Nombre/Volume] Sang ; Numérique ; Comptage automate'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractleuko"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">hemoItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '304159088493'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> hemoItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hemoglobine'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'718-7'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Hémoglobine [Masse/Volume] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'g/dL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthemo"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">hematItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '813863316705'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> hematItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hematocrite'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'4544-3'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Hématocrite [Fraction volumique] Sang ; Numérique ; Comptage automate'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthemat"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">eryItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '459731866614'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> eryItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-erythrocytes'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'789-8'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Érythrocytes [Nombre/Volume] Sang ; Numérique ; Comptage automate'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*6/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractery"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">vgmItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '163624088831'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> vgmItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-vgm'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'30428-7'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Volume globulaire moyen [Volume d\\'entité] Érythrocytes ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'fL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractvgm"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">platItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '794156787471'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> platItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-plaquettes'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'777-3'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Plaquettes [Nombre/Volume] Sang ; Numérique ; Comptage automate'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractplat"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">neutItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '961905168477'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> neutItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-neutrophiles'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'26499-4'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Polynucléaires neutrophiles [Nombre/Volume] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractneut"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">lymphItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '695150914696'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lymphItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-lymphocytes'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'26474-7'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Lymphocytes totaux [Nombre/Volume] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlymph"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">eosiItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '700490326748'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> eosiItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-eosinophiles'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'26449-9'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Polynucléaires éosinophiles [Nombre/Volume] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracteosi"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">monoItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '168661900522'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> monoItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-monocytes'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'26484-6'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Monocytes [Nombre/Volume] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'10*3/uL'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractmono"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">tpItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '658898841893'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tpItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-tp'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'5894-1'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Temps de quick Patient (%) [Temps relatif] Plasma pauvre en plaquettes ; Numérique ; Coagulation'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracttp"</i><span style=\"color: navy\">;</span>\r\n hemoGroup.item<b> as </b><span style=\"color: maroon\">tcaItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '795145096241'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tcaItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-generic'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">loincItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('code loinc')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> loincItem.answer<b> as </b><span style=\"color: maroon\">loincAns</span><span style=\"color: navy\"><b> -> </b></span> obs.code<b> as </b><span style=\"color: maroon\">code</span><span style=\"color: navy\">, </span> code.coding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\">, </span> coding.code = <span style=\"color: navy\">(</span>%loincAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setloinccoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractloinc"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity).unit<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracttca"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processhemo"</i><span style=\"color: navy\">;</span>\r\n bioGroup.item<b> as </b><span style=\"color: maroon\">liverGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '796308115381'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> liverGroup.item<b> as </b><span style=\"color: maroon\">asatItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '715226319725'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> asatItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-asat'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'30239-8'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Aspartate aminotransférase [Catalytique/Volume] Sérum/Plasma ; Numérique ; Avec phosphate de pyridoxal'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractasat"</i><span style=\"color: navy\">;</span>\r\n liverGroup.item<b> as </b><span style=\"color: maroon\">alatItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '876439410327'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> alatItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-alat'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'1743-4'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Alanine aminotransférase [Catalytique/Volume] Sérum/Plasma ; Numérique ; Avec phosphate de pyridoxal'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'[IU]/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractalat"</i><span style=\"color: navy\">;</span>\r\n liverGroup.item<b> as </b><span style=\"color: maroon\">ggtItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '287545455976'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ggtItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-ggt'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'2324-2'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Gamma glutamyltransférase [Catalytique/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractggt"</i><span style=\"color: navy\">;</span>\r\n liverGroup.item<b> as </b><span style=\"color: maroon\">palItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '508269571594'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> palItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-pal'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'6768-6'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Phosphatases alcalines [Catalytique/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'U/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractpal"</i><span style=\"color: navy\">;</span>\r\n liverGroup.item<b> as </b><span style=\"color: maroon\">bilTotItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '927344090061'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> bilTotItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-bilirubine-totale'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'14631-6'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Bilirubine [Moles/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractbiltot"</i><span style=\"color: navy\">;</span>\r\n liverGroup.item<b> as </b><span style=\"color: maroon\">bilConjItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '208196328453'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> bilConjItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-bilirubine-conjuguee'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'29760-6'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Bilirubine conjuguée [Moles/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'umol/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractbilconj"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processliver"</i><span style=\"color: navy\">;</span>\r\n bioGroup.item<b> as </b><span style=\"color: maroon\">glucoseGroup</span><b> where </b><span style=\"color: navy\">(</span>linkId = '334039497382'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> glucoseGroup.item<b> as </b><span style=\"color: maroon\">glycItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '273778921448'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> glycItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-glycemie-a-jeun'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'14749-6'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Glucose [Moles/Volume] Sérum/Plasma ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'mmol/L'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractglyc"</i><span style=\"color: navy\">;</span>\r\n glucoseGroup.item<b> as </b><span style=\"color: maroon\">hba1cItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '632894677152'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> hba1cItem.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -> </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">obsEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>obsEntry.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\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<b> then </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><span style=\"color: maroon\">ans</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span> <i>"createcommon"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.meta = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Meta'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">meta</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>meta.profile = <span style=\"color: blue\">'https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hba1c'</span> <i>"setprofile"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setmeta"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.code = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>code.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"setcodesystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'4548-4'</span> <i>"setcodevalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.display = <span style=\"color: blue\">'Hémoglobine A1c/hémoglobine totale [Fraction massique] Sang ; Numérique'</span> <i>"setcodedisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcode"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.value = <span style=\"color: navy\">(</span>%ans.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">val</span><span style=\"color: navy\">, </span> val.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> val.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setvalue"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.referenceRange<b> as </b><span style=\"color: maroon\">refRange</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">lowItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne inférieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lowItem.answer<b> as </b><span style=\"color: maroon\">lowAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.low = <span style=\"color: navy\">(</span>%lowAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtLow</span><span style=\"color: navy\">, </span> tgtLow.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtLow.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"setlow"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractlow"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">highItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Borne supérieure')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> highItem.answer<b> as </b><span style=\"color: maroon\">highAns</span><span style=\"color: navy\"><b> -> </b></span> refRange.high = <span style=\"color: navy\">(</span>%highAns.value.ofType(Quantity)<span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">tgtHigh</span><span style=\"color: navy\">, </span> tgtHigh.code = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.unit = <span style=\"color: blue\">'%'</span><span style=\"color: navy\">, </span> tgtHigh.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"sethigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthigh"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setrefrange"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"createobs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsentry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracthba1c"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processglucose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"processbiology"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Helper: fields common to every simple lab Observation (id/fullUrl, status, category, subject,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">value, effective, referenceRange). meta.profile and code are call-site responsibilities --</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">a literal `source` group parameter is rejected by Matchbox even when unused (see issue #10),</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">so each call site sets those two fields itself via trailing rules against the `obs`/`obsEntry`</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">target parameters this group is handed, rather than passing them in as data.</span>\r\n<b>group </b>CreateLabObservationCommon<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">ans</span>, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation, <b>target</b> <span style=\"color: maroon\">obsEntry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> ans.item<b> as </b><span style=\"color: maroon\">labIdItem</span><b> where </b><span style=\"color: navy\">(</span>text = 'Identifiant'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> labIdItem.answer<b> as </b><span style=\"color: maroon\">labIdAns</span><span style=\"color: navy\"><b> -> </b></span>obs.id = <span style=\"color: navy\">(</span>%labIdAns.value.ofType(string)<span style=\"color: navy\">)</span> <i>"setobsid"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extractobsid"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.id<b> as </b><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">, </span> obsEntry.fullUrl = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'urn:uuid:'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obsId</span><span style=\"color: navy\">)</span> <i>"setfullUrl"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>"obsstatus"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>obs.category = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'CodeableConcept'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>cat.coding = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Coding'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ans<span style=\"color: navy\"><b> -> </b></span>coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"catsystem"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span>coding.code = <span style=\"color: blue\">'laboratory'</span> <i>"catcode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcategorycoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setcategory"</i><span style=\"color: navy\">;</span>\r\n ans<span style=\"color: navy\"><b> -> </b></span> obs.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\">ref</span><span style=\"color: navy\">, </span> patient.id<b> as </b><span style=\"color: maroon\">patId</span><span style=\"color: navy\">, </span> ref.reference = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient/'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patId</span><span style=\"color: navy\">)</span> <i>"setsubject"</i><span style=\"color: navy\">;</span>\r\n ans.item<b> as </b><span style=\"color: maroon\">dateItem</span><b> where </b><span style=\"color: navy\">(</span>text.contains('Date et heure du prélèvement')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dateItem.answer<b> as </b><span style=\"color: maroon\">dateAns</span><span style=\"color: navy\"><b> -> </b></span>obs.effective = <span style=\"color: navy\">(</span>%dateAns.value.ofType(dateTime)<span style=\"color: navy\">)</span> <i>"seteffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"extracteffective"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureMap/Q2FSL",
"version" : "0.1.0",
"name" : "Q2FSL",
"title" : "Questionnaire to FHIR Semantic Layer",
"status" : "draft",
"date" : "2026-08-27T14:35:15+00:00",
"publisher" : "AP-HP",
"contact" : [
{
"name" : "AP-HP",
"telecom" : [
{
"system" : "url",
"value" : "https://aphp.fr"
}
]
}
],
"description" : "Transforms QuestionnaireResponse based on Questionnaire Usage Variables socles into FHIR resources conforming to DM profiles",
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "FR"
}
]
}
],
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
"mode" : "source",
"alias" : "QuestionnaireResponse"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "target",
"alias" : "Bundle"
}
],
"group" : [
{
"name" : "QuestionnaireResponseToBundle",
"typeMode" : "none",
"documentation" : "Main entry point: Transform QuestionnaireResponse to Bundle",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "bundletype",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "collection"
}
]
}
],
"documentation" : "Initialize Bundle"
},
{
"name" : "setTimestamp",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "timestamp",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "now()"
}
]
}
]
},
{
"name" : "patiententry",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "patientEntry"
}
],
"rule" : [
{
"name" : "createpatientresource",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patientEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "patient",
"transform" : "create",
"parameter" : [
{
"valueString" : "Patient"
}
]
}
],
"rule" : [
{
"name" : "createpatient",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreatePatient",
"variable" : [
"src",
"patient"
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patientId"
},
{
"context" : "patientEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "patientId"
}
]
}
]
},
{
"name" : "createencounters",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreateEncounters",
"variable" : [
"src",
"patient",
"bundle"
]
}
],
"documentation" : "Create Encounters from PMSI data"
},
{
"name" : "createlabobservations",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreateLaboratoryObservations",
"variable" : [
"src",
"patient",
"bundle"
]
}
],
"documentation" : "Create Laboratory Observations"
},
{
"name" : "createmedicationrequests",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreateMedicationRequests",
"variable" : [
"src",
"patient",
"bundle"
]
}
],
"documentation" : "Create Medication Requests"
},
{
"name" : "createmedicationadministrations",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreateMedicationAdministrations",
"variable" : [
"src",
"patient",
"bundle"
]
}
],
"documentation" : "Create Medication Administrations"
},
{
"name" : "createvitalsigns",
"source" : [
{
"context" : "src"
}
],
"dependent" : [
{
"name" : "CreateVitalSignObservations",
"variable" : [
"src",
"patient",
"bundle"
]
}
],
"documentation" : "Create Vital Sign Observations"
}
]
}
],
"documentation" : "Create Patient resource"
}
]
},
{
"name" : "CreatePatient",
"typeMode" : "none",
"documentation" : "Group: Create Patient from QuestionnaireResponse",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
}
],
"rule" : [
{
"name" : "patientmeta",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "patientprofile",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-patient"
}
]
}
]
}
]
},
{
"name" : "processsociodemographics",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "socioDemo",
"condition" : "linkId = '4647259356106'"
}
],
"rule" : [
{
"name" : "processidentity",
"source" : [
{
"context" : "socioDemo",
"element" : "item",
"variable" : "identity",
"condition" : "linkId = '2958000860428'"
}
],
"rule" : [
{
"name" : "extractpatientid",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "patIdItem",
"condition" : "linkId = '236790258446'"
}
],
"rule" : [
{
"name" : "setpatientid",
"source" : [
{
"context" : "patIdItem",
"element" : "answer",
"variable" : "patIdAns"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%patIdAns.value.ofType(string)"
}
]
}
]
}
],
"documentation" : "Patient id (saisi manuellement dans le champ \"Identifiant\", linkId 236790258446)"
},
{
"name" : "setname",
"source" : [
{
"context" : "identity"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"transform" : "create",
"parameter" : [
{
"valueString" : "HumanName"
}
]
}
],
"rule" : [
{
"name" : "extractfamily",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "familyItem",
"condition" : "linkId = '8605698058770'"
}
],
"rule" : [
{
"name" : "setfamily",
"source" : [
{
"context" : "familyItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "extractgiven",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "givenItem",
"condition" : "linkId = '6214879623503'"
}
],
"rule" : [
{
"name" : "setgiven",
"source" : [
{
"context" : "givenItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
],
"documentation" : "Patient name (linkId 8605698058770 = family, 6214879623503 = given)"
},
{
"name" : "extractnir",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "nirItem",
"condition" : "linkId = '5711960356160'"
}
],
"rule" : [
{
"name" : "setnir",
"source" : [
{
"context" : "nirItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "identifier",
"variable" : "nir",
"transform" : "create",
"parameter" : [
{
"valueString" : "Identifier"
}
]
}
],
"rule" : [
{
"name" : "nirsystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "nir",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:1.2.250.1.213.1.4.8"
}
]
}
]
},
{
"name" : "nirvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "nir",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
},
{
"name" : "nirtype",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "nir",
"contextType" : "variable",
"element" : "type",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://interopsante.org/fhir/CodeSystem/fr-v2-0203"
},
{
"valueString" : "NIR"
}
]
}
]
}
]
}
],
"documentation" : "NIR identifier (linkId 5711960356160)"
},
{
"name" : "extractins",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "insItem",
"condition" : "linkId = '3764723550987'"
}
],
"rule" : [
{
"name" : "setins",
"source" : [
{
"context" : "insItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "identifier",
"variable" : "ins",
"transform" : "create",
"parameter" : [
{
"valueString" : "Identifier"
}
]
}
],
"rule" : [
{
"name" : "inssystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "ins",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:1.2.250.1.213.1.4.10"
}
]
}
]
},
{
"name" : "insvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "ins",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
},
{
"name" : "instype",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "ins",
"contextType" : "variable",
"element" : "type",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://interopsante.org/fhir/CodeSystem/fr-v2-0203"
},
{
"valueString" : "INS-C"
}
]
}
]
}
]
}
],
"documentation" : "INS identifier (linkId 3764723550987)"
},
{
"name" : "extractbirthdate",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "birthItem",
"condition" : "linkId = '5036133558154'"
}
],
"rule" : [
{
"name" : "setbirthdate",
"source" : [
{
"context" : "birthItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "birthDate",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
],
"documentation" : "Birth date (linkId 5036133558154)"
},
{
"name" : "extractdeath",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "deathItem",
"condition" : "linkId = '5633552097315'"
}
],
"rule" : [
{
"name" : "setdeceaseddate",
"source" : [
{
"context" : "deathItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "deceased",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
},
{
"name" : "extractdeathsource",
"source" : [
{
"context" : "deathItem",
"element" : "item",
"variable" : "deathSource",
"condition" : "linkId = '9098810065693'"
}
],
"rule" : [
{
"name" : "setdeathsourceext",
"source" : [
{
"context" : "deathSource",
"element" : "answer",
"variable" : "sourceAns"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "deathsourceurl",
"source" : [
{
"context" : "sourceAns"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-death-source"
}
]
}
]
},
{
"name" : "deathsourcevalue",
"source" : [
{
"context" : "sourceAns"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%sourceAns.value.ofType(Coding)"
}
]
}
]
}
]
}
],
"documentation" : "Death source (linkId 9098810065693)"
}
],
"documentation" : "Death date (linkId 5633552097315)"
},
{
"name" : "extractmultiplebirth",
"source" : [
{
"context" : "identity",
"element" : "item",
"variable" : "multipleItem",
"condition" : "linkId = '6931296968515'"
}
],
"rule" : [
{
"name" : "setmultiplebirth",
"source" : [
{
"context" : "multipleItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "multipleBirth",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(integer)"
}
]
}
]
}
],
"documentation" : "Multiple birth rank (linkId 6931296968515)"
}
]
},
{
"name" : "extractpmsidemographics",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "pmsiGroup",
"condition" : "linkId = '2825244231605'"
}
],
"rule" : [
{
"name" : "extractgender",
"source" : [
{
"context" : "pmsiGroup",
"element" : "item",
"variable" : "sexItem",
"condition" : "linkId = '3894630481120'"
}
],
"rule" : [
{
"name" : "valueCoding",
"source" : [
{
"context" : "sexItem",
"element" : "answer",
"variable" : "ans"
}
],
"rule" : [
{
"name" : "setGenderF",
"source" : [
{
"context" : "ans",
"element" : "valueString",
"variable" : "female",
"condition" : "$this = 'f'"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "gender",
"transform" : "copy",
"parameter" : [
{
"valueString" : "female"
}
]
}
]
},
{
"name" : "setGenderM",
"source" : [
{
"context" : "ans",
"element" : "valueString",
"variable" : "female",
"condition" : "$this = 'm'"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "gender",
"transform" : "copy",
"parameter" : [
{
"valueString" : "male"
}
]
}
]
}
]
}
]
},
{
"name" : "extractcodegeo",
"source" : [
{
"context" : "pmsiGroup",
"element" : "item",
"variable" : "codeGeoItem",
"condition" : "linkId = '2446369196222'"
}
],
"rule" : [
{
"name" : "setaddress",
"source" : [
{
"context" : "codeGeoItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "address",
"variable" : "addr",
"transform" : "create",
"parameter" : [
{
"valueString" : "Address"
}
]
}
],
"rule" : [
{
"name" : "setcodegeoext",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "codegeourl",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-pmsi-code-geo"
}
]
}
]
},
{
"name" : "codegeovalue",
"source" : [
{
"context" : "ans",
"element" : "value",
"variable" : "val"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"transform" : "cast",
"parameter" : [
{
"valueId" : "val"
},
{
"valueString" : "code"
}
]
}
]
}
]
},
{
"name" : "navEnv",
"source" : [
{
"context" : "socioDemo",
"element" : "item",
"variable" : "environnementItem",
"condition" : "linkId = '5491974639955'"
}
],
"rule" : [
{
"name" : "createGeolocExt",
"source" : [
{
"context" : "environnementItem",
"element" : "item",
"variable" : "geocodageItem",
"condition" : "linkId = '3816475533472'"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "extension",
"variable" : "geolocationExt",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "createLatExt",
"source" : [
{
"context" : "geocodageItem",
"element" : "item",
"variable" : "latItem",
"condition" : "linkId = '3709843054556'"
}
],
"target" : [
{
"context" : "geolocationExt",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/geolocation"
}
]
},
{
"context" : "geolocationExt",
"contextType" : "variable",
"element" : "extension",
"variable" : "latExt",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "setLat",
"source" : [
{
"context" : "latItem",
"element" : "answer",
"variable" : "lat"
}
],
"target" : [
{
"context" : "latExt",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "latitude"
}
]
},
{
"context" : "latExt",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lat.value.ofType(decimal)"
}
]
}
],
"rule" : [
{
"name" : "createLongExt",
"source" : [
{
"context" : "geocodageItem",
"element" : "item",
"variable" : "longItem",
"condition" : "linkId = '7651448032665'"
}
],
"target" : [
{
"context" : "geolocationExt",
"contextType" : "variable",
"element" : "extension",
"variable" : "longExt",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "setLong",
"source" : [
{
"context" : "longItem",
"element" : "answer",
"variable" : "long"
}
],
"target" : [
{
"context" : "longExt",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "longitude"
}
]
},
{
"context" : "longExt",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%long.value.ofType(decimal)"
}
]
}
]
}
]
}
]
}
]
}
],
"documentation" : "geolocation"
},
{
"name" : "navIrisItem",
"source" : [
{
"context" : "environnementItem",
"element" : "item",
"variable" : "irisItem",
"condition" : "linkId = '7621032273792'"
}
],
"target" : [
{
"context" : "addr",
"contextType" : "variable",
"element" : "line",
"variable" : "addrLine"
},
{
"context" : "addrLine",
"contextType" : "variable",
"element" : "extension",
"variable" : "irisExt",
"transform" : "create",
"parameter" : [
{
"valueString" : "Extension"
}
]
}
],
"rule" : [
{
"name" : "setIrisExt",
"source" : [
{
"context" : "irisItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "irisExt",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-censusTract"
}
]
},
{
"context" : "irisExt",
"contextType" : "variable",
"element" : "valueString",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
],
"documentation" : "IRIS"
}
],
"documentation" : "Environnement"
}
]
}
],
"documentation" : "Address from code géographique (linkId 2446369196222)"
}
],
"documentation" : "Gender from PMSI data (linkId 3894630481120 within 2825244231605)"
}
],
"documentation" : "Extract patient identity data from linkId 4647259356106 > 2958000860428"
}
]
},
{
"name" : "CreateEncounters",
"typeMode" : "none",
"documentation" : "Group: Create Encounters from PMSI data",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "encounterentry",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "pmsiItem",
"condition" : "linkId = '2825244231605'"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "encounterEntry"
}
],
"rule" : [
{
"name" : "createencounter",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "encounterEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "encounter",
"transform" : "create",
"parameter" : [
{
"valueString" : "Encounter"
}
]
}
],
"rule" : [
{
"name" : "setencounterid",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patIdForEnc"
},
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%patIdForEnc.replace('-pat-', '-sej-')"
}
]
}
]
},
{
"name" : "encountermeta",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "encounterprofile",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-encounter"
}
]
}
]
}
]
},
{
"name" : "setStatus",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "finished"
}
]
}
]
},
{
"name" : "setClass",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "class",
"transform" : "c",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/v3-ActCode"
},
{
"valueString" : "IMP"
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setperiod",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "period",
"variable" : "period",
"transform" : "create",
"parameter" : [
{
"valueString" : "Period"
}
]
}
],
"rule" : [
{
"name" : "extractstart",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "startItem",
"condition" : "linkId = '5991443718282'"
}
],
"rule" : [
{
"name" : "setstart",
"source" : [
{
"context" : "startItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "period",
"contextType" : "variable",
"element" : "start",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
]
},
{
"name" : "extractend",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "endItem",
"condition" : "linkId = '6114780320846'"
}
],
"rule" : [
{
"name" : "setend",
"source" : [
{
"context" : "endItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "period",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
]
}
]
},
{
"name" : "extractmodein",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "modeInItem",
"condition" : "linkId = '6172398101212'"
}
],
"rule" : [
{
"name" : "navValue",
"source" : [
{
"context" : "modeInItem",
"element" : "answer",
"variable" : "ans"
}
],
"rule" : [
{
"name" : "setadmitsource",
"source" : [
{
"context" : "ans",
"element" : "valueString",
"variable" : "valueString"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "hospitalization",
"variable" : "hosp"
},
{
"context" : "hosp",
"contextType" : "variable",
"element" : "admitSource",
"variable" : "admitSource"
},
{
"context" : "admitSource",
"contextType" : "variable",
"element" : "coding",
"variable" : "admitSourceCoding"
},
{
"context" : "admitSourceCoding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "valueString"
}
]
}
]
}
]
}
]
},
{
"name" : "extractmodeout",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "modeOutItem",
"condition" : "linkId = '3354867075704'"
}
],
"rule" : [
{
"name" : "navValue",
"source" : [
{
"context" : "modeOutItem",
"element" : "answer",
"variable" : "ans"
}
],
"rule" : [
{
"name" : "setdischargedisposition",
"source" : [
{
"context" : "ans",
"element" : "valueString",
"variable" : "valueString"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "hospitalization",
"variable" : "hosp"
},
{
"context" : "hosp",
"contextType" : "variable",
"element" : "dischargeDisposition",
"variable" : "dischargeDisposition"
},
{
"context" : "dischargeDisposition",
"contextType" : "variable",
"element" : "coding",
"variable" : "dischargeDispositionCoding"
},
{
"context" : "dischargeDispositionCoding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "valueString"
}
]
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"variable" : "encId"
},
{
"context" : "encounterEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "encId"
}
]
}
]
},
{
"name" : "createconditions",
"source" : [
{
"context" : "pmsiItem"
}
],
"dependent" : [
{
"name" : "CreateConditions",
"variable" : [
"pmsiItem",
"patient",
"encounter",
"bundle"
]
}
]
},
{
"name" : "createprocedures",
"source" : [
{
"context" : "pmsiItem"
}
],
"dependent" : [
{
"name" : "CreateProcedures",
"variable" : [
"pmsiItem",
"patient",
"encounter",
"bundle"
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateConditions",
"typeMode" : "none",
"input" : [
{
"name" : "pmsiItem",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "encounter",
"type" : "Encounter",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "conditionentry",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "diagGroup",
"condition" : "linkId = '9391816419630'"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "conditionEntry"
}
],
"rule" : [
{
"name" : "createcondition",
"source" : [
{
"context" : "diagGroup"
}
],
"target" : [
{
"context" : "conditionEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "condition",
"transform" : "create",
"parameter" : [
{
"valueString" : "Condition"
}
]
}
],
"rule" : [
{
"name" : "extractconditionid",
"source" : [
{
"context" : "diagGroup",
"element" : "item",
"variable" : "condIdItem",
"condition" : "linkId = '123759733087'"
}
],
"rule" : [
{
"name" : "setconditionid",
"source" : [
{
"context" : "condIdItem",
"element" : "answer",
"variable" : "condIdAns"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%condIdAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "conditionmeta",
"source" : [
{
"context" : "diagGroup"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "conditionprofile",
"source" : [
{
"context" : "diagGroup"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-condition"
}
]
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "diagGroup"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setencounter",
"source" : [
{
"context" : "diagGroup"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"variable" : "encId"
},
{
"context" : "condition",
"contextType" : "variable",
"element" : "encounter",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Encounter/"
},
{
"valueId" : "encId"
}
]
}
]
},
{
"name" : "extractdiagcode",
"source" : [
{
"context" : "diagGroup",
"element" : "item",
"variable" : "diagCodeItem",
"condition" : "linkId = '5505101189372'"
}
],
"rule" : [
{
"name" : "setcode",
"source" : [
{
"context" : "diagCodeItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "extractdiagtype",
"source" : [
{
"context" : "diagGroup",
"element" : "item",
"variable" : "diagTypeItem",
"condition" : "linkId = '6427586743735'"
}
],
"rule" : [
{
"name" : "setcategory",
"source" : [
{
"context" : "diagTypeItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "category",
"variable" : "category",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcategorycoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "category",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "diagtypesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/CodeSystem/pmsi-mco-diag-type"
}
]
}
]
},
{
"name" : "diagtypecode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractrecordeddate",
"source" : [
{
"context" : "diagGroup",
"element" : "item",
"variable" : "dateItem",
"condition" : "linkId = '7114466839467'"
}
],
"rule" : [
{
"name" : "setrecordeddate",
"source" : [
{
"context" : "dateItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "recordedDate",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "condition",
"contextType" : "variable",
"element" : "id",
"variable" : "condId"
},
{
"context" : "conditionEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "condId"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateProcedures",
"typeMode" : "none",
"input" : [
{
"name" : "pmsiItem",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "encounter",
"type" : "Encounter",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "procedureentry",
"source" : [
{
"context" : "pmsiItem",
"element" : "item",
"variable" : "acteGroup",
"condition" : "linkId = '591926901726'"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "procedureEntry"
}
],
"rule" : [
{
"name" : "createprocedure",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "procedureEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "procedure",
"transform" : "create",
"parameter" : [
{
"valueString" : "Procedure"
}
]
}
],
"rule" : [
{
"name" : "extractprocedureid",
"source" : [
{
"context" : "acteGroup",
"element" : "item",
"variable" : "procIdItem",
"condition" : "linkId = '151762387793'"
}
],
"rule" : [
{
"name" : "setprocedureid",
"source" : [
{
"context" : "procIdItem",
"element" : "answer",
"variable" : "procIdAns"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%procIdAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "proceduremeta",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "procedureprofile",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-procedure"
}
]
}
]
}
]
},
{
"name" : "setStatus",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "completed"
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setencounter",
"source" : [
{
"context" : "acteGroup"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"variable" : "encId"
},
{
"context" : "procedure",
"contextType" : "variable",
"element" : "encounter",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Encounter/"
},
{
"valueId" : "encId"
}
]
}
]
},
{
"name" : "extractactecode",
"source" : [
{
"context" : "acteGroup",
"element" : "item",
"variable" : "acteCodeItem",
"condition" : "linkId = '7758110033600'"
}
],
"rule" : [
{
"name" : "setcode",
"source" : [
{
"context" : "acteCodeItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "extractperformeddate",
"source" : [
{
"context" : "acteGroup",
"element" : "item",
"variable" : "dateItem",
"condition" : "linkId = '5066866286682'"
}
],
"rule" : [
{
"name" : "setperformed",
"source" : [
{
"context" : "dateItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "performed",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(dateTime)"
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "pmsiItem"
}
],
"target" : [
{
"context" : "procedure",
"contextType" : "variable",
"element" : "id",
"variable" : "procId"
},
{
"context" : "procedureEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "procId"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateMedicationRequests",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "processmedexpo",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "medExpoGroup",
"condition" : "linkId = '817801935685'"
}
],
"rule" : [
{
"name" : "medreqentry",
"source" : [
{
"context" : "medExpoGroup",
"element" : "item",
"variable" : "prescribedGroup",
"condition" : "linkId = '156631794800'"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "medReqEntry"
}
],
"rule" : [
{
"name" : "createmedreq",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReqEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "medReq",
"transform" : "create",
"parameter" : [
{
"valueString" : "MedicationRequest"
}
]
}
],
"rule" : [
{
"name" : "navPrescribedMedForId",
"source" : [
{
"context" : "prescribedGroup",
"element" : "answer",
"variable" : "prescribedMedForId"
}
],
"rule" : [
{
"name" : "extractmedreqid",
"source" : [
{
"context" : "prescribedMedForId",
"element" : "item",
"variable" : "medReqIdItem",
"condition" : "linkId = '145920953908'"
}
],
"rule" : [
{
"name" : "setmedreqid",
"source" : [
{
"context" : "medReqIdItem",
"element" : "answer",
"variable" : "medReqIdAns"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%medReqIdAns.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "id",
"variable" : "medReqId"
},
{
"context" : "medReqEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "medReqId"
}
]
}
]
},
{
"name" : "medreqmeta",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "medreqprofile",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-medication-request"
}
]
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setstatus",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
}
]
},
{
"name" : "setintent",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "intent",
"transform" : "copy",
"parameter" : [
{
"valueString" : "order"
}
]
}
]
},
{
"name" : "navPrescribedMedication",
"source" : [
{
"context" : "prescribedGroup",
"element" : "answer",
"variable" : "prescribedMedication"
}
],
"rule" : [
{
"name" : "navAtcItem",
"source" : [
{
"context" : "prescribedMedication",
"element" : "item",
"variable" : "atcItem",
"condition" : "linkId = '1923143398283'"
}
],
"rule" : [
{
"name" : "setAtcCoding",
"source" : [
{
"context" : "atcItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "medication",
"variable" : "medReqCC",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "medReqCC",
"contextType" : "variable",
"element" : "coding",
"variable" : "medReqC"
},
{
"context" : "medReqC",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
},
{
"context" : "medReqC",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%prescribedMedication.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "setdosage",
"source" : [
{
"context" : "prescribedGroup"
}
],
"target" : [
{
"context" : "medReq",
"contextType" : "variable",
"element" : "dosageInstruction",
"variable" : "dosage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Dosage"
}
]
}
],
"rule" : [
{
"name" : "navPrescribedMedication",
"source" : [
{
"context" : "prescribedGroup",
"element" : "answer",
"variable" : "prescribedMedication"
}
],
"rule" : [
{
"name" : "navRouteItem",
"source" : [
{
"context" : "prescribedMedication",
"element" : "item",
"variable" : "routeItem",
"condition" : "linkId = '387026794874'"
}
],
"rule" : [
{
"name" : "setroute",
"source" : [
{
"context" : "routeItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "dosage",
"contextType" : "variable",
"element" : "route",
"variable" : "route"
}
],
"rule" : [
{
"name" : "setroutecoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "route",
"contextType" : "variable",
"element" : "coding",
"variable" : "routeCoding"
},
{
"context" : "routeCoding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "navPoso",
"source" : [
{
"context" : "medExpoGroup",
"element" : "item",
"variable" : "posoGroup",
"condition" : "linkId = '6348237104421'"
}
],
"target" : [
{
"context" : "dosage",
"contextType" : "variable",
"element" : "timing",
"variable" : "timing"
},
{
"context" : "timing",
"contextType" : "variable",
"element" : "repeat",
"variable" : "timingRepeat"
},
{
"context" : "timingRepeat",
"contextType" : "variable",
"element" : "bounds",
"variable" : "timingPeriod",
"transform" : "create",
"parameter" : [
{
"valueString" : "Period"
}
]
}
],
"rule" : [
{
"name" : "navDateDeb",
"source" : [
{
"context" : "posoGroup",
"element" : "item",
"variable" : "DateDebItem",
"condition" : "linkId = '316347573327'"
}
],
"rule" : [
{
"name" : "setDateDeb",
"source" : [
{
"context" : "DateDebItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "timingPeriod",
"contextType" : "variable",
"element" : "start",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
]
},
{
"name" : "navDateFin",
"source" : [
{
"context" : "posoGroup",
"element" : "item",
"variable" : "DateFinItem",
"condition" : "linkId = '429570775935'"
}
],
"rule" : [
{
"name" : "setDateFin",
"source" : [
{
"context" : "DateFinItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "timingPeriod",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(date)"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateMedicationAdministrations",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "processmedexpoadmin",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "medExpoGroup",
"condition" : "linkId = '817801935685'"
}
],
"rule" : [
{
"name" : "medadminentry",
"source" : [
{
"context" : "medExpoGroup",
"element" : "item",
"variable" : "adminGroup",
"condition" : "linkId = '266852453304'"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "medAdminEntry"
}
],
"rule" : [
{
"name" : "createmedadmin",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "medAdminEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "medAdmin",
"transform" : "create",
"parameter" : [
{
"valueString" : "MedicationAdministration"
}
]
}
],
"rule" : [
{
"name" : "navAdministeredMedForId",
"source" : [
{
"context" : "adminGroup",
"element" : "answer",
"variable" : "administeredMedForId"
}
],
"rule" : [
{
"name" : "extractmedadminid",
"source" : [
{
"context" : "administeredMedForId",
"element" : "item",
"variable" : "medAdminIdItem",
"condition" : "linkId = '870029232684'"
}
],
"rule" : [
{
"name" : "setmedadminid",
"source" : [
{
"context" : "medAdminIdItem",
"element" : "answer",
"variable" : "medAdminIdAns"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%medAdminIdAns.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "id",
"variable" : "medAdminId"
},
{
"context" : "medAdminEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "medAdminId"
}
]
}
]
},
{
"name" : "medadminmeta",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "medadminprofile",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-medication-administration"
}
]
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setstatus",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "completed"
}
]
}
]
},
{
"name" : "navadministeredMedication",
"source" : [
{
"context" : "adminGroup",
"element" : "answer",
"variable" : "administeredMedication"
}
],
"rule" : [
{
"name" : "navAtcItem",
"source" : [
{
"context" : "administeredMedication",
"element" : "item",
"variable" : "atcItem",
"condition" : "linkId = '631972144976'"
}
],
"rule" : [
{
"name" : "setAtcCoding",
"source" : [
{
"context" : "atcItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "medication",
"variable" : "medAdminCC",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "medAdminCC",
"contextType" : "variable",
"element" : "coding",
"variable" : "medAdminC"
},
{
"context" : "medAdminC",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
},
{
"context" : "medAdminC",
"contextType" : "variable",
"element" : "display",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%administeredMedication.value.ofType(string)"
}
]
}
]
}
]
}
]
},
{
"name" : "setdosage",
"source" : [
{
"context" : "adminGroup"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "dosage",
"variable" : "dosage"
}
],
"rule" : [
{
"name" : "navadministeredMedication",
"source" : [
{
"context" : "adminGroup",
"element" : "answer",
"variable" : "administeredMedication"
}
],
"rule" : [
{
"name" : "navRoute",
"source" : [
{
"context" : "administeredMedication",
"element" : "item",
"variable" : "routeItem",
"condition" : "linkId = '811931484859'"
}
],
"rule" : [
{
"name" : "setroute",
"source" : [
{
"context" : "routeItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "dosage",
"contextType" : "variable",
"element" : "route",
"variable" : "route",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setroutecoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "route",
"contextType" : "variable",
"element" : "coding",
"variable" : "routeCoding"
},
{
"context" : "routeCoding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(string)"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "navDosage",
"source" : [
{
"context" : "medExpoGroup",
"element" : "item",
"variable" : "doseGroup",
"condition" : "linkId = '5720103839343'"
}
],
"rule" : [
{
"name" : "navquantity",
"source" : [
{
"context" : "doseGroup",
"element" : "item",
"variable" : "quantityItem",
"condition" : "linkId = '4765772671997'"
}
],
"rule" : [
{
"name" : "setDose",
"source" : [
{
"context" : "quantityItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "dosage",
"contextType" : "variable",
"element" : "dose",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
}
]
}
]
},
{
"name" : "navStart",
"source" : [
{
"context" : "doseGroup",
"element" : "item",
"variable" : "startItem",
"condition" : "linkId = '1443558617577'"
}
],
"rule" : [
{
"name" : "navStartAns",
"source" : [
{
"context" : "startItem",
"element" : "answer",
"variable" : "startAns"
}
],
"rule" : [
{
"name" : "navEnd",
"source" : [
{
"context" : "doseGroup",
"element" : "item",
"variable" : "endItem",
"condition" : "linkId = '780829110731'"
}
],
"rule" : [
{
"name" : "setAdminPeriod",
"source" : [
{
"context" : "endItem",
"element" : "answer",
"variable" : "endAns"
}
],
"target" : [
{
"context" : "medAdmin",
"contextType" : "variable",
"element" : "effective",
"variable" : "adminPeriod",
"transform" : "create",
"parameter" : [
{
"valueString" : "Period"
}
]
},
{
"context" : "adminPeriod",
"contextType" : "variable",
"element" : "start",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%startAns.value"
}
]
},
{
"context" : "adminPeriod",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%endAns.value"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateVitalSignObservations",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "processexam",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "examGroup",
"condition" : "linkId = '214880328197'"
}
],
"rule" : [
{
"name" : "processdossier",
"source" : [
{
"context" : "examGroup",
"element" : "item",
"variable" : "dossierGroup",
"condition" : "linkId = '305831246173'"
}
],
"rule" : [
{
"name" : "extractheight",
"source" : [
{
"context" : "dossierGroup",
"element" : "item",
"variable" : "heightItem",
"condition" : "linkId = '4846902346416'"
}
],
"rule" : [
{
"name" : "heightobsentry",
"source" : [
{
"context" : "heightItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createheightobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "extractheightid",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "heightIdItem",
"condition" : "linkId = '854021250495'"
}
],
"rule" : [
{
"name" : "setobsid",
"source" : [
{
"context" : "heightIdItem",
"element" : "answer",
"variable" : "heightIdAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%heightIdAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"variable" : "obsId"
},
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsId"
}
]
}
]
},
{
"name" : "obsmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "obsprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-body-height"
}
]
}
]
}
]
},
{
"name" : "obsstatus",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "final"
}
]
}
]
},
{
"name" : "obscategory",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "category",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"valueString" : "vital-signs"
}
]
}
]
},
{
"name" : "obscode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://loinc.org"
},
{
"valueString" : "8302-2"
},
{
"valueString" : "Body height"
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "tgtObsVal",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtObsVal",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity).unit"
}
]
},
{
"context" : "tgtObsVal",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "extracteffective",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "dateItem",
"condition" : "linkId = '941821315470'"
}
],
"rule" : [
{
"name" : "navDateAns",
"source" : [
{
"context" : "dateItem",
"element" : "answer",
"variable" : "dateAns"
}
],
"rule" : [
{
"name" : "seteffective",
"source" : [
{
"context" : "dateAns",
"element" : "value",
"variable" : "val"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "effective",
"transform" : "cast",
"parameter" : [
{
"valueId" : "val"
},
{
"valueString" : "dateTime"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractweight",
"source" : [
{
"context" : "dossierGroup",
"element" : "item",
"variable" : "weightItem",
"condition" : "linkId = '451513217936'"
}
],
"rule" : [
{
"name" : "weightobsentry",
"source" : [
{
"context" : "weightItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createweightobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "extractweightid",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "weightIdItem",
"condition" : "linkId = '199208534521'"
}
],
"rule" : [
{
"name" : "setobsid",
"source" : [
{
"context" : "weightIdItem",
"element" : "answer",
"variable" : "weightIdAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%weightIdAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"variable" : "obsId"
},
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsId"
}
]
}
]
},
{
"name" : "obsmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "obsprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-body-weight"
}
]
}
]
}
]
},
{
"name" : "obsstatus",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "final"
}
]
}
]
},
{
"name" : "obscategory",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "category",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"valueString" : "vital-signs"
}
]
}
]
},
{
"name" : "obscode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://loinc.org"
},
{
"valueString" : "29463-7"
},
{
"valueString" : "Body weight"
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "tgtObsVal",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtObsVal",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity).unit"
}
]
},
{
"context" : "tgtObsVal",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "extracteffective",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "dateItem",
"condition" : "linkId = '151269044052'"
}
],
"rule" : [
{
"name" : "navDateAns",
"source" : [
{
"context" : "dateItem",
"element" : "answer",
"variable" : "dateAns"
}
],
"rule" : [
{
"name" : "seteffective",
"source" : [
{
"context" : "dateAns",
"element" : "value",
"variable" : "val"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "effective",
"transform" : "cast",
"parameter" : [
{
"valueId" : "val"
},
{
"valueString" : "dateTime"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractbloodpressure",
"source" : [
{
"context" : "dossierGroup",
"element" : "item",
"variable" : "sysItem",
"condition" : "linkId = '4160905247955'"
}
],
"rule" : [
{
"name" : "processsystolic",
"source" : [
{
"context" : "sysItem",
"element" : "answer",
"variable" : "sysAns"
}
],
"rule" : [
{
"name" : "extractdiastolic",
"source" : [
{
"context" : "dossierGroup",
"element" : "item",
"variable" : "diaItem",
"condition" : "linkId = '848797127998'"
}
],
"rule" : [
{
"name" : "bpobsentr",
"source" : [
{
"context" : "diaItem",
"element" : "answer",
"variable" : "diaAns"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createbpobs",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "extractsysid",
"source" : [
{
"context" : "sysAns",
"element" : "item",
"variable" : "sysIdItem",
"condition" : "linkId = '734815456784'"
}
],
"rule" : [
{
"name" : "navSysIdAns",
"source" : [
{
"context" : "sysIdItem",
"element" : "answer",
"variable" : "sysIdAns"
}
],
"rule" : [
{
"name" : "extractdiaid",
"source" : [
{
"context" : "diaAns",
"element" : "item",
"variable" : "diaIdItem",
"condition" : "linkId = '926430936118'"
}
],
"rule" : [
{
"name" : "setobsid",
"source" : [
{
"context" : "diaIdItem",
"element" : "answer",
"variable" : "diaIdAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%sysIdAns.value.ofType(string) + '-' + %diaIdAns.value.ofType(string)"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"variable" : "obsId"
},
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsId"
}
]
}
]
},
{
"name" : "obsmeta",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "obsprofile",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-blood-pressure"
}
]
}
]
}
]
},
{
"name" : "obsstatus",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "final"
}
]
}
]
},
{
"name" : "obscategory",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "category",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"valueString" : "vital-signs"
}
]
}
]
},
{
"name" : "obscode",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://loinc.org"
},
{
"valueString" : "85354-9"
},
{
"valueString" : "Blood pressure panel"
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "setsystolic",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "component",
"variable" : "sysComp"
}
],
"rule" : [
{
"name" : "syscode",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "sysComp",
"contextType" : "variable",
"element" : "code",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://loinc.org"
},
{
"valueString" : "8480-6"
},
{
"valueString" : "Systolic blood pressure"
}
]
}
]
},
{
"name" : "sysvalue",
"source" : [
{
"context" : "sysAns"
}
],
"target" : [
{
"context" : "sysComp",
"contextType" : "variable",
"element" : "value",
"variable" : "sysVal",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%sysAns.value.ofType(Quantity)"
}
]
},
{
"context" : "sysVal",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%sysAns.value.ofType(Quantity).unit"
}
]
},
{
"context" : "sysVal",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "setdiastolic",
"source" : [
{
"context" : "diaAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "component",
"variable" : "diaComp"
}
],
"rule" : [
{
"name" : "diacode",
"source" : [
{
"context" : "diaAns"
}
],
"target" : [
{
"context" : "diaComp",
"contextType" : "variable",
"element" : "code",
"transform" : "cc",
"parameter" : [
{
"valueString" : "http://loinc.org"
},
{
"valueString" : "8462-4"
},
{
"valueString" : "Diastolic blood pressure"
}
]
}
]
},
{
"name" : "diavalue",
"source" : [
{
"context" : "diaAns"
}
],
"target" : [
{
"context" : "diaComp",
"contextType" : "variable",
"element" : "value",
"variable" : "diaVal",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%diaAns.value.ofType(Quantity)"
}
]
},
{
"context" : "diaVal",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%diaAns.value.ofType(Quantity).unit"
}
]
},
{
"context" : "diaVal",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "navDate",
"source" : [
{
"context" : "sysAns",
"element" : "item",
"variable" : "sysDateItem",
"condition" : "linkId = '987654638442'"
}
],
"rule" : [
{
"name" : "navDateAns",
"source" : [
{
"context" : "sysDateItem",
"element" : "answer",
"variable" : "dateAns"
}
],
"rule" : [
{
"name" : "seteffective",
"source" : [
{
"context" : "dateAns",
"element" : "value",
"variable" : "val"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "effective",
"transform" : "cast",
"parameter" : [
{
"valueId" : "val"
},
{
"valueString" : "dateTime"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateLaboratoryObservations",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "processbiology",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "bioGroup",
"condition" : "linkId = '7702944131447'"
}
],
"rule" : [
{
"name" : "processrenal",
"source" : [
{
"context" : "bioGroup",
"element" : "item",
"variable" : "renalGroup",
"condition" : "linkId = '5241323453538'"
}
],
"rule" : [
{
"name" : "extracturea",
"source" : [
{
"context" : "renalGroup",
"element" : "item",
"variable" : "ureaItem",
"condition" : "linkId = '7169026818760'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "ureaItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-uremie"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "22664-7"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Urée [Moles/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractcreat",
"source" : [
{
"context" : "renalGroup",
"element" : "item",
"variable" : "creatItem",
"condition" : "linkId = '500408205043'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "creatItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-creat"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "14682-9"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Créatinine [Moles/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "linkId = '488869963230'"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "linkId = '984480974142'"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractdfg",
"source" : [
{
"context" : "renalGroup",
"element" : "item",
"variable" : "dfgItem",
"condition" : "linkId = '786621340679'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "dfgItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-dfg"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "loincItem",
"condition" : "linkId = '974417569313'"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "loincItem",
"element" : "answer",
"variable" : "loincAns"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "loincAns"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "loincAns",
"element" : "value",
"variable" : "loincValue"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "loincValue"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "linkId = '809916645548'"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "linkId = '323493215684'"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "processhemo",
"source" : [
{
"context" : "bioGroup",
"element" : "item",
"variable" : "hemoGroup",
"condition" : "linkId = '419282985970'"
}
],
"rule" : [
{
"name" : "extractleuko",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "leukoItem",
"condition" : "linkId = '210077225604'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "leukoItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-leucocytes"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "6690-2"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Leucocytes [Nombre/Volume] Sang ; Numérique ; Comptage automate"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracthemo",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "hemoItem",
"condition" : "linkId = '304159088493'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "hemoItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hemoglobine"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "718-7"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Hémoglobine [Masse/Volume] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "g/dL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracthemat",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "hematItem",
"condition" : "linkId = '813863316705'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "hematItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hematocrite"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4544-3"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Hématocrite [Fraction volumique] Sang ; Numérique ; Comptage automate"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractery",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "eryItem",
"condition" : "linkId = '459731866614'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "eryItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-erythrocytes"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "789-8"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Érythrocytes [Nombre/Volume] Sang ; Numérique ; Comptage automate"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*6/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractvgm",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "vgmItem",
"condition" : "linkId = '163624088831'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "vgmItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-vgm"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "30428-7"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Volume globulaire moyen [Volume d'entité] Érythrocytes ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "fL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractplat",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "platItem",
"condition" : "linkId = '794156787471'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "platItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-plaquettes"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "777-3"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Plaquettes [Nombre/Volume] Sang ; Numérique ; Comptage automate"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractneut",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "neutItem",
"condition" : "linkId = '961905168477'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "neutItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-neutrophiles"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "26499-4"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Polynucléaires neutrophiles [Nombre/Volume] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractlymph",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "lymphItem",
"condition" : "linkId = '695150914696'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "lymphItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-lymphocytes"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "26474-7"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Lymphocytes totaux [Nombre/Volume] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracteosi",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "eosiItem",
"condition" : "linkId = '700490326748'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "eosiItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-eosinophiles"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "26449-9"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Polynucléaires éosinophiles [Nombre/Volume] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractmono",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "monoItem",
"condition" : "linkId = '168661900522'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "monoItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-monocytes"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "26484-6"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Monocytes [Nombre/Volume] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "10*3/uL"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracttp",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "tpItem",
"condition" : "linkId = '658898841893'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "tpItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-tp"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "5894-1"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Temps de quick Patient (%) [Temps relatif] Plasma pauvre en plaquettes ; Numérique ; Coagulation"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracttca",
"source" : [
{
"context" : "hemoGroup",
"element" : "item",
"variable" : "tcaItem",
"condition" : "linkId = '795145096241'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "tcaItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-generic"
}
]
}
]
}
]
},
{
"name" : "extractloinc",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "loincItem",
"condition" : "text.contains('code loinc')"
}
],
"rule" : [
{
"name" : "setloinccoding",
"source" : [
{
"context" : "loincItem",
"element" : "answer",
"variable" : "loincAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code"
},
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%loincAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity).unit"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity).unit"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity).unit"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "processliver",
"source" : [
{
"context" : "bioGroup",
"element" : "item",
"variable" : "liverGroup",
"condition" : "linkId = '796308115381'"
}
],
"rule" : [
{
"name" : "extractasat",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "asatItem",
"condition" : "linkId = '715226319725'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "asatItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-asat"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "30239-8"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Aspartate aminotransférase [Catalytique/Volume] Sérum/Plasma ; Numérique ; Avec phosphate de pyridoxal"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractalat",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "alatItem",
"condition" : "linkId = '876439410327'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "alatItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-alat"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1743-4"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Alanine aminotransférase [Catalytique/Volume] Sérum/Plasma ; Numérique ; Avec phosphate de pyridoxal"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "[IU]/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractggt",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "ggtItem",
"condition" : "linkId = '287545455976'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "ggtItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-ggt"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2324-2"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Gamma glutamyltransférase [Catalytique/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractpal",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "palItem",
"condition" : "linkId = '508269571594'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "palItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-pal"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "6768-6"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Phosphatases alcalines [Catalytique/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractbiltot",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "bilTotItem",
"condition" : "linkId = '927344090061'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "bilTotItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-bilirubine-totale"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "14631-6"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Bilirubine [Moles/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extractbilconj",
"source" : [
{
"context" : "liverGroup",
"element" : "item",
"variable" : "bilConjItem",
"condition" : "linkId = '208196328453'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "bilConjItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-bilirubine-conjuguee"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "29760-6"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Bilirubine conjuguée [Moles/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "umol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "processglucose",
"source" : [
{
"context" : "bioGroup",
"element" : "item",
"variable" : "glucoseGroup",
"condition" : "linkId = '334039497382'"
}
],
"rule" : [
{
"name" : "extractglyc",
"source" : [
{
"context" : "glucoseGroup",
"element" : "item",
"variable" : "glycItem",
"condition" : "linkId = '273778921448'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "glycItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-glycemie-a-jeun"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "14749-6"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Glucose [Moles/Volume] Sérum/Plasma ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "mmol/L"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "extracthba1c",
"source" : [
{
"context" : "glucoseGroup",
"element" : "item",
"variable" : "hba1cItem",
"condition" : "linkId = '632894677152'"
}
],
"rule" : [
{
"name" : "obsentry",
"source" : [
{
"context" : "hba1cItem",
"element" : "answer",
"variable" : "ans"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "obsEntry"
}
],
"rule" : [
{
"name" : "createobs",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "obs",
"transform" : "create",
"parameter" : [
{
"valueString" : "Observation"
}
]
}
],
"rule" : [
{
"name" : "createcommon",
"source" : [
{
"context" : "ans"
}
],
"dependent" : [
{
"name" : "CreateLabObservationCommon",
"variable" : [
"ans",
"patient",
"obs",
"obsEntry"
]
}
]
},
{
"name" : "setmeta",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "meta",
"variable" : "meta",
"transform" : "create",
"parameter" : [
{
"valueString" : "Meta"
}
]
}
],
"rule" : [
{
"name" : "setprofile",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "meta",
"contextType" : "variable",
"element" : "profile",
"transform" : "copy",
"parameter" : [
{
"valueString" : "https://aphp.github.io/IG-FHIR-EDSH-SOCLE-COMMUN/StructureDefinition/edsh-observation-laboratory-hba1c"
}
]
}
]
}
]
},
{
"name" : "setcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "code",
"variable" : "code",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "code",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "setcodesystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
}
]
},
{
"name" : "setcodevalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4548-4"
}
]
}
]
},
{
"name" : "setcodedisplay",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "display",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Hémoglobine A1c/hémoglobine totale [Fraction massique] Sang ; Numérique"
}
]
}
]
}
]
}
]
},
{
"name" : "setvalue",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "value",
"variable" : "val",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%ans.value.ofType(Quantity)"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "val",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
},
{
"name" : "setrefrange",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "referenceRange",
"variable" : "refRange"
}
],
"rule" : [
{
"name" : "extractlow",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "lowItem",
"condition" : "text.contains('Borne inférieure')"
}
],
"rule" : [
{
"name" : "setlow",
"source" : [
{
"context" : "lowItem",
"element" : "answer",
"variable" : "lowAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "low",
"variable" : "tgtLow",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%lowAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtLow",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
},
{
"name" : "extracthigh",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "highItem",
"condition" : "text.contains('Borne supérieure')"
}
],
"rule" : [
{
"name" : "sethigh",
"source" : [
{
"context" : "highItem",
"element" : "answer",
"variable" : "highAns"
}
],
"target" : [
{
"context" : "refRange",
"contextType" : "variable",
"element" : "high",
"variable" : "tgtHigh",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%highAns.value.ofType(Quantity)"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "unit",
"transform" : "copy",
"parameter" : [
{
"valueString" : "%"
}
]
},
{
"context" : "tgtHigh",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://unitsofmeasure.org"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "CreateLabObservationCommon",
"typeMode" : "none",
"documentation" : "Helper: fields common to every simple lab Observation (id/fullUrl, status, category, subject,\r\nvalue, effective, referenceRange). meta.profile and code are call-site responsibilities --\r\na literal `source` group parameter is rejected by Matchbox even when unused (see issue #10),\r\nso each call site sets those two fields itself via trailing rules against the `obs`/`obsEntry`\r\ntarget parameters this group is handed, rather than passing them in as data.",
"input" : [
{
"name" : "ans",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "obs",
"type" : "Observation",
"mode" : "target"
},
{
"name" : "obsEntry",
"mode" : "target"
}
],
"rule" : [
{
"name" : "extractobsid",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "labIdItem",
"condition" : "text = 'Identifiant'"
}
],
"rule" : [
{
"name" : "setobsid",
"source" : [
{
"context" : "labIdItem",
"element" : "answer",
"variable" : "labIdAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%labIdAns.value.ofType(string)"
}
]
}
]
}
]
},
{
"name" : "setfullUrl",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "id",
"variable" : "obsId"
},
{
"context" : "obsEntry",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "obsId"
}
]
}
]
},
{
"name" : "obsstatus",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "final"
}
]
}
]
},
{
"name" : "setcategory",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "category",
"variable" : "cat",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
}
],
"rule" : [
{
"name" : "setcategorycoding",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "cat",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coding"
}
]
}
],
"rule" : [
{
"name" : "catsystem",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
}
]
}
]
},
{
"name" : "catcode",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "laboratory"
}
]
}
]
}
]
}
]
},
{
"name" : "setsubject",
"source" : [
{
"context" : "ans"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "subject",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "id",
"variable" : "patId"
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "Patient/"
},
{
"valueId" : "patId"
}
]
}
]
},
{
"name" : "extracteffective",
"source" : [
{
"context" : "ans",
"element" : "item",
"variable" : "dateItem",
"condition" : "text.contains('Date et heure du prélèvement')"
}
],
"rule" : [
{
"name" : "seteffective",
"source" : [
{
"context" : "dateItem",
"element" : "answer",
"variable" : "dateAns"
}
],
"target" : [
{
"context" : "obs",
"contextType" : "variable",
"element" : "effective",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "%dateAns.value.ofType(dateTime)"
}
]
}
]
}
]
}
]
}
]
}