SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build
SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions
| Active as of 2026-10-06 |
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- <http://hl7.org/fhir/StructureMap/ExtractMOH510ImmunisationRegister> a fhir:StructureMap ; fhir:nodeRole fhir:treeRoot ; fhir:id [ fhir:v "ExtractMOH510ImmunisationRegister"] ; # fhir:text [ fhir:status [ fhir:v "generated" ] ; fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ExtractMOH510ImmunisationRegister</b></p><a name=\"ExtractMOH510ImmunisationRegister\"> </a><a name=\"hcExtractMOH510ImmunisationRegister\"> </a><pre class=\"fml\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMOH510ImmunisationRegister'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ExtractMOH510ImmunisationRegister'</span>\r\n<span style=\"color: #cc00cc\">/// <b>title</b> = </span><span style=\"color: blue\">'MOH 510 Immunisation Permanent Register Extraction'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'active'</span>\r\n<span style=\"color: #cc00cc\">/// <b>description</b> = </span><span style=\"color: blue\">'Extracts a transaction Bundle from a QuestionnaireResponse to the Kenya MOH 510 Immunisation Permanent Register: guardian RelatedPersons, growth-monitoring Observations, one Immunization per antigen dose for sections L-Y/AA-AB/AD, Vitamin A MedicationAdministrations for section Z, danger-signs and education Observations, and an Appointment for the next scheduled visit. It creates no Patient, Encounter or EpisodeOfCare -- the register is launched from inside a visit the EMR has already opened, so all three arrive as context on the QuestionnaireResponse and are referenced rather than minted. QuestionnaireResponse.subject and .encounter are therefore both required.'</span>\r\n<span style=\"color: #cc00cc\">/// <b>experimental</b> = </span><span style=\"color: blue\">true</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">" </span><b>alias </b>QR <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/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<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/relatedperson.html\" title=\"RelatedPerson\">http://hl7.org/fhir/StructureDefinition/RelatedPerson</a><span style=\"color: navy\">" </span><b>alias </b>RelatedPerson <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">" </span><b>alias </b>Observation <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/immunization.html\" title=\"Immunization\">http://hl7.org/fhir/StructureDefinition/Immunization</a><span style=\"color: navy\">" </span><b>alias </b>Immunization <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/medicationadministration.html\" title=\"MedicationAdministration\">http://hl7.org/fhir/StructureDefinition/MedicationAdministration</a><span style=\"color: navy\">" </span><b>alias </b>MedicationAdministration <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R5/appointment.html\" title=\"Appointment\">http://hl7.org/fhir/StructureDefinition/Appointment</a><span style=\"color: navy\">" </span><b>alias </b>Appointment <b>as </b><b>target</b>\r\n\r\n<b>group </b>ExtractMOH510ImmunisationRegister<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <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> qr<span style=\"color: navy\"><b> -> </b></span>bundle.type = <span style=\"color: blue\">'transaction'</span> <i>"setBundleType"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------- A-K</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gReg</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-registration'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">No Patient is emitted. The child is registered before the register entry</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">is filled, so the patient already exists and arrives as</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">QuestionnaireResponse.subject -- every resource below references it.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Sections C (child number), D (name), E (sex), F (date of birth) and</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">J (address) are the paper form transcribing demographics the EMR already</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">holds, so they are deliberately not extracted: creating a Patient here</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">would mint a duplicate record, and a blind PUT would clobber fields the</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">form does not carry. Reconciling them belongs in registration, not here.</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">This makes QuestionnaireResponse.subject mandatory for extraction --</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">without it Immunization.patient (1..1) cannot be populated.</span>\r\n gReg.item<b> as </b><span style=\"color: maroon\">itH</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-RG-H-father-name'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itH.answer first<b> as </b><span style=\"color: maroon\">aH</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aH<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eFat</span><span style=\"color: navy\">, </span> eFat.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'RelatedPerson'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">fat</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>fat<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">fat</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> fat<span style=\"color: navy\">, </span> eFat<b> then </b>BuildRelatedPerson<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itH</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">fat</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eFat</span><span style=\"color: navy\">)</span> <i>"fatherBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>fat.relationship<b> as </b><span style=\"color: maroon\">relF</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>relF.coding<b> as </b><span style=\"color: maroon\">relFc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>relFc.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-RoleCode'</span> <i>"fatRelSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>relFc.code = <span style=\"color: blue\">'FTH'</span> <i>"fatRelCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>relFc.display = <span style=\"color: blue\">'father'</span> <i>"fatRelDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherRelCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherRelationship"</i><span style=\"color: navy\">;</span>\r\n aH.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>fat.name<b> as </b><span style=\"color: maroon\">nF</span><b> then</b><span style=\"color: navy\"> {\r\n</span> v<span style=\"color: navy\"><b> -> </b></span>nF.text = <span style=\"color: maroon\">v</span> <i>"fatherNameText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherName"</i><span style=\"color: navy\">;</span>\r\n gReg.item<b> as </b><span style=\"color: maroon\">itKf</span><b> where </b><span style=\"color: navy\">(</span>linkId = '42077-8'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itKf.answer first<b> as </b><span style=\"color: maroon\">aKf</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aKf.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>fat.telecom<b> as </b><span style=\"color: maroon\">tcF</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>tcF.system = <span style=\"color: blue\">'phone'</span> <i>"fatPhoneSystem"</i><span style=\"color: navy\">;</span>\r\n v<span style=\"color: navy\"><b> -> </b></span>tcF.value = <span style=\"color: maroon\">v</span> <i>"fatPhoneValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherTelecom"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherPhoneAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherPhoneRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherResource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"fatherRule"</i><span style=\"color: navy\">;</span>\r\n gReg.item<b> as </b><span style=\"color: maroon\">itI</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-RG-I-mother-name'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itI.answer first<b> as </b><span style=\"color: maroon\">aI</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aI<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eMot</span><span style=\"color: navy\">, </span> eMot.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'RelatedPerson'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">mot</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mot<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mot</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> mot<span style=\"color: navy\">, </span> eMot<b> then </b>BuildRelatedPerson<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itI</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">mot</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eMot</span><span style=\"color: navy\">)</span> <i>"motherBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mot.relationship<b> as </b><span style=\"color: maroon\">relM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>relM.coding<b> as </b><span style=\"color: maroon\">relMc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>relMc.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-RoleCode'</span> <i>"motRelSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>relMc.code = <span style=\"color: blue\">'MTH'</span> <i>"motRelCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>relMc.display = <span style=\"color: blue\">'mother'</span> <i>"motRelDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherRelCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherRelationship"</i><span style=\"color: navy\">;</span>\r\n aI.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>mot.name<b> as </b><span style=\"color: maroon\">nM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> v<span style=\"color: navy\"><b> -> </b></span>nM.text = <span style=\"color: maroon\">v</span> <i>"motherNameText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherName"</i><span style=\"color: navy\">;</span>\r\n gReg.item<b> as </b><span style=\"color: maroon\">itKm</span><b> where </b><span style=\"color: navy\">(</span>linkId = '42077-8'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itKm.answer first<b> as </b><span style=\"color: maroon\">aKm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aKm.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>mot.telecom<b> as </b><span style=\"color: maroon\">tcM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>tcM.system = <span style=\"color: blue\">'phone'</span> <i>"motPhoneSystem"</i><span style=\"color: navy\">;</span>\r\n v<span style=\"color: navy\"><b> -> </b></span>tcM.value = <span style=\"color: maroon\">v</span> <i>"motPhoneValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherTelecom"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherPhoneAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherPhoneRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherResource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"motherRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"registrationGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------ Growth monitoring</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gGrow</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-growth'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gGrow.item<b> as </b><span style=\"color: maroon\">itW</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-GM-Q1-weight'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itW.answer first<b> as </b><span style=\"color: maroon\">aW</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aW<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eW</span><span style=\"color: navy\">, </span> eW.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\">obW</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obW<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obW</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obW<span style=\"color: navy\">, </span> eW<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obW</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eW</span><span style=\"color: navy\">)</span> <i>"weightBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obW<b> then </b>VitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obW</span><span style=\"color: navy\">)</span> <i>"weightCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obW.code<b> as </b><span style=\"color: maroon\">cdW</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdW.coding<b> as </b><span style=\"color: maroon\">ccW</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccW.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"wSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccW.code = <span style=\"color: blue\">'29463-7'</span> <i>"wCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccW.display = <span style=\"color: blue\">'Body weight'</span> <i>"wDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightCode"</i><span style=\"color: navy\">;</span>\r\n aW.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>obW.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">qW</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dv<span style=\"color: navy\"><b> -> </b></span>qW.value = <span style=\"color: maroon\">dv</span> <i>"wQtyValue"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qW.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"wQtySystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qW.code = <span style=\"color: blue\">'kg'</span> <i>"wQtyCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qW.unit = <span style=\"color: blue\">'kilogram'</span> <i>"wQtyUnit"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"weightRule"</i><span style=\"color: navy\">;</span>\r\n gGrow.item<b> as </b><span style=\"color: maroon\">itH2</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-GM-Q2-height'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itH2.answer first<b> as </b><span style=\"color: maroon\">aH2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aH2<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eH2</span><span style=\"color: navy\">, </span> eH2.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\">obH2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obH2<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obH2</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obH2<span style=\"color: navy\">, </span> eH2<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obH2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eH2</span><span style=\"color: navy\">)</span> <i>"heightBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obH2<b> then </b>VitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obH2</span><span style=\"color: navy\">)</span> <i>"heightCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obH2.code<b> as </b><span style=\"color: maroon\">cdH2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdH2.coding<b> as </b><span style=\"color: maroon\">ccH2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccH2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"hSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccH2.code = <span style=\"color: blue\">'8302-2'</span> <i>"hCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccH2.display = <span style=\"color: blue\">'Body height'</span> <i>"hDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightCode"</i><span style=\"color: navy\">;</span>\r\n aH2.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>obH2.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">qH2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dv<span style=\"color: navy\"><b> -> </b></span>qH2.value = <span style=\"color: maroon\">dv</span> <i>"hQtyValue"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qH2.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"hQtySystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qH2.code = <span style=\"color: blue\">'cm'</span> <i>"hQtyCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>qH2.unit = <span style=\"color: blue\">'centimeter'</span> <i>"hQtyUnit"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"heightRule"</i><span style=\"color: navy\">;</span>\r\n gGrow.item<b> as </b><span style=\"color: maroon\">itMu</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-GM-Q3-muac'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itMu.answer first<b> as </b><span style=\"color: maroon\">aMu</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aMu<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eMu</span><span style=\"color: navy\">, </span> eMu.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\">obMu</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obMu<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obMu</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obMu<span style=\"color: navy\">, </span> eMu<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obMu</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eMu</span><span style=\"color: navy\">)</span> <i>"muacBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obMu<b> then </b>VitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obMu</span><span style=\"color: navy\">)</span> <i>"muacCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obMu.code<b> as </b><span style=\"color: maroon\">cdMu</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdMu.coding<b> as </b><span style=\"color: maroon\">ccMu</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccMu.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"muSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccMu.code = <span style=\"color: blue\">'9847-5'</span> <i>"muCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccMu.display = <span style=\"color: blue\">'Circumference site'</span> <i>"muDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"muacCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"muacCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obMu<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itMu</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obMu</span><span style=\"color: navy\">)</span> <i>"muacValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"muacObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"muacAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"muacRule"</i><span style=\"color: navy\">;</span>\r\n gGrow.item<b> as </b><span style=\"color: maroon\">itWfa</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-GM-Q4-weight-category'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itWfa.answer first<b> as </b><span style=\"color: maroon\">aWfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aWfa<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eWfa</span><span style=\"color: navy\">, </span> eWfa.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\">obWfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obWfa<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obWfa</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obWfa<span style=\"color: navy\">, </span> eWfa<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obWfa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eWfa</span><span style=\"color: navy\">)</span> <i>"wfaBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obWfa<b> then </b>VitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obWfa</span><span style=\"color: navy\">)</span> <i>"wfaCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obWfa.code<b> as </b><span style=\"color: maroon\">cdWfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdWfa.coding<b> as </b><span style=\"color: maroon\">ccWfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccWfa.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"wfaSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccWfa.code = <span style=\"color: blue\">'77606-2'</span> <i>"wfaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccWfa.display = <span style=\"color: blue\">'Weight-for-age percentile'</span> <i>"wfaDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"wfaCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"wfaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obWfa<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itWfa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obWfa</span><span style=\"color: navy\">)</span> <i>"wfaValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"wfaObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"wfaAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"wfaRule"</i><span style=\"color: navy\">;</span>\r\n gGrow.item<b> as </b><span style=\"color: maroon\">itHfa</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-GM-Q5-height-category'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itHfa.answer first<b> as </b><span style=\"color: maroon\">aHfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aHfa<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eHfa</span><span style=\"color: navy\">, </span> eHfa.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\">obHfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obHfa<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obHfa</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obHfa<span style=\"color: navy\">, </span> eHfa<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obHfa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eHfa</span><span style=\"color: navy\">)</span> <i>"hfaBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obHfa<b> then </b>VitalSignsCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obHfa</span><span style=\"color: navy\">)</span> <i>"hfaCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obHfa.code<b> as </b><span style=\"color: maroon\">cdHfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdHfa.coding<b> as </b><span style=\"color: maroon\">ccHfa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccHfa.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"hfaSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccHfa.code = <span style=\"color: blue\">'59576-9'</span> <i>"hfaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccHfa.display = <span style=\"color: blue\">'Height-for-age percentile'</span> <i>"hfaDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"hfaCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"hfaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obHfa<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itHfa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obHfa</span><span style=\"color: navy\">)</span> <i>"hfaValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"hfaObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"hfaAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"hfaRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"growthGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------------- L-Y vaccines</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gVax</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-vaccines'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gVax.item<b> as </b><span style=\"color: maroon\">itL</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-L-bcg'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itL.answer first<b> as </b><span style=\"color: maroon\">aL</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aL<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eL</span><span style=\"color: navy\">, </span> eL.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imL</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imL<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imL</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imL<span style=\"color: navy\">, </span> eL<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itL</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aL</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imL</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eL</span><span style=\"color: navy\">)</span> <i>"bcgBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imL.vaccineCode<b> as </b><span style=\"color: maroon\">vcL</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcL.coding<b> as </b><span style=\"color: maroon\">vccL</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccL.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"bcgSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccL.code = <span style=\"color: blue\">'bcg'</span> <i>"bcgCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccL.display = <span style=\"color: blue\">'BCG'</span> <i>"bcgDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcL.text = <span style=\"color: blue\">'BCG'</span> <i>"bcgText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgVaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imL.protocolApplied<b> as </b><span style=\"color: maroon\">paL</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paL.series = <span style=\"color: blue\">'BCG'</span> <i>"bcgSeries"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paL.doseNumber = <span style=\"color: blue\">'1'</span> <i>"bcgDose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgProtocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgImmunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"bcgRule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itM</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-M-polio-birth'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itM.answer first<b> as </b><span style=\"color: maroon\">aM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aM<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eM</span><span style=\"color: navy\">, </span> eM.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imM<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imM</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imM<span style=\"color: navy\">, </span> eM<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itM</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aM</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imM</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eM</span><span style=\"color: navy\">)</span> <i>"opv0Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imM.vaccineCode<b> as </b><span style=\"color: maroon\">vcM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcM.coding<b> as </b><span style=\"color: maroon\">vccM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccM.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"opv0System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccM.code = <span style=\"color: blue\">'bopv'</span> <i>"opv0Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccM.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>"opv0Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcM.text = <span style=\"color: blue\">'Polio birth dose (bOPV)'</span> <i>"opv0Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imM.protocolApplied<b> as </b><span style=\"color: maroon\">paM</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paM.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>"opv0Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paM.doseNumber = <span style=\"color: blue\">'0'</span> <i>"opv0Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv0Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itN</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-N-opv1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itN.answer first<b> as </b><span style=\"color: maroon\">aN</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aN<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eN</span><span style=\"color: navy\">, </span> eN.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imN</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imN<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imN</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imN<span style=\"color: navy\">, </span> eN<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itN</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aN</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imN</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eN</span><span style=\"color: navy\">)</span> <i>"opv1Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imN.vaccineCode<b> as </b><span style=\"color: maroon\">vcN</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcN.coding<b> as </b><span style=\"color: maroon\">vccN</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccN.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"opv1System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccN.code = <span style=\"color: blue\">'bopv'</span> <i>"opv1Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccN.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>"opv1Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcN.text = <span style=\"color: blue\">'OPV 1'</span> <i>"opv1Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imN.protocolApplied<b> as </b><span style=\"color: maroon\">paN</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paN.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>"opv1Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paN.doseNumber = <span style=\"color: blue\">'1'</span> <i>"opv1Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv1Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itO</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-O-opv2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itO.answer first<b> as </b><span style=\"color: maroon\">aO</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aO<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eO</span><span style=\"color: navy\">, </span> eO.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imO</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imO<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imO</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imO<span style=\"color: navy\">, </span> eO<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itO</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aO</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imO</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eO</span><span style=\"color: navy\">)</span> <i>"opv2Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imO.vaccineCode<b> as </b><span style=\"color: maroon\">vcO</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcO.coding<b> as </b><span style=\"color: maroon\">vccO</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccO.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"opv2System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccO.code = <span style=\"color: blue\">'bopv'</span> <i>"opv2Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccO.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>"opv2Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcO.text = <span style=\"color: blue\">'OPV 2'</span> <i>"opv2Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imO.protocolApplied<b> as </b><span style=\"color: maroon\">paO</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paO.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>"opv2Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paO.doseNumber = <span style=\"color: blue\">'2'</span> <i>"opv2Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv2Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itP</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-P-opv3'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itP.answer first<b> as </b><span style=\"color: maroon\">aP</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aP<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eP</span><span style=\"color: navy\">, </span> eP.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imP</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imP<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imP</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imP<span style=\"color: navy\">, </span> eP<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itP</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aP</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imP</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eP</span><span style=\"color: navy\">)</span> <i>"opv3Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imP.vaccineCode<b> as </b><span style=\"color: maroon\">vcP</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcP.coding<b> as </b><span style=\"color: maroon\">vccP</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccP.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"opv3System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccP.code = <span style=\"color: blue\">'bopv'</span> <i>"opv3Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccP.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>"opv3Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcP.text = <span style=\"color: blue\">'OPV 3'</span> <i>"opv3Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imP.protocolApplied<b> as </b><span style=\"color: maroon\">paP</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paP.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>"opv3Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paP.doseNumber = <span style=\"color: blue\">'3'</span> <i>"opv3Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"opv3Rule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">IPV carries its own antigen code: the questionnaire reuses the OPV LOINC</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">code for both, which would collapse two distinct vaccines into one.</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itQ</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-Q-ipv'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itQ.answer first<b> as </b><span style=\"color: maroon\">aQ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aQ<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eQ</span><span style=\"color: navy\">, </span> eQ.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imQ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imQ<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imQ</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imQ<span style=\"color: navy\">, </span> eQ<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itQ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aQ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imQ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eQ</span><span style=\"color: navy\">)</span> <i>"ipvBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imQ.vaccineCode<b> as </b><span style=\"color: maroon\">vcQ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcQ.coding<b> as </b><span style=\"color: maroon\">vccQ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccQ.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"ipvSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccQ.code = <span style=\"color: blue\">'ipv'</span> <i>"ipvCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccQ.display = <span style=\"color: blue\">'Inactivated poliovirus vaccine'</span> <i>"ipvDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcQ.text = <span style=\"color: blue\">'IPV'</span> <i>"ipvText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvVaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imQ.protocolApplied<b> as </b><span style=\"color: maroon\">paQ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paQ.series = <span style=\"color: blue\">'Polio (IPV)'</span> <i>"ipvSeries"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paQ.doseNumber = <span style=\"color: blue\">'1'</span> <i>"ipvDose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvProtocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvImmunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ipvRule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itR</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-R-penta1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itR.answer first<b> as </b><span style=\"color: maroon\">aR</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aR<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eR</span><span style=\"color: navy\">, </span> eR.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imR</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imR<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imR</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imR<span style=\"color: navy\">, </span> eR<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itR</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aR</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imR</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eR</span><span style=\"color: navy\">)</span> <i>"penta1Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imR.vaccineCode<b> as </b><span style=\"color: maroon\">vcR</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcR.coding<b> as </b><span style=\"color: maroon\">vccR</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccR.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"penta1System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccR.code = <span style=\"color: blue\">'penta'</span> <i>"penta1Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccR.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>"penta1Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcR.text = <span style=\"color: blue\">'Pentavalent 1'</span> <i>"penta1Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imR.protocolApplied<b> as </b><span style=\"color: maroon\">paR</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paR.series = <span style=\"color: blue\">'Pentavalent'</span> <i>"penta1Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paR.doseNumber = <span style=\"color: blue\">'1'</span> <i>"penta1Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta1Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itS</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-S-penta2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itS.answer first<b> as </b><span style=\"color: maroon\">aS</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aS<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eS</span><span style=\"color: navy\">, </span> eS.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imS</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imS<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imS</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imS<span style=\"color: navy\">, </span> eS<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itS</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aS</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imS</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eS</span><span style=\"color: navy\">)</span> <i>"penta2Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imS.vaccineCode<b> as </b><span style=\"color: maroon\">vcS</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcS.coding<b> as </b><span style=\"color: maroon\">vccS</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccS.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"penta2System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccS.code = <span style=\"color: blue\">'penta'</span> <i>"penta2Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccS.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>"penta2Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcS.text = <span style=\"color: blue\">'Pentavalent 2'</span> <i>"penta2Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imS.protocolApplied<b> as </b><span style=\"color: maroon\">paS</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paS.series = <span style=\"color: blue\">'Pentavalent'</span> <i>"penta2Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paS.doseNumber = <span style=\"color: blue\">'2'</span> <i>"penta2Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta2Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itT</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-T-penta3'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itT.answer first<b> as </b><span style=\"color: maroon\">aT</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aT<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eT</span><span style=\"color: navy\">, </span> eT.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imT</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imT<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imT</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imT<span style=\"color: navy\">, </span> eT<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itT</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aT</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imT</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eT</span><span style=\"color: navy\">)</span> <i>"penta3Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imT.vaccineCode<b> as </b><span style=\"color: maroon\">vcT</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcT.coding<b> as </b><span style=\"color: maroon\">vccT</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccT.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"penta3System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccT.code = <span style=\"color: blue\">'penta'</span> <i>"penta3Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccT.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>"penta3Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcT.text = <span style=\"color: blue\">'Pentavalent 3'</span> <i>"penta3Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imT.protocolApplied<b> as </b><span style=\"color: maroon\">paT</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paT.series = <span style=\"color: blue\">'Pentavalent'</span> <i>"penta3Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paT.doseNumber = <span style=\"color: blue\">'3'</span> <i>"penta3Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"penta3Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itU</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-U-pcv1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itU.answer first<b> as </b><span style=\"color: maroon\">aU</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aU<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eU</span><span style=\"color: navy\">, </span> eU.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imU</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imU<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imU</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imU<span style=\"color: navy\">, </span> eU<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itU</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aU</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imU</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eU</span><span style=\"color: navy\">)</span> <i>"pcv1Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imU.vaccineCode<b> as </b><span style=\"color: maroon\">vcU</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcU.coding<b> as </b><span style=\"color: maroon\">vccU</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccU.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"pcv1System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccU.code = <span style=\"color: blue\">'pcv10'</span> <i>"pcv1Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccU.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>"pcv1Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcU.text = <span style=\"color: blue\">'PCV10 1'</span> <i>"pcv1Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imU.protocolApplied<b> as </b><span style=\"color: maroon\">paU</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paU.series = <span style=\"color: blue\">'PCV10'</span> <i>"pcv1Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paU.doseNumber = <span style=\"color: blue\">'1'</span> <i>"pcv1Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv1Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itV</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-V-pcv2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itV.answer first<b> as </b><span style=\"color: maroon\">aV</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aV<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eV</span><span style=\"color: navy\">, </span> eV.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imV</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imV<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imV</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imV<span style=\"color: navy\">, </span> eV<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itV</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aV</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imV</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eV</span><span style=\"color: navy\">)</span> <i>"pcv2Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imV.vaccineCode<b> as </b><span style=\"color: maroon\">vcV</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcV.coding<b> as </b><span style=\"color: maroon\">vccV</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccV.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"pcv2System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccV.code = <span style=\"color: blue\">'pcv10'</span> <i>"pcv2Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccV.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>"pcv2Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcV.text = <span style=\"color: blue\">'PCV10 2'</span> <i>"pcv2Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imV.protocolApplied<b> as </b><span style=\"color: maroon\">paV</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paV.series = <span style=\"color: blue\">'PCV10'</span> <i>"pcv2Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paV.doseNumber = <span style=\"color: blue\">'2'</span> <i>"pcv2Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv2Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itW2</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-W-pcv3'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itW2.answer first<b> as </b><span style=\"color: maroon\">aW2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aW2<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eW2</span><span style=\"color: navy\">, </span> eW2.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imW2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imW2<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imW2</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imW2<span style=\"color: navy\">, </span> eW2<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itW2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aW2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imW2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eW2</span><span style=\"color: navy\">)</span> <i>"pcv3Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imW2.vaccineCode<b> as </b><span style=\"color: maroon\">vcW2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcW2.coding<b> as </b><span style=\"color: maroon\">vccW2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccW2.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"pcv3System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccW2.code = <span style=\"color: blue\">'pcv10'</span> <i>"pcv3Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccW2.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>"pcv3Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcW2.text = <span style=\"color: blue\">'PCV10 3'</span> <i>"pcv3Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imW2.protocolApplied<b> as </b><span style=\"color: maroon\">paW2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paW2.series = <span style=\"color: blue\">'PCV10'</span> <i>"pcv3Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paW2.doseNumber = <span style=\"color: blue\">'3'</span> <i>"pcv3Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"pcv3Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itX</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-X-rota1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itX.answer first<b> as </b><span style=\"color: maroon\">aX</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aX<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eX</span><span style=\"color: navy\">, </span> eX.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imX</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imX<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imX</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imX<span style=\"color: navy\">, </span> eX<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itX</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aX</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imX</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eX</span><span style=\"color: navy\">)</span> <i>"rota1Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imX.vaccineCode<b> as </b><span style=\"color: maroon\">vcX</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcX.coding<b> as </b><span style=\"color: maroon\">vccX</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccX.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"rota1System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccX.code = <span style=\"color: blue\">'rota'</span> <i>"rota1Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccX.display = <span style=\"color: blue\">'Rotavirus vaccine'</span> <i>"rota1Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcX.text = <span style=\"color: blue\">'Rota 1'</span> <i>"rota1Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imX.protocolApplied<b> as </b><span style=\"color: maroon\">paX</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paX.series = <span style=\"color: blue\">'Rotavirus'</span> <i>"rota1Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paX.doseNumber = <span style=\"color: blue\">'1'</span> <i>"rota1Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota1Rule"</i><span style=\"color: navy\">;</span>\r\n gVax.item<b> as </b><span style=\"color: maroon\">itY</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-Y-rota2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itY.answer first<b> as </b><span style=\"color: maroon\">aY</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aY<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eY</span><span style=\"color: navy\">, </span> eY.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imY</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imY<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imY</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imY<span style=\"color: navy\">, </span> eY<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itY</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aY</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imY</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eY</span><span style=\"color: navy\">)</span> <i>"rota2Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imY.vaccineCode<b> as </b><span style=\"color: maroon\">vcY</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcY.coding<b> as </b><span style=\"color: maroon\">vccY</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccY.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"rota2System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccY.code = <span style=\"color: blue\">'rota'</span> <i>"rota2Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccY.display = <span style=\"color: blue\">'Rotavirus vaccine'</span> <i>"rota2Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcY.text = <span style=\"color: blue\">'Rota 2'</span> <i>"rota2Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imY.protocolApplied<b> as </b><span style=\"color: maroon\">paY</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paY.series = <span style=\"color: blue\">'Rotavirus'</span> <i>"rota2Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paY.doseNumber = <span style=\"color: blue\">'2'</span> <i>"rota2Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rota2Rule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vaccineGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------- Z Vitamin A supplements</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gSup</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-supplementation'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gSup.item<b> as </b><span style=\"color: maroon\">itZ</span><b> where </b><span style=\"color: navy\">(</span>linkId = '55876-9'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itZ.answer first<b> as </b><span style=\"color: maroon\">aZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aZ<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eZ</span><span style=\"color: navy\">, </span> eZ.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\">maZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>maZ<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">maZ</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> maZ<span style=\"color: navy\">, </span> eZ<b> then </b>BuildMedAdmin<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itZ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aZ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">maZ</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eZ</span><span style=\"color: navy\">)</span> <i>"vitA100Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>maZ.medication<b> as </b><span style=\"color: maroon\">mcrZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mcrZ.concept<b> as </b><span style=\"color: maroon\">mccZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mccZ.coding<b> as </b><span style=\"color: maroon\">mcoZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mcoZ.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement'</span> <i>"vitA100System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mcoZ.code = <span style=\"color: blue\">'vitamin-a-100000'</span> <i>"vitA100Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mcoZ.display = <span style=\"color: blue\">'Vitamin A 100,000 IU'</span> <i>"vitA100Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mccZ.text = <span style=\"color: blue\">'Vitamin A 100,000 IU (6-11 months)'</span> <i>"vitA100Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Concept"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Medication"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>maZ.dosage<b> as </b><span style=\"color: maroon\">dosZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>dosZ.dose<b> as </b><span style=\"color: maroon\">dqZ</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>dqZ.value = <span style=\"color: blue\">100000</span> <i>"vitA100DoseValue"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"vitA100DoseSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ.code = <span style=\"color: blue\">'[IU]'</span> <i>"vitA100DoseCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ.unit = <span style=\"color: blue\">'international unit'</span> <i>"vitA100DoseUnit"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Dosage"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA100Rule"</i><span style=\"color: navy\">;</span>\r\n gSup.item<b> as </b><span style=\"color: maroon\">itZ2</span><b> where </b><span style=\"color: navy\">(</span>linkId = '0v8mpdt'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itZ2.answer first<b> as </b><span style=\"color: maroon\">aZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aZ2<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eZ2</span><span style=\"color: navy\">, </span> eZ2.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\">maZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>maZ2<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">maZ2</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> maZ2<span style=\"color: navy\">, </span> eZ2<b> then </b>BuildMedAdmin<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itZ2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aZ2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">maZ2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eZ2</span><span style=\"color: navy\">)</span> <i>"vitA200Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>maZ2.medication<b> as </b><span style=\"color: maroon\">mcrZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mcrZ2.concept<b> as </b><span style=\"color: maroon\">mccZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mccZ2.coding<b> as </b><span style=\"color: maroon\">mcoZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>mcoZ2.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement'</span> <i>"vitA200System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mcoZ2.code = <span style=\"color: blue\">'vitamin-a-200000'</span> <i>"vitA200Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mcoZ2.display = <span style=\"color: blue\">'Vitamin A 200,000 IU'</span> <i>"vitA200Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>mccZ2.text = <span style=\"color: blue\">'Vitamin A 200,000 IU (12 months onwards)'</span> <i>"vitA200Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Concept"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Medication"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>maZ2.dosage<b> as </b><span style=\"color: maroon\">dosZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>dosZ2.dose<b> as </b><span style=\"color: maroon\">dqZ2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>dqZ2.value = <span style=\"color: blue\">200000</span> <i>"vitA200DoseValue"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ2.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>"vitA200DoseSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ2.code = <span style=\"color: blue\">'[IU]'</span> <i>"vitA200DoseCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>dqZ2.unit = <span style=\"color: blue\">'international unit'</span> <i>"vitA200DoseUnit"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Dosage"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vitA200Rule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"supplementationGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------ AA-AB MR1 + Yellow Fever</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gMrYf</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-mr-yf'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gMrYf.item<b> as </b><span style=\"color: maroon\">itAa</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-AA-mr1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itAa.answer first<b> as </b><span style=\"color: maroon\">aAa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aAa<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eAa</span><span style=\"color: navy\">, </span> eAa.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imAa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imAa<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAa</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imAa<span style=\"color: navy\">, </span> eAa<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itAa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aAa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAa</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eAa</span><span style=\"color: navy\">)</span> <i>"mr1Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAa.vaccineCode<b> as </b><span style=\"color: maroon\">vcAa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcAa.coding<b> as </b><span style=\"color: maroon\">vccAa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccAa.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"mr1System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAa.code = <span style=\"color: blue\">'mr'</span> <i>"mr1Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAa.display = <span style=\"color: blue\">'Measles-rubella vaccine'</span> <i>"mr1Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcAa.text = <span style=\"color: blue\">'MR 1'</span> <i>"mr1Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAa.protocolApplied<b> as </b><span style=\"color: maroon\">paAa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paAa.series = <span style=\"color: blue\">'Measles-Rubella'</span> <i>"mr1Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paAa.doseNumber = <span style=\"color: blue\">'1'</span> <i>"mr1Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr1Rule"</i><span style=\"color: navy\">;</span>\r\n gMrYf.item<b> as </b><span style=\"color: maroon\">itAb</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-AB-yf'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itAb.answer first<b> as </b><span style=\"color: maroon\">aAb</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aAb<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eAb</span><span style=\"color: navy\">, </span> eAb.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imAb</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imAb<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAb</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imAb<span style=\"color: navy\">, </span> eAb<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itAb</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aAb</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAb</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eAb</span><span style=\"color: navy\">)</span> <i>"yfBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAb.vaccineCode<b> as </b><span style=\"color: maroon\">vcAb</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcAb.coding<b> as </b><span style=\"color: maroon\">vccAb</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccAb.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"yfSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAb.code = <span style=\"color: blue\">'yf'</span> <i>"yfCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAb.display = <span style=\"color: blue\">'Yellow fever vaccine'</span> <i>"yfDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcAb.text = <span style=\"color: blue\">'Yellow Fever'</span> <i>"yfText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfVaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAb.protocolApplied<b> as </b><span style=\"color: maroon\">paAb</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paAb.series = <span style=\"color: blue\">'Yellow Fever'</span> <i>"yfSeries"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paAb.doseNumber = <span style=\"color: blue\">'1'</span> <i>"yfDose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfProtocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfImmunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"yfRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mrYfGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------------- AC FIC date</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gFic</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-fic'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gFic.item<b> as </b><span style=\"color: maroon\">itAc</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-FIC-AC-date'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itAc.answer first<b> as </b><span style=\"color: maroon\">aAc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aAc<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eAc</span><span style=\"color: navy\">, </span> eAc.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\">obAc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obAc<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAc</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obAc<span style=\"color: navy\">, </span> eAc<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eAc</span><span style=\"color: navy\">)</span> <i>"ficBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obAc<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAc</span><span style=\"color: navy\">)</span> <i>"ficCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obAc.code<b> as </b><span style=\"color: maroon\">cdAc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdAc.coding<b> as </b><span style=\"color: maroon\">ccAc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccAc.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"ficSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccAc.code = <span style=\"color: blue\">'11369-6'</span> <i>"ficCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccAc.display = <span style=\"color: blue\">'Immunisation completion status'</span> <i>"ficDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdAc.text = <span style=\"color: blue\">'Fully Immunised Child (FIC) completion date'</span> <i>"ficCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficCode"</i><span style=\"color: navy\">;</span>\r\n aAc.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>obAc.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">dv</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"ficValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ficGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------------------ AD MR2</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gMr2</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-mr2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gMr2.item<b> as </b><span style=\"color: maroon\">itAd</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-VAX-AD-mr2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itAd.answer first<b> as </b><span style=\"color: maroon\">aAd</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aAd<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eAd</span><span style=\"color: navy\">, </span> eAd.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">imAd</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>imAd<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAd</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> imAd<span style=\"color: navy\">, </span> eAd<b> then </b>BuildImm<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">itAd</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">aAd</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">imAd</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eAd</span><span style=\"color: navy\">)</span> <i>"mr2Base"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAd.vaccineCode<b> as </b><span style=\"color: maroon\">vcAd</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vcAd.coding<b> as </b><span style=\"color: maroon\">vccAd</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>vccAd.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>"mr2System"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAd.code = <span style=\"color: blue\">'mr'</span> <i>"mr2Code"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vccAd.display = <span style=\"color: blue\">'Measles-rubella vaccine'</span> <i>"mr2Display"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Coding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>vcAd.text = <span style=\"color: blue\">'MR 2'</span> <i>"mr2Text"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2VaccineCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imAd.protocolApplied<b> as </b><span style=\"color: maroon\">paAd</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>paAd.series = <span style=\"color: blue\">'Measles-Rubella'</span> <i>"mr2Series"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>paAd.doseNumber = <span style=\"color: blue\">'2'</span> <i>"mr2Dose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Protocol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Immunization"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Answer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Rule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"mr2Group"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">------------------------------------------------------------- Danger signs</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gDs</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-danger-signs'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gDs.item<b> as </b><span style=\"color: maroon\">itD1</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q1-fever'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD1.answer first<b> as </b><span style=\"color: maroon\">aD1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD1<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD1</span><span style=\"color: navy\">, </span> eD1.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\">obD1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD1<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD1</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD1<span style=\"color: navy\">, </span> eD1<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD1</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD1</span><span style=\"color: navy\">)</span> <i>"feverBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD1<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD1</span><span style=\"color: navy\">)</span> <i>"feverCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD1.code<b> as </b><span style=\"color: maroon\">cdD1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD1.coding<b> as </b><span style=\"color: maroon\">ccD1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD1.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"feverSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD1.code = <span style=\"color: blue\">'8310-5'</span> <i>"feverCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD1.display = <span style=\"color: blue\">'Body temperature'</span> <i>"feverDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feverCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdD1.text = <span style=\"color: blue\">'Fever reported'</span> <i>"feverCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feverCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD1<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD1</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD1</span><span style=\"color: navy\">)</span> <i>"feverValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feverObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feverAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feverRule"</i><span style=\"color: navy\">;</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD2</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q2-feeding'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD2.answer first<b> as </b><span style=\"color: maroon\">aD2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD2<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD2</span><span style=\"color: navy\">, </span> eD2.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\">obD2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD2<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD2</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD2<span style=\"color: navy\">, </span> eD2<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD2</span><span style=\"color: navy\">)</span> <i>"feedingBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD2<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD2</span><span style=\"color: navy\">)</span> <i>"feedingCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD2.code<b> as </b><span style=\"color: maroon\">cdD2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD2.coding<b> as </b><span style=\"color: maroon\">ccD2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"feedingSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD2.code = <span style=\"color: blue\">'75890-1'</span> <i>"feedingCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD2.display = <span style=\"color: blue\">'Feeding status'</span> <i>"feedingDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feedingCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Polarity is inverted relative to the other danger signs: "Yes"</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">here is reassuring, not alarming.</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdD2.text = <span style=\"color: blue\">'Child is feeding'</span> <i>"feedingCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feedingCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD2<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD2</span><span style=\"color: navy\">)</span> <i>"feedingValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feedingObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feedingAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"feedingRule"</i><span style=\"color: navy\">;</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD3</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q3-convulsions'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD3.answer first<b> as </b><span style=\"color: maroon\">aD3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD3<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD3</span><span style=\"color: navy\">, </span> eD3.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\">obD3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD3<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD3</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD3<span style=\"color: navy\">, </span> eD3<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD3</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD3</span><span style=\"color: navy\">)</span> <i>"convulsionsBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD3<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD3</span><span style=\"color: navy\">)</span> <i>"convulsionsCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD3.code<b> as </b><span style=\"color: maroon\">cdD3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD3.coding<b> as </b><span style=\"color: maroon\">ccD3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD3.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"convulsionsSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD3.code = <span style=\"color: blue\">'31398-4'</span> <i>"convulsionsCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD3.display = <span style=\"color: blue\">'Convulsions'</span> <i>"convulsionsDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"convulsionsCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"convulsionsCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD3<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD3</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD3</span><span style=\"color: navy\">)</span> <i>"convulsionsValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"convulsionsObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"convulsionsAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"convulsionsRule"</i><span style=\"color: navy\">;</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD4</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q4-cough'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD4.answer first<b> as </b><span style=\"color: maroon\">aD4</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD4<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD4</span><span style=\"color: navy\">, </span> eD4.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\">obD4</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD4<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD4</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD4<span style=\"color: navy\">, </span> eD4<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD4</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD4</span><span style=\"color: navy\">)</span> <i>"coughBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD4<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD4</span><span style=\"color: navy\">)</span> <i>"coughCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD4.code<b> as </b><span style=\"color: maroon\">cdD4</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD4.coding<b> as </b><span style=\"color: maroon\">ccD4</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD4.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"coughSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD4.code = <span style=\"color: blue\">'28238-4'</span> <i>"coughCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD4.display = <span style=\"color: blue\">'Cough'</span> <i>"coughDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coughCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coughCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD4<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD4</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD4</span><span style=\"color: navy\">)</span> <i>"coughValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coughObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coughAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"coughRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">The questionnaire declares this SNOMED CT concept id under the LOINC</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">system; emitted here against the SNOMED CT system it actually belongs to.</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD5</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q5-diarrhoea'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD5.answer first<b> as </b><span style=\"color: maroon\">aD5</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD5<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD5</span><span style=\"color: navy\">, </span> eD5.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\">obD5</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD5<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD5</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD5<span style=\"color: navy\">, </span> eD5<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD5</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD5</span><span style=\"color: navy\">)</span> <i>"diarrhoeaBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD5<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD5</span><span style=\"color: navy\">)</span> <i>"diarrhoeaCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD5.code<b> as </b><span style=\"color: maroon\">cdD5</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD5.coding<b> as </b><span style=\"color: maroon\">ccD5</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD5.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>"diarrhoeaSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD5.code = <span style=\"color: blue\">'28229008'</span> <i>"diarrhoeaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD5.display = <span style=\"color: blue\">'Diarrhoea'</span> <i>"diarrhoeaDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"diarrhoeaCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"diarrhoeaCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD5<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD5</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD5</span><span style=\"color: navy\">)</span> <i>"diarrhoeaValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"diarrhoeaObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"diarrhoeaAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"diarrhoeaRule"</i><span style=\"color: navy\">;</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD6</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q6-vomiting'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD6.answer first<b> as </b><span style=\"color: maroon\">aD6</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD6<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD6</span><span style=\"color: navy\">, </span> eD6.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\">obD6</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD6<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD6</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD6<span style=\"color: navy\">, </span> eD6<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD6</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD6</span><span style=\"color: navy\">)</span> <i>"vomitingBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD6<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD6</span><span style=\"color: navy\">)</span> <i>"vomitingCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD6.code<b> as </b><span style=\"color: maroon\">cdD6</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD6.coding<b> as </b><span style=\"color: maroon\">ccD6</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD6.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>"vomitingSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD6.code = <span style=\"color: blue\">'21522001'</span> <i>"vomitingCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD6.display = <span style=\"color: blue\">'Vomiting'</span> <i>"vomitingDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vomitingCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vomitingCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD6<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itD6</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD6</span><span style=\"color: navy\">)</span> <i>"vomitingValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vomitingObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vomitingAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vomitingRule"</i><span style=\"color: navy\">;</span>\r\n gDs.item<b> as </b><span style=\"color: maroon\">itD7</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-DS-Q7-notes'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itD7.answer first<b> as </b><span style=\"color: maroon\">aD7</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aD7<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eD7</span><span style=\"color: navy\">, </span> eD7.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\">obD7</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obD7<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD7</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obD7<span style=\"color: navy\">, </span> eD7<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD7</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eD7</span><span style=\"color: navy\">)</span> <i>"dsNotesBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD7<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obD7</span><span style=\"color: navy\">)</span> <i>"dsNotesCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obD7.code<b> as </b><span style=\"color: maroon\">cdD7</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdD7.coding<b> as </b><span style=\"color: maroon\">ccD7</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccD7.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"dsNotesSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD7.code = <span style=\"color: blue\">'48767-8'</span> <i>"dsNotesCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccD7.display = <span style=\"color: blue\">'Annotation comment'</span> <i>"dsNotesDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dsNotesCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdD7.text = <span style=\"color: blue\">'Danger signs clinical notes'</span> <i>"dsNotesCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dsNotesCode"</i><span style=\"color: navy\">;</span>\r\n aD7.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>obD7.value = <span style=\"color: maroon\">v</span> <i>"dsNotesValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dsNotesObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dsNotesAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dsNotesRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"dangerSignsGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------- Patient education</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gEd</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-education'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gEd.item<b> as </b><span style=\"color: maroon\">itE1</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-ED-Q1-education-given'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itE1.answer first<b> as </b><span style=\"color: maroon\">aE1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aE1<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eE1</span><span style=\"color: navy\">, </span> eE1.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\">obE1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obE1<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE1</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obE1<span style=\"color: navy\">, </span> eE1<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE1</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eE1</span><span style=\"color: navy\">)</span> <i>"eduGivenBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE1<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE1</span><span style=\"color: navy\">)</span> <i>"eduGivenCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE1.code<b> as </b><span style=\"color: maroon\">cdE1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdE1.coding<b> as </b><span style=\"color: maroon\">ccE1</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccE1.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"eduGivenSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE1.code = <span style=\"color: blue\">'61144-2'</span> <i>"eduGivenCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE1.display = <span style=\"color: blue\">'Patient education provided'</span> <i>"eduGivenDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduGivenCodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduGivenCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE1<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itE1</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE1</span><span style=\"color: navy\">)</span> <i>"eduGivenValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduGivenObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduGivenAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduGivenRule"</i><span style=\"color: navy\">;</span>\r\n gEd.item<b> as </b><span style=\"color: maroon\">itE2</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-ED-Q2-topics'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itE2.answer first<b> as </b><span style=\"color: maroon\">aE2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aE2<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eE2</span><span style=\"color: navy\">, </span> eE2.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\">obE2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obE2<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE2</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obE2<span style=\"color: navy\">, </span> eE2<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eE2</span><span style=\"color: navy\">)</span> <i>"eduTopicsBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE2<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE2</span><span style=\"color: navy\">)</span> <i>"eduTopicsCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE2.code<b> as </b><span style=\"color: maroon\">cdE2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdE2.coding<b> as </b><span style=\"color: maroon\">ccE2</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccE2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"eduTopicsSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE2.code = <span style=\"color: blue\">'61144-2'</span> <i>"eduTopicsCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE2.display = <span style=\"color: blue\">'Education topics covered'</span> <i>"eduTopicsDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduTopicsCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdE2.text = <span style=\"color: blue\">'Education topics covered'</span> <i>"eduTopicsCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduTopicsCode"</i><span style=\"color: navy\">;</span>\r\n aE2.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>obE2.value = <span style=\"color: maroon\">v</span> <i>"eduTopicsValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduTopicsObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduTopicsAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"eduTopicsRule"</i><span style=\"color: navy\">;</span>\r\n gEd.item<b> as </b><span style=\"color: maroon\">itE3</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-ED-Q3-next-visit'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itE3.answer first<b> as </b><span style=\"color: maroon\">aE3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aE3<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eE3</span><span style=\"color: navy\">, </span> eE3.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\">obE3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obE3<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE3</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obE3<span style=\"color: navy\">, </span> eE3<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE3</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eE3</span><span style=\"color: navy\">)</span> <i>"nextVisitToldBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE3<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE3</span><span style=\"color: navy\">)</span> <i>"nextVisitToldCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE3.code<b> as </b><span style=\"color: maroon\">cdE3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdE3.coding<b> as </b><span style=\"color: maroon\">ccE3</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccE3.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"nextVisitToldSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE3.code = <span style=\"color: blue\">'57177-3'</span> <i>"nextVisitToldCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccE3.display = <span style=\"color: blue\">'Follow-up plan'</span> <i>"nextVisitToldDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitToldCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdE3.text = <span style=\"color: blue\">'Next visit date communicated to caregiver'</span> <i>"nextVisitToldCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitToldCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obE3<b> then </b>SetCodedValue<span style=\"color: navy\">(</span><span style=\"color: maroon\">itE3</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obE3</span><span style=\"color: navy\">)</span> <i>"nextVisitToldValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitToldObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitToldAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitToldRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Appointment.start is an instant, so a date-only answer is carried on</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">requestedPeriod instead.</span>\r\n gEd.item<b> as </b><span style=\"color: maroon\">itE4</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-ED-Q4-next-visit-date'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itE4.answer first<b> as </b><span style=\"color: maroon\">aE4</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aE4<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eE4</span><span style=\"color: navy\">, </span> eE4.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Appointment'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">appt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>appt<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">appt</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">One proposed appointment per (child, requested date).</span>\r\n aE4.value<b> as </b><span style=\"color: maroon\">dvAp</span><span style=\"color: navy\"><b> -> </b></span>appt.identifier<b> as </b><span style=\"color: maroon\">idAp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>idAp.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>"apptCellSystem"</i><span style=\"color: navy\">;</span>\r\n dvAp<span style=\"color: navy\"><b> -> </b></span>idAp.value = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'IMM-ED-Q4-next-visit-date@'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">dvAp</span><span style=\"color: navy\">)</span> <i>"apptCellValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptCellIdentifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">As for the register entries below: the request always, the conditional</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">create only for a subject that is a Patient.</span>\r\n aE4.value<b> as </b><span style=\"color: maroon\">dvAp2</span><span style=\"color: navy\"><b> -> </b></span>eE4.request<b> as </b><span style=\"color: maroon\">rqAp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>rqAp.method = <span style=\"color: blue\">'POST'</span> <i>"apptReqMethod"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rqAp.url = <span style=\"color: blue\">'Appointment'</span> <i>"apptReqUrl"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">subjAp</span><b> where </b><span style=\"color: navy\">(</span>reference.startsWith('Patient/')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjAp.reference<b> as </b><span style=\"color: maroon\">prefAp</span><span style=\"color: navy\"><b> -> </b></span>rqAp.ifNoneExist = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'actor='</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">prefAp</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|IMM-ED-Q4-next-visit-date@'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">dvAp2</span><span style=\"color: navy\">)</span> <i>"apptIfNoneExist"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptSubject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptReq"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>appt.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"apptId"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>appt.status = <span style=\"color: blue\">'proposed'</span> <i>"apptStatus"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>appt.description = <span style=\"color: blue\">'Next scheduled immunisation visit (MOH 510)'</span> <i>"apptDescription"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>appt.subject = <span style=\"color: maroon\">s</span> <i>"apptSubject"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>appt.participant<b> as </b><span style=\"color: maroon\">prt</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>prt.status = <span style=\"color: blue\">'needs-action'</span> <i>"apptParticipantStatus"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/') or reference.startsWith('Practitioner/') or reference.startsWith('Location/') or reference.startsWith('PractitionerRole/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient') or ('/' + type).endsWith('/Practitioner') or ('/' + type).endsWith('/Location') or ('/' + type).endsWith('/PractitionerRole')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>prt.actor = <span style=\"color: maroon\">s</span> <i>"apptParticipantActor"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptParticipant"</i><span style=\"color: navy\">;</span>\r\n aE4.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>appt.requestedPeriod<b> as </b><span style=\"color: maroon\">rp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> dv<span style=\"color: navy\"><b> -> </b></span>rp.start = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">dv</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"apptRequestedStart"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptRequestedPeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"appointmentResource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitDateAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"nextVisitDateRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"educationGroup"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">---------------------------------------------------------------- AE Remarks</span>\r\n qr.item<b> as </b><span style=\"color: maroon\">gRem</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'IMM-group-remarks'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gRem.item<b> as </b><span style=\"color: maroon\">itAe</span><b> where </b><span style=\"color: navy\">(</span>linkId = '48767-8'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> itAe.answer first<b> as </b><span style=\"color: maroon\">aAe</span><b> then</b><span style=\"color: navy\"> {\r\n</span> aAe<span style=\"color: navy\"><b> -> </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eAe</span><span style=\"color: navy\">, </span> eAe.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\">obAe</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obAe<b> then </b>CopyResponseTags<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAe</span><span style=\"color: navy\">)</span> <i>"responseTags"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span> obAe<span style=\"color: navy\">, </span> eAe<b> then </b>BuildObsBase<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAe</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eAe</span><span style=\"color: navy\">)</span> <i>"remarksBase"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obAe<b> then </b>SurveyCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">obAe</span><span style=\"color: navy\">)</span> <i>"remarksCategory"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obAe.code<b> as </b><span style=\"color: maroon\">cdAe</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cdAe.coding<b> as </b><span style=\"color: maroon\">ccAe</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>ccAe.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>"remarksSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccAe.code = <span style=\"color: blue\">'48767-8'</span> <i>"remarksCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ccAe.display = <span style=\"color: blue\">'Annotation comment'</span> <i>"remarksDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksCodeCoding"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>cdAe.text = <span style=\"color: blue\">'MOH 510 register remarks'</span> <i>"remarksCodeText"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksCode"</i><span style=\"color: navy\">;</span>\r\n aAe.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>obAe.value = <span style=\"color: maroon\">v</span> <i>"remarksValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksObservation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksAnswer"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksRule"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"remarksGroup"</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 groups</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Plain POST, deliberately not a conditional create. These are per-visit facts,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">so the key would have to be (cell, visit) -- and qr.authored carries a</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">"+03:00" offset that cannot go into an ifNoneExist query string unencoded.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Consequence: extracting the SAME response twice duplicates its Observations.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Populate never fills these sections, so the populate/extract loop is</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">unaffected; only a repeated submission of one response is.</span>\r\n<b>group </b>BuildObsBase<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>entry.request<b> as </b><span style=\"color: maroon\">rq</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>"obsReqMethod"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rq.url = <span style=\"color: blue\">'Observation'</span> <i>"obsReqUrl"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsReq"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>obs.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"obsId"</i><span style=\"color: navy\">;</span>\r\n qr<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 qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>obs.subject = <span style=\"color: maroon\">s</span> <i>"obsSubject"</i><span style=\"color: navy\">;</span>\r\n qr.encounter<b> as </b><span style=\"color: maroon\">e</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>obs.encounter = <span style=\"color: maroon\">e</span> <i>"obsEncounter"</i><span style=\"color: navy\">;</span>\r\n qr.authored<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -> </b></span>obs.effective = <span style=\"color: maroon\">t</span> <i>"obsEffective"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: #b36b00\" title=\"This element was not defined prior to R5\">// qr.id is already type-qualified ("QuestionnaireResponse/1008") when the</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">response is read from the server, so prepending the type -- or using</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">reference() -- yields a doubled reference.</span>\r\n qr.id<b> as </b><span style=\"color: maroon\">qid</span><span style=\"color: navy\"><b> -> </b></span>obs.derivedFrom = <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\">dr</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qid<span style=\"color: navy\"><b> -> </b></span>dr.reference = <span style=\"color: maroon\">qid</span> <i>"obsDerivedRef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"obsDerivedFrom"</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\">A register cell -- (child, column) -- is the natural key for everything below.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">The paper form has exactly one BCG box per child, so re-submitting a</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">pre-populated form must not add a second one. Each resource therefore carries</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">its linkId as a business identifier and is emitted as a conditional create.</span>\r\n<b>group </b>BuildImm<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>source</b> <span style=\"color: maroon\">it</span>, <b>source</b> <span style=\"color: maroon\">a</span>, <b>target</b> <span style=\"color: maroon\">imm</span><span style=\"color: navy\"> : </span>Immunization, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> it.linkId<b> as </b><span style=\"color: maroon\">lk</span><span style=\"color: navy\"><b> -> </b></span>imm.identifier<b> as </b><span style=\"color: maroon\">idc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>"immCellSystem"</i><span style=\"color: navy\">;</span>\r\n lk<span style=\"color: navy\"><b> -> </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>"immCellValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"immCellIdentifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">The request is built whatever the subject is: an entry without one is refused, and</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">the whole transaction with it. Only the conditional create needs the patient, so only</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">it waits for a subject that is a Patient; a conditional URL naming anything else is</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">invalid (HAPI-0539) and refused the same way.</span>\r\n it.linkId<b> as </b><span style=\"color: maroon\">lk2</span><span style=\"color: navy\"><b> -> </b></span>entry.request<b> as </b><span style=\"color: maroon\">rq</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>"immReqMethod"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rq.url = <span style=\"color: blue\">'Immunization'</span> <i>"immReqUrl"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">subjImm</span><b> where </b><span style=\"color: navy\">(</span>reference.startsWith('Patient/')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjImm.reference<b> as </b><span style=\"color: maroon\">pref</span><span style=\"color: navy\"><b> -> </b></span>rq.ifNoneExist = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'patient='</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pref</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">lk2</span><span style=\"color: navy\">)</span> <i>"immIfNoneExist"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"immSubject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"immReq"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imm.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"immId"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imm.status = <span style=\"color: blue\">'completed'</span> <i>"immStatus"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Register entries are transcribed from the child's card, so the recording</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">facility is not necessarily the administering one.</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>imm.primarySource = <span style=\"color: blue\">false</span> <i>"immPrimarySource"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>imm.patient = <span style=\"color: maroon\">s</span> <i>"immPatient"</i><span style=\"color: navy\">;</span>\r\n qr.encounter<b> as </b><span style=\"color: maroon\">e</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>imm.encounter = <span style=\"color: maroon\">e</span> <i>"immEncounter"</i><span style=\"color: navy\">;</span>\r\n a.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>imm.occurrence = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">dv</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"immOccurrence"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>BuildMedAdmin<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>source</b> <span style=\"color: maroon\">it</span>, <b>source</b> <span style=\"color: maroon\">a</span>, <b>target</b> <span style=\"color: maroon\">ma</span><span style=\"color: navy\"> : </span>MedicationAdministration, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> it.linkId<b> as </b><span style=\"color: maroon\">lk</span><span style=\"color: navy\"><b> -> </b></span>ma.identifier<b> as </b><span style=\"color: maroon\">idc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>"maCellSystem"</i><span style=\"color: navy\">;</span>\r\n lk<span style=\"color: navy\"><b> -> </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>"maCellValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"maCellIdentifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">The request is built whatever the subject is: an entry without one is refused, and</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">the whole transaction with it. Only the conditional create needs the patient, so only</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">it waits for a subject that is a Patient; a conditional URL naming anything else is</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">invalid (HAPI-0539) and refused the same way.</span>\r\n it.linkId<b> as </b><span style=\"color: maroon\">lk2</span><span style=\"color: navy\"><b> -> </b></span>entry.request<b> as </b><span style=\"color: maroon\">rq</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>"maReqMethod"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rq.url = <span style=\"color: blue\">'MedicationAdministration'</span> <i>"maReqUrl"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">subjMa</span><b> where </b><span style=\"color: navy\">(</span>reference.startsWith('Patient/')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjMa.reference<b> as </b><span style=\"color: maroon\">pref</span><span style=\"color: navy\"><b> -> </b></span>rq.ifNoneExist = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'subject='</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pref</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">lk2</span><span style=\"color: navy\">)</span> <i>"maIfNoneExist"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"maSubject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"maReq"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ma.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"maId"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>ma.status = <span style=\"color: blue\">'completed'</span> <i>"maStatus"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>ma.subject = <span style=\"color: maroon\">s</span> <i>"maSubject"</i><span style=\"color: navy\">;</span>\r\n qr.encounter<b> as </b><span style=\"color: maroon\">e</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>ma.encounter = <span style=\"color: maroon\">e</span> <i>"maEncounter"</i><span style=\"color: navy\">;</span>\r\n a.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -> </b></span>ma.occurence = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">dv</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'dateTime'</span><span style=\"color: navy\">)</span> <i>"maOccurence"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>BuildRelatedPerson<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>source</b> <span style=\"color: maroon\">it</span>, <b>target</b> <span style=\"color: maroon\">rp</span><span style=\"color: navy\"> : </span>RelatedPerson, <b>target</b> <span style=\"color: maroon\">entry</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> it.linkId<b> as </b><span style=\"color: maroon\">lk</span><span style=\"color: navy\"><b> -> </b></span>rp.identifier<b> as </b><span style=\"color: maroon\">idc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>"rpCellSystem"</i><span style=\"color: navy\">;</span>\r\n lk<span style=\"color: navy\"><b> -> </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>"rpCellValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rpCellIdentifier"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">The request is built whatever the subject is: an entry without one is refused, and</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">the whole transaction with it. Only the conditional create needs the patient, so only</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">it waits for a subject that is a Patient; a conditional URL naming anything else is</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">invalid (HAPI-0539) and refused the same way.</span>\r\n it.linkId<b> as </b><span style=\"color: maroon\">lk2</span><span style=\"color: navy\"><b> -> </b></span>entry.request<b> as </b><span style=\"color: maroon\">rq</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>"rpReqMethod"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rq.url = <span style=\"color: blue\">'RelatedPerson'</span> <i>"rpReqUrl"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">subjRp</span><b> where </b><span style=\"color: navy\">(</span>reference.startsWith('Patient/')<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjRp.reference<b> as </b><span style=\"color: maroon\">pref</span><span style=\"color: navy\"><b> -> </b></span>rq.ifNoneExist = <b>append</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'patient='</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pref</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|'</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">lk2</span><span style=\"color: navy\">)</span> <i>"rpIfNoneExist"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rpSubject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rpReq"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rp.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>"rpId"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>rp.active = <span style=\"color: blue\">true</span> <i>"rpActive"</i><span style=\"color: navy\">;</span>\r\n qr.subject<b> as </b><span style=\"color: maroon\">s</span><b> where </b><span style=\"color: navy\">(</span>(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))<span style=\"color: navy\">)</span><span style=\"color: navy\"><b> -> </b></span>rp.patient = <span style=\"color: maroon\">s</span> <i>"rpPatient"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>VitalSignsCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cat.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"vsCatSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>c.code = <span style=\"color: blue\">'vital-signs'</span> <i>"vsCatCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>c.display = <span style=\"color: blue\">'Vital Signs'</span> <i>"vsCatDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vsCatCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"vsCat"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SurveyCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>cat.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qr<span style=\"color: navy\"><b> -> </b></span>c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"svCatSystem"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>c.code = <span style=\"color: blue\">'survey'</span> <i>"svCatCode"</i><span style=\"color: navy\">;</span>\r\n qr<span style=\"color: navy\"><b> -> </b></span>c.display = <span style=\"color: blue\">'Survey'</span> <i>"svCatDisplay"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"svCatCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"svCat"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SetCodedValue<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">it</span><span style=\"color: navy\"> : </span>Element, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> it.answer<b> as </b><span style=\"color: maroon\">a</span><span style=\"color: navy\"><b> -> </b></span>obs.value = <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\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> a.value<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span>c.coding = <span style=\"color: maroon\">coding</span><b> as </b><span style=\"color: maroon\">nc</span> <i>"copyCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"setCodedValue"</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\">── Tenancy ──────────────────────────────────────────────────────────────────</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Whose this is. The platform says which tenant a response belongs to with a</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">tag on the response, and every tag the response carries is copied onto</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">everything this map creates, as it is. Copied rather than named here, so the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">map never has to know which tenant it is running for, nor which system the</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">tag is under: that system has moved more than once.</span>\r\n<b>group </b>CopyResponseTags<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">r</span><span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> qr.meta<b> as </b><span style=\"color: maroon\">qm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> qm.tag<b> as </b><span style=\"color: maroon\">qt</span><span style=\"color: navy\"><b> -> </b></span> r.meta<b> as </b><span style=\"color: maroon\">m</span><span style=\"color: navy\">, </span> m.tag = <span style=\"color: maroon\">qt</span> <i>"copyTag"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"tenantTags"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"^^rdf:XMLLiteral ] ] ; # fhir:url [ fhir:v "https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMOH510ImmunisationRegister"^^xsd:anyURI] ; # fhir:version [ fhir:v "0.1.0"] ; # fhir:name [ fhir:v "ExtractMOH510ImmunisationRegister"] ; # fhir:title [ fhir:v "MOH 510 Immunisation Permanent Register Extraction"] ; # fhir:status [ fhir:v "active"] ; # fhir:experimental [ fhir:v true] ; # fhir:date [ fhir:v "2026-10-06T18:48:22+00:00"^^xsd:dateTime] ; # fhir:publisher [ fhir:v "Kathurima Kimathi"] ; # fhir:contact ( [ fhir:name [ fhir:v "Kathurima Kimathi" ] ; fhir:telecom ( [ fhir:system [ fhir:v "url" ] ; fhir:value [ fhir:v "https://www.linkedin.com/in/kathurima-kimathi/" ] ] [ fhir:system [ fhir:v "email" ] ; fhir:value [ fhir:v "kathurimakimathi415@gmail.com" ] ] ) ] [ fhir:name [ fhir:v "Oscar John" ] ; fhir:telecom ( [ fhir:system [ fhir:v "email" ] ; fhir:value [ fhir:v "oscarjohnotieno@gmail.com" ] ; fhir:use [ fhir:v "work" ] ] ) ] [ fhir:name [ fhir:v "Kennedy Omondi" ] ; fhir:telecom ( [ fhir:system [ fhir:v "email" ] ; fhir:value [ fhir:v "kennankole@gmail.com" ] ; fhir:use [ fhir:v "work" ] ] ) ] ) ; # fhir:description [ fhir:v "Extracts a transaction Bundle from a QuestionnaireResponse to the Kenya MOH 510 Immunisation Permanent Register: guardian RelatedPersons, growth-monitoring Observations, one Immunization per antigen dose for sections L-Y/AA-AB/AD, Vitamin A MedicationAdministrations for section Z, danger-signs and education Observations, and an Appointment for the next scheduled visit. It creates no Patient, Encounter or EpisodeOfCare -- the register is launched from inside a visit the EMR has already opened, so all three arrive as context on the QuestionnaireResponse and are referenced rather than minted. QuestionnaireResponse.subject and .encounter are therefore both required."] ; # fhir:structure ( [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse> ] ; fhir:mode [ fhir:v "source" ] ; fhir:alias [ fhir:v "QR" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Bundle> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "Bundle" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/RelatedPerson"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/RelatedPerson> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "RelatedPerson" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Observation> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "Observation" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Immunization"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "Immunization" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/MedicationAdministration> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "MedicationAdministration" ] ] [ fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Appointment"^^xsd:anyURI ; fhir:link <http://hl7.org/fhir/StructureDefinition/Appointment> ] ; fhir:mode [ fhir:v "target" ] ; fhir:alias [ fhir:v "Appointment" ] ] ) ; # fhir:group ( [ fhir:name [ fhir:v "ExtractMOH510ImmunisationRegister" ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "bundle" ] ; fhir:type [ fhir:v "Bundle" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "setBundleType" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "type" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "transaction" ] ] ) ] ) ] [ fhir:name [ fhir:v "registrationGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gReg" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-registration'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gReg" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itH" ] ; fhir:condition [ fhir:v "linkId = 'IMM-RG-H-father-name'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itH" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aH" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherResource" ] ; fhir:source ( [ fhir:context [ fhir:v "aH" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eFat" ] ] [ fhir:context [ fhir:v "eFat" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "fat" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "RelatedPerson" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "fat" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "fat" ] ] ) ] ) ] [ fhir:name [ fhir:v "fatherBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "fat" ] ] [ fhir:context [ fhir:v "eFat" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildRelatedPerson" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itH" ] ] [ fhir:value [ a fhir:id ; fhir:v "fat" ] ] [ fhir:value [ a fhir:id ; fhir:v "eFat" ] ] ) ] ) ] [ fhir:name [ fhir:v "fatherRelationship" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "fat" ] ; fhir:element [ fhir:v "relationship" ] ; fhir:variable [ fhir:v "relF" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherRelCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relF" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "relFc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatRelSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relFc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://terminology.hl7.org/CodeSystem/v3-RoleCode" ] ] ) ] ) ] [ fhir:name [ fhir:v "fatRelCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relFc" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "FTH" ] ] ) ] ) ] [ fhir:name [ fhir:v "fatRelDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relFc" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "father" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "fatherName" ] ; fhir:source ( [ fhir:context [ fhir:v "aH" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "fat" ] ; fhir:element [ fhir:v "name" ] ; fhir:variable [ fhir:v "nF" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherNameText" ] ; fhir:source ( [ fhir:context [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "nF" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "fatherPhoneRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gReg" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itKf" ] ; fhir:condition [ fhir:v "linkId = '42077-8'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherPhoneAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itKf" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aKf" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatherTelecom" ] ; fhir:source ( [ fhir:context [ fhir:v "aKf" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "fat" ] ; fhir:element [ fhir:v "telecom" ] ; fhir:variable [ fhir:v "tcF" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "fatPhoneSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "tcF" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "phone" ] ] ) ] ) ] [ fhir:name [ fhir:v "fatPhoneValue" ] ; fhir:source ( [ fhir:context [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "tcF" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "No Patient is emitted. The child is registered before the register entry\r\nis filled, so the patient already exists and arrives as\r\nQuestionnaireResponse.subject -- every resource below references it.\r\nSections C (child number), D (name), E (sex), F (date of birth) and\r\nJ (address) are the paper form transcribing demographics the EMR already\r\nholds, so they are deliberately not extracted: creating a Patient here\r\nwould mint a duplicate record, and a blind PUT would clobber fields the\r\nform does not carry. Reconciling them belongs in registration, not here.\r\nThis makes QuestionnaireResponse.subject mandatory for extraction --\r\nwithout it Immunization.patient (1..1) cannot be populated." ] ] [ fhir:name [ fhir:v "motherRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gReg" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itI" ] ; fhir:condition [ fhir:v "linkId = 'IMM-RG-I-mother-name'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itI" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aI" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherResource" ] ; fhir:source ( [ fhir:context [ fhir:v "aI" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eMot" ] ] [ fhir:context [ fhir:v "eMot" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "mot" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "RelatedPerson" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mot" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "mot" ] ] ) ] ) ] [ fhir:name [ fhir:v "motherBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mot" ] ] [ fhir:context [ fhir:v "eMot" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildRelatedPerson" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itI" ] ] [ fhir:value [ a fhir:id ; fhir:v "mot" ] ] [ fhir:value [ a fhir:id ; fhir:v "eMot" ] ] ) ] ) ] [ fhir:name [ fhir:v "motherRelationship" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mot" ] ; fhir:element [ fhir:v "relationship" ] ; fhir:variable [ fhir:v "relM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherRelCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relM" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "relMc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motRelSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relMc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://terminology.hl7.org/CodeSystem/v3-RoleCode" ] ] ) ] ) ] [ fhir:name [ fhir:v "motRelCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relMc" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MTH" ] ] ) ] ) ] [ fhir:name [ fhir:v "motRelDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "relMc" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "mother" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "motherName" ] ; fhir:source ( [ fhir:context [ fhir:v "aI" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mot" ] ; fhir:element [ fhir:v "name" ] ; fhir:variable [ fhir:v "nM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherNameText" ] ; fhir:source ( [ fhir:context [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "nM" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "motherPhoneRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gReg" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itKm" ] ; fhir:condition [ fhir:v "linkId = '42077-8'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherPhoneAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itKm" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aKm" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motherTelecom" ] ; fhir:source ( [ fhir:context [ fhir:v "aKm" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mot" ] ; fhir:element [ fhir:v "telecom" ] ; fhir:variable [ fhir:v "tcM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "motPhoneSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "tcM" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "phone" ] ] ) ] ) ] [ fhir:name [ fhir:v "motPhoneValue" ] ; fhir:source ( [ fhir:context [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "tcM" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "---------------------------------------------------------------- A-K" ] ] [ fhir:name [ fhir:v "growthGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gGrow" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-growth'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "weightRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gGrow" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itW" ] ; fhir:condition [ fhir:v "linkId = 'IMM-GM-Q1-weight'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "weightAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itW" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aW" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "weightObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aW" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eW" ] ] [ fhir:context [ fhir:v "eW" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obW" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obW" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obW" ] ] ) ] ) ] [ fhir:name [ fhir:v "weightBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obW" ] ] [ fhir:context [ fhir:v "eW" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obW" ] ] [ fhir:value [ a fhir:id ; fhir:v "eW" ] ] ) ] ) ] [ fhir:name [ fhir:v "weightCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obW" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obW" ] ] ) ] ) ] [ fhir:name [ fhir:v "weightCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obW" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdW" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "weightCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdW" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccW" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccW" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "wCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccW" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "29463-7" ] ] ) ] ) ] [ fhir:name [ fhir:v "wDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccW" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Body weight" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "weightValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aW" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obW" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "qW" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Quantity" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wQtyValue" ] ; fhir:source ( [ fhir:context [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qW" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] ) ] ) ] [ fhir:name [ fhir:v "wQtySystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qW" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://unitsofmeasure.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "wQtyCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qW" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "kg" ] ] ) ] ) ] [ fhir:name [ fhir:v "wQtyUnit" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qW" ] ; fhir:element [ fhir:v "unit" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "kilogram" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "heightRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gGrow" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itH2" ] ; fhir:condition [ fhir:v "linkId = 'IMM-GM-Q2-height'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "heightAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itH2" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aH2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "heightObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aH2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eH2" ] ] [ fhir:context [ fhir:v "eH2" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obH2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obH2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obH2" ] ] ) ] ) ] [ fhir:name [ fhir:v "heightBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obH2" ] ] [ fhir:context [ fhir:v "eH2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obH2" ] ] [ fhir:value [ a fhir:id ; fhir:v "eH2" ] ] ) ] ) ] [ fhir:name [ fhir:v "heightCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obH2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obH2" ] ] ) ] ) ] [ fhir:name [ fhir:v "heightCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obH2" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdH2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "heightCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdH2" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccH2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccH2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "hCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccH2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "8302-2" ] ] ) ] ) ] [ fhir:name [ fhir:v "hDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccH2" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Body height" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "heightValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aH2" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obH2" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "qH2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Quantity" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hQtyValue" ] ; fhir:source ( [ fhir:context [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qH2" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] ) ] ) ] [ fhir:name [ fhir:v "hQtySystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qH2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://unitsofmeasure.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "hQtyCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qH2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "cm" ] ] ) ] ) ] [ fhir:name [ fhir:v "hQtyUnit" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "qH2" ] ; fhir:element [ fhir:v "unit" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "centimeter" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "muacRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gGrow" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itMu" ] ; fhir:condition [ fhir:v "linkId = 'IMM-GM-Q3-muac'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "muacAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itMu" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aMu" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "muacObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aMu" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eMu" ] ] [ fhir:context [ fhir:v "eMu" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obMu" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obMu" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obMu" ] ] ) ] ) ] [ fhir:name [ fhir:v "muacBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obMu" ] ] [ fhir:context [ fhir:v "eMu" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obMu" ] ] [ fhir:value [ a fhir:id ; fhir:v "eMu" ] ] ) ] ) ] [ fhir:name [ fhir:v "muacCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obMu" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obMu" ] ] ) ] ) ] [ fhir:name [ fhir:v "muacCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obMu" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdMu" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "muacCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdMu" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccMu" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "muSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccMu" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "muCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccMu" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "9847-5" ] ] ) ] ) ] [ fhir:name [ fhir:v "muDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccMu" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Circumference site" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "muacValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obMu" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itMu" ] ] [ fhir:value [ a fhir:id ; fhir:v "obMu" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "wfaRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gGrow" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itWfa" ] ; fhir:condition [ fhir:v "linkId = 'IMM-GM-Q4-weight-category'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wfaAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itWfa" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aWfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wfaObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aWfa" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eWfa" ] ] [ fhir:context [ fhir:v "eWfa" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obWfa" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obWfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obWfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "wfaBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obWfa" ] ] [ fhir:context [ fhir:v "eWfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obWfa" ] ] [ fhir:value [ a fhir:id ; fhir:v "eWfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "wfaCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obWfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obWfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "wfaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obWfa" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdWfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wfaCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdWfa" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccWfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "wfaSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccWfa" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "wfaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccWfa" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "77606-2" ] ] ) ] ) ] [ fhir:name [ fhir:v "wfaDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccWfa" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Weight-for-age percentile" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "wfaValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obWfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itWfa" ] ] [ fhir:value [ a fhir:id ; fhir:v "obWfa" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "hfaRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gGrow" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itHfa" ] ; fhir:condition [ fhir:v "linkId = 'IMM-GM-Q5-height-category'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hfaAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itHfa" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aHfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hfaObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aHfa" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eHfa" ] ] [ fhir:context [ fhir:v "eHfa" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obHfa" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obHfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obHfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "hfaBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obHfa" ] ] [ fhir:context [ fhir:v "eHfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obHfa" ] ] [ fhir:value [ a fhir:id ; fhir:v "eHfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "hfaCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obHfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obHfa" ] ] ) ] ) ] [ fhir:name [ fhir:v "hfaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obHfa" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdHfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hfaCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdHfa" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccHfa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "hfaSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccHfa" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "hfaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccHfa" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "59576-9" ] ] ) ] ) ] [ fhir:name [ fhir:v "hfaDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccHfa" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Height-for-age percentile" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "hfaValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obHfa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itHfa" ] ] [ fhir:value [ a fhir:id ; fhir:v "obHfa" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------ Growth monitoring" ] ] [ fhir:name [ fhir:v "vaccineGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gVax" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-vaccines'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itL" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-L-bcg'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itL" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aL" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgImmunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aL" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eL" ] ] [ fhir:context [ fhir:v "eL" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imL" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imL" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imL" ] ] ) ] ) ] [ fhir:name [ fhir:v "bcgBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imL" ] ] [ fhir:context [ fhir:v "eL" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itL" ] ] [ fhir:value [ a fhir:id ; fhir:v "aL" ] ] [ fhir:value [ a fhir:id ; fhir:v "imL" ] ] [ fhir:value [ a fhir:id ; fhir:v "eL" ] ] ) ] ) ] [ fhir:name [ fhir:v "bcgVaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imL" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcL" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcL" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccL" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccL" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "bcgCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccL" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "bcg" ] ] ) ] ) ] [ fhir:name [ fhir:v "bcgDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccL" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "BCG" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "bcgText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcL" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "BCG" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "bcgProtocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imL" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paL" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "bcgSeries" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paL" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "BCG" ] ] ) ] ) ] [ fhir:name [ fhir:v "bcgDose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paL" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv0Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itM" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-M-polio-birth'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv0Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itM" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv0Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aM" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eM" ] ] [ fhir:context [ fhir:v "eM" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imM" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imM" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imM" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv0Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imM" ] ] [ fhir:context [ fhir:v "eM" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itM" ] ] [ fhir:value [ a fhir:id ; fhir:v "aM" ] ] [ fhir:value [ a fhir:id ; fhir:v "imM" ] ] [ fhir:value [ a fhir:id ; fhir:v "eM" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv0VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imM" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv0Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcM" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv0System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccM" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv0Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccM" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "bopv" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv0Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccM" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Bivalent oral poliovirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv0Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcM" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio birth dose (bOPV)" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv0Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imM" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paM" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv0Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paM" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio (bOPV)" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv0Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paM" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "0" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv1Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itN" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-N-opv1'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv1Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itN" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aN" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv1Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aN" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eN" ] ] [ fhir:context [ fhir:v "eN" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imN" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imN" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imN" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv1Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imN" ] ] [ fhir:context [ fhir:v "eN" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itN" ] ] [ fhir:value [ a fhir:id ; fhir:v "aN" ] ] [ fhir:value [ a fhir:id ; fhir:v "imN" ] ] [ fhir:value [ a fhir:id ; fhir:v "eN" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv1VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imN" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcN" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv1Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcN" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccN" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv1System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccN" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv1Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccN" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "bopv" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv1Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccN" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Bivalent oral poliovirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv1Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcN" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "OPV 1" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv1Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imN" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paN" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv1Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paN" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio (bOPV)" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv1Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paN" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv2Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itO" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-O-opv2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv2Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itO" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aO" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv2Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aO" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eO" ] ] [ fhir:context [ fhir:v "eO" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imO" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imO" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imO" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv2Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imO" ] ] [ fhir:context [ fhir:v "eO" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itO" ] ] [ fhir:value [ a fhir:id ; fhir:v "aO" ] ] [ fhir:value [ a fhir:id ; fhir:v "imO" ] ] [ fhir:value [ a fhir:id ; fhir:v "eO" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv2VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imO" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcO" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv2Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcO" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccO" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv2System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccO" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv2Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccO" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "bopv" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv2Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccO" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Bivalent oral poliovirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv2Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcO" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "OPV 2" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv2Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imO" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paO" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv2Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paO" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio (bOPV)" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv2Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paO" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "2" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv3Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itP" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-P-opv3'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv3Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itP" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aP" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv3Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aP" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eP" ] ] [ fhir:context [ fhir:v "eP" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imP" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imP" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imP" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv3Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imP" ] ] [ fhir:context [ fhir:v "eP" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itP" ] ] [ fhir:value [ a fhir:id ; fhir:v "aP" ] ] [ fhir:value [ a fhir:id ; fhir:v "imP" ] ] [ fhir:value [ a fhir:id ; fhir:v "eP" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv3VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imP" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcP" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv3Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcP" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccP" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv3System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccP" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv3Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccP" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "bopv" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv3Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccP" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Bivalent oral poliovirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv3Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcP" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "OPV 3" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "opv3Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imP" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paP" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "opv3Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paP" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio (bOPV)" ] ] ) ] ) ] [ fhir:name [ fhir:v "opv3Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paP" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "3" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ipvRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itQ" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-Q-ipv'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ipvAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itQ" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aQ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ipvImmunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aQ" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eQ" ] ] [ fhir:context [ fhir:v "eQ" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imQ" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imQ" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imQ" ] ] ) ] ) ] [ fhir:name [ fhir:v "ipvBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imQ" ] ] [ fhir:context [ fhir:v "eQ" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itQ" ] ] [ fhir:value [ a fhir:id ; fhir:v "aQ" ] ] [ fhir:value [ a fhir:id ; fhir:v "imQ" ] ] [ fhir:value [ a fhir:id ; fhir:v "eQ" ] ] ) ] ) ] [ fhir:name [ fhir:v "ipvVaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imQ" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcQ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ipvCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcQ" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccQ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ipvSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccQ" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "ipvCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccQ" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "ipv" ] ] ) ] ) ] [ fhir:name [ fhir:v "ipvDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccQ" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Inactivated poliovirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ipvText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcQ" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "IPV" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ipvProtocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imQ" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paQ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ipvSeries" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paQ" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Polio (IPV)" ] ] ) ] ) ] [ fhir:name [ fhir:v "ipvDose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paQ" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "IPV carries its own antigen code: the questionnaire reuses the OPV LOINC\r\ncode for both, which would collapse two distinct vaccines into one." ] ] [ fhir:name [ fhir:v "penta1Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itR" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-R-penta1'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta1Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itR" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aR" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta1Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aR" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eR" ] ] [ fhir:context [ fhir:v "eR" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imR" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imR" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imR" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta1Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imR" ] ] [ fhir:context [ fhir:v "eR" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itR" ] ] [ fhir:value [ a fhir:id ; fhir:v "aR" ] ] [ fhir:value [ a fhir:id ; fhir:v "imR" ] ] [ fhir:value [ a fhir:id ; fhir:v "eR" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta1VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imR" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcR" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta1Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcR" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccR" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta1System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccR" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta1Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccR" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "penta" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta1Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccR" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "DTP-HepB-Hib (pentavalent) vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta1Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcR" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent 1" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta1Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imR" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paR" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta1Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paR" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta1Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paR" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta2Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itS" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-S-penta2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta2Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itS" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aS" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta2Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aS" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eS" ] ] [ fhir:context [ fhir:v "eS" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imS" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imS" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imS" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta2Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imS" ] ] [ fhir:context [ fhir:v "eS" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itS" ] ] [ fhir:value [ a fhir:id ; fhir:v "aS" ] ] [ fhir:value [ a fhir:id ; fhir:v "imS" ] ] [ fhir:value [ a fhir:id ; fhir:v "eS" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta2VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imS" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcS" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta2Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcS" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccS" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta2System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccS" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta2Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccS" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "penta" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta2Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccS" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "DTP-HepB-Hib (pentavalent) vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta2Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcS" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent 2" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta2Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imS" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paS" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta2Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paS" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta2Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paS" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "2" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta3Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itT" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-T-penta3'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta3Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itT" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aT" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta3Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aT" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eT" ] ] [ fhir:context [ fhir:v "eT" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imT" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imT" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imT" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta3Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imT" ] ] [ fhir:context [ fhir:v "eT" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itT" ] ] [ fhir:value [ a fhir:id ; fhir:v "aT" ] ] [ fhir:value [ a fhir:id ; fhir:v "imT" ] ] [ fhir:value [ a fhir:id ; fhir:v "eT" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta3VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imT" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcT" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta3Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcT" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccT" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta3System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccT" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta3Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccT" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "penta" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta3Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccT" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "DTP-HepB-Hib (pentavalent) vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta3Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcT" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent 3" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "penta3Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imT" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paT" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "penta3Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paT" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pentavalent" ] ] ) ] ) ] [ fhir:name [ fhir:v "penta3Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paT" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "3" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itU" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-U-pcv1'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv1Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itU" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aU" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv1Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aU" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eU" ] ] [ fhir:context [ fhir:v "eU" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imU" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imU" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imU" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imU" ] ] [ fhir:context [ fhir:v "eU" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itU" ] ] [ fhir:value [ a fhir:id ; fhir:v "aU" ] ] [ fhir:value [ a fhir:id ; fhir:v "imU" ] ] [ fhir:value [ a fhir:id ; fhir:v "eU" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv1VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imU" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcU" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv1Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcU" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccU" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv1System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccU" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccU" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "pcv10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccU" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pneumococcal conjugate vaccine (PCV10)" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcU" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10 1" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imU" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paU" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv1Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paU" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv1Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paU" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itV" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-V-pcv2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv2Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itV" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aV" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv2Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aV" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eV" ] ] [ fhir:context [ fhir:v "eV" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imV" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imV" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imV" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imV" ] ] [ fhir:context [ fhir:v "eV" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itV" ] ] [ fhir:value [ a fhir:id ; fhir:v "aV" ] ] [ fhir:value [ a fhir:id ; fhir:v "imV" ] ] [ fhir:value [ a fhir:id ; fhir:v "eV" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv2VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imV" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcV" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv2Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcV" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccV" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv2System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccV" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccV" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "pcv10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccV" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pneumococcal conjugate vaccine (PCV10)" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcV" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10 2" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imV" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paV" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv2Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paV" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv2Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paV" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "2" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itW2" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-W-pcv3'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv3Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itW2" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aW2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv3Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aW2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eW2" ] ] [ fhir:context [ fhir:v "eW2" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imW2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imW2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imW2" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imW2" ] ] [ fhir:context [ fhir:v "eW2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itW2" ] ] [ fhir:value [ a fhir:id ; fhir:v "aW2" ] ] [ fhir:value [ a fhir:id ; fhir:v "imW2" ] ] [ fhir:value [ a fhir:id ; fhir:v "eW2" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv3VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imW2" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcW2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv3Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcW2" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccW2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv3System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccW2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccW2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "pcv10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccW2" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Pneumococcal conjugate vaccine (PCV10)" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcW2" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10 3" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imW2" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paW2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "pcv3Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paW2" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "PCV10" ] ] ) ] ) ] [ fhir:name [ fhir:v "pcv3Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paW2" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "3" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota1Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itX" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-X-rota1'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota1Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itX" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aX" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota1Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aX" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eX" ] ] [ fhir:context [ fhir:v "eX" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imX" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imX" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imX" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota1Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imX" ] ] [ fhir:context [ fhir:v "eX" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itX" ] ] [ fhir:value [ a fhir:id ; fhir:v "aX" ] ] [ fhir:value [ a fhir:id ; fhir:v "imX" ] ] [ fhir:value [ a fhir:id ; fhir:v "eX" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota1VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imX" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcX" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota1Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcX" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccX" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota1System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccX" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota1Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccX" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "rota" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota1Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccX" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rotavirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota1Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcX" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rota 1" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota1Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imX" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paX" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota1Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paX" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rotavirus" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota1Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paX" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota2Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gVax" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itY" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-Y-rota2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota2Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itY" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aY" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota2Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aY" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eY" ] ] [ fhir:context [ fhir:v "eY" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imY" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imY" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imY" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota2Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imY" ] ] [ fhir:context [ fhir:v "eY" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itY" ] ] [ fhir:value [ a fhir:id ; fhir:v "aY" ] ] [ fhir:value [ a fhir:id ; fhir:v "imY" ] ] [ fhir:value [ a fhir:id ; fhir:v "eY" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota2VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imY" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcY" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota2Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcY" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccY" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota2System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccY" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota2Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccY" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "rota" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota2Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccY" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rotavirus vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota2Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcY" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rota 2" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rota2Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imY" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paY" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rota2Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paY" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Rotavirus" ] ] ) ] ) ] [ fhir:name [ fhir:v "rota2Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paY" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "2" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------------- L-Y vaccines" ] ] [ fhir:name [ fhir:v "supplementationGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gSup" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-supplementation'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gSup" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itZ" ] ; fhir:condition [ fhir:v "linkId = '55876-9'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itZ" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Resource" ] ; fhir:source ( [ fhir:context [ fhir:v "aZ" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eZ" ] ] [ fhir:context [ fhir:v "eZ" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "maZ" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MedicationAdministration" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "maZ" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ" ] ] [ fhir:context [ fhir:v "eZ" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildMedAdmin" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itZ" ] ] [ fhir:value [ a fhir:id ; fhir:v "aZ" ] ] [ fhir:value [ a fhir:id ; fhir:v "maZ" ] ] [ fhir:value [ a fhir:id ; fhir:v "eZ" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Medication" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ" ] ; fhir:element [ fhir:v "medication" ] ; fhir:variable [ fhir:v "mcrZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Concept" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcrZ" ] ; fhir:element [ fhir:v "concept" ] ; fhir:variable [ fhir:v "mccZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mccZ" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "mcoZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "vitamin-a-100000" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vitamin A 100,000 IU" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mccZ" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vitamin A 100,000 IU (6-11 months)" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vitA100Dosage" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ" ] ; fhir:element [ fhir:v "dosage" ] ; fhir:variable [ fhir:v "dosZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dosZ" ] ; fhir:element [ fhir:v "dose" ] ; fhir:variable [ fhir:v "dqZ" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA100DoseValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:integer ; fhir:v 100000 ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100DoseSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://unitsofmeasure.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100DoseCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "[IU]" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA100DoseUnit" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ" ] ; fhir:element [ fhir:v "unit" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "international unit" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gSup" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itZ2" ] ; fhir:condition [ fhir:v "linkId = '0v8mpdt'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itZ2" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200Resource" ] ; fhir:source ( [ fhir:context [ fhir:v "aZ2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eZ2" ] ] [ fhir:context [ fhir:v "eZ2" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "maZ2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MedicationAdministration" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "maZ2" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ2" ] ] [ fhir:context [ fhir:v "eZ2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildMedAdmin" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itZ2" ] ] [ fhir:value [ a fhir:id ; fhir:v "aZ2" ] ] [ fhir:value [ a fhir:id ; fhir:v "maZ2" ] ] [ fhir:value [ a fhir:id ; fhir:v "eZ2" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Medication" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ2" ] ; fhir:element [ fhir:v "medication" ] ; fhir:variable [ fhir:v "mcrZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200Concept" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcrZ2" ] ; fhir:element [ fhir:v "concept" ] ; fhir:variable [ fhir:v "mccZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mccZ2" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "mcoZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "vitamin-a-200000" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mcoZ2" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vitamin A 200,000 IU" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "mccZ2" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vitamin A 200,000 IU (12 months onwards)" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vitA200Dosage" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "maZ2" ] ; fhir:element [ fhir:v "dosage" ] ; fhir:variable [ fhir:v "dosZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dosZ2" ] ; fhir:element [ fhir:v "dose" ] ; fhir:variable [ fhir:v "dqZ2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vitA200DoseValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ2" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:integer ; fhir:v 200000 ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200DoseSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://unitsofmeasure.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200DoseCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "[IU]" ] ] ) ] ) ] [ fhir:name [ fhir:v "vitA200DoseUnit" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dqZ2" ] ; fhir:element [ fhir:v "unit" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "international unit" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------- Z Vitamin A supplements" ] ] [ fhir:name [ fhir:v "mrYfGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gMrYf" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-mr-yf'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gMrYf" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itAa" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-AA-mr1'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itAa" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aAa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aAa" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eAa" ] ] [ fhir:context [ fhir:v "eAa" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imAa" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAa" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr1Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAa" ] ] [ fhir:context [ fhir:v "eAa" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itAa" ] ] [ fhir:value [ a fhir:id ; fhir:v "aAa" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAa" ] ] [ fhir:value [ a fhir:id ; fhir:v "eAa" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr1VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAa" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcAa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAa" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccAa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAa" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr1Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAa" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "mr" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr1Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAa" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Measles-rubella vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "mr1Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAa" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MR 1" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "mr1Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAa" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paAa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr1Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAa" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Measles-Rubella" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr1Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAa" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "yfRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gMrYf" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itAb" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-AB-yf'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "yfAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itAb" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aAb" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "yfImmunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aAb" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eAb" ] ] [ fhir:context [ fhir:v "eAb" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imAb" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAb" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAb" ] ] ) ] ) ] [ fhir:name [ fhir:v "yfBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAb" ] ] [ fhir:context [ fhir:v "eAb" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itAb" ] ] [ fhir:value [ a fhir:id ; fhir:v "aAb" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAb" ] ] [ fhir:value [ a fhir:id ; fhir:v "eAb" ] ] ) ] ) ] [ fhir:name [ fhir:v "yfVaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAb" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcAb" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "yfCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAb" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccAb" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "yfSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAb" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "yfCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAb" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "yf" ] ] ) ] ) ] [ fhir:name [ fhir:v "yfDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAb" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Yellow fever vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "yfText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAb" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Yellow Fever" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "yfProtocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAb" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paAb" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "yfSeries" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAb" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Yellow Fever" ] ] ) ] ) ] [ fhir:name [ fhir:v "yfDose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAb" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "1" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------ AA-AB MR1 + Yellow Fever" ] ] [ fhir:name [ fhir:v "ficGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gFic" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-fic'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ficRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gFic" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itAc" ] ; fhir:condition [ fhir:v "linkId = 'IMM-FIC-AC-date'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ficAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itAc" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aAc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ficObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aAc" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eAc" ] ] [ fhir:context [ fhir:v "eAc" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obAc" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAc" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAc" ] ] ) ] ) ] [ fhir:name [ fhir:v "ficBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAc" ] ] [ fhir:context [ fhir:v "eAc" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAc" ] ] [ fhir:value [ a fhir:id ; fhir:v "eAc" ] ] ) ] ) ] [ fhir:name [ fhir:v "ficCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAc" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAc" ] ] ) ] ) ] [ fhir:name [ fhir:v "ficCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAc" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdAc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ficCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdAc" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccAc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "ficSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "ficCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAc" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "11369-6" ] ] ) ] ) ] [ fhir:name [ fhir:v "ficDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAc" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunisation completion status" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ficCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdAc" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Fully Immunised Child (FIC) completion date" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "ficValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aAc" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAc" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "cast" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] [ fhir:value [ a fhir:string ; fhir:v "dateTime" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------------- AC FIC date" ] ] [ fhir:name [ fhir:v "mr2Group" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gMr2" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-mr2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2Rule" ] ; fhir:source ( [ fhir:context [ fhir:v "gMr2" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itAd" ] ; fhir:condition [ fhir:v "linkId = 'IMM-VAX-AD-mr2'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2Answer" ] ; fhir:source ( [ fhir:context [ fhir:v "itAd" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aAd" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2Immunization" ] ; fhir:source ( [ fhir:context [ fhir:v "aAd" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eAd" ] ] [ fhir:context [ fhir:v "eAd" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "imAd" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAd" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAd" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr2Base" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAd" ] ] [ fhir:context [ fhir:v "eAd" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildImm" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "itAd" ] ] [ fhir:value [ a fhir:id ; fhir:v "aAd" ] ] [ fhir:value [ a fhir:id ; fhir:v "imAd" ] ] [ fhir:value [ a fhir:id ; fhir:v "eAd" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr2VaccineCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAd" ] ; fhir:element [ fhir:v "vaccineCode" ] ; fhir:variable [ fhir:v "vcAd" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2Coding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAd" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "vccAd" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2System" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAd" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr2Code" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAd" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "mr" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr2Display" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vccAd" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Measles-rubella vaccine" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "mr2Text" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "vcAd" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MR 2" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "mr2Protocol" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imAd" ] ; fhir:element [ fhir:v "protocolApplied" ] ; fhir:variable [ fhir:v "paAd" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "mr2Series" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAd" ] ; fhir:element [ fhir:v "series" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Measles-Rubella" ] ] ) ] ) ] [ fhir:name [ fhir:v "mr2Dose" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "paAd" ] ; fhir:element [ fhir:v "doseNumber" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "2" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------------------ AD MR2" ] ] [ fhir:name [ fhir:v "dangerSignsGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gDs" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-danger-signs'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feverRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD1" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q1-fever'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feverAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD1" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feverObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD1" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD1" ] ] [ fhir:context [ fhir:v "eD1" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD1" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD1" ] ] ) ] ) ] [ fhir:name [ fhir:v "feverBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD1" ] ] [ fhir:context [ fhir:v "eD1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD1" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD1" ] ] ) ] ) ] [ fhir:name [ fhir:v "feverCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD1" ] ] ) ] ) ] [ fhir:name [ fhir:v "feverCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD1" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feverCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD1" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feverSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD1" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "feverCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD1" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "8310-5" ] ] ) ] ) ] [ fhir:name [ fhir:v "feverDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD1" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Body temperature" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "feverCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD1" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Fever reported" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "feverValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD1" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD1" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "feedingRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD2" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q2-feeding'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feedingAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD2" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feedingObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD2" ] ] [ fhir:context [ fhir:v "eD2" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD2" ] ] ) ] ) ] [ fhir:name [ fhir:v "feedingBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD2" ] ] [ fhir:context [ fhir:v "eD2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD2" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD2" ] ] ) ] ) ] [ fhir:name [ fhir:v "feedingCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD2" ] ] ) ] ) ] [ fhir:name [ fhir:v "feedingCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD2" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feedingCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD2" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "feedingSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "feedingCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "75890-1" ] ] ) ] ) ] [ fhir:name [ fhir:v "feedingDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD2" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Feeding status" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "feedingCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD2" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Child is feeding" ] ] ) ] ) ; fhir:documentation [ fhir:v "Polarity is inverted relative to the other danger signs: \"Yes\"\r\nhere is reassuring, not alarming." ] ] ) ] [ fhir:name [ fhir:v "feedingValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD2" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD2" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD3" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q3-convulsions'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "convulsionsAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD3" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "convulsionsObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD3" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD3" ] ] [ fhir:context [ fhir:v "eD3" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD3" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD3" ] ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD3" ] ] [ fhir:context [ fhir:v "eD3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD3" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD3" ] ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD3" ] ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD3" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "convulsionsCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD3" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "convulsionsSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD3" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD3" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "31398-4" ] ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD3" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Convulsions" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "convulsionsValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD3" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD3" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "coughRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD4" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q4-cough'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "coughAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD4" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD4" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "coughObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD4" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD4" ] ] [ fhir:context [ fhir:v "eD4" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD4" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD4" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD4" ] ] ) ] ) ] [ fhir:name [ fhir:v "coughBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD4" ] ] [ fhir:context [ fhir:v "eD4" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD4" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD4" ] ] ) ] ) ] [ fhir:name [ fhir:v "coughCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD4" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD4" ] ] ) ] ) ] [ fhir:name [ fhir:v "coughCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD4" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD4" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "coughCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD4" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD4" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "coughSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD4" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "coughCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD4" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "28238-4" ] ] ) ] ) ] [ fhir:name [ fhir:v "coughDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD4" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Cough" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "coughValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD4" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD4" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD4" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD5" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q5-diarrhoea'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "diarrhoeaAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD5" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD5" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "diarrhoeaObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD5" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD5" ] ] [ fhir:context [ fhir:v "eD5" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD5" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD5" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD5" ] ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD5" ] ] [ fhir:context [ fhir:v "eD5" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD5" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD5" ] ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD5" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD5" ] ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD5" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD5" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "diarrhoeaCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD5" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD5" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "diarrhoeaSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD5" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://snomed.info/sct" ] ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD5" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "28229008" ] ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD5" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Diarrhoea" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "diarrhoeaValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD5" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD5" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD5" ] ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "The questionnaire declares this SNOMED CT concept id under the LOINC\r\nsystem; emitted here against the SNOMED CT system it actually belongs to." ] ] [ fhir:name [ fhir:v "vomitingRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD6" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q6-vomiting'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vomitingAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD6" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD6" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vomitingObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD6" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD6" ] ] [ fhir:context [ fhir:v "eD6" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD6" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD6" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD6" ] ] ) ] ) ] [ fhir:name [ fhir:v "vomitingBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD6" ] ] [ fhir:context [ fhir:v "eD6" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD6" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD6" ] ] ) ] ) ] [ fhir:name [ fhir:v "vomitingCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD6" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD6" ] ] ) ] ) ] [ fhir:name [ fhir:v "vomitingCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD6" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD6" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vomitingCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD6" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD6" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vomitingSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD6" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://snomed.info/sct" ] ] ) ] ) ] [ fhir:name [ fhir:v "vomitingCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD6" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "21522001" ] ] ) ] ) ] [ fhir:name [ fhir:v "vomitingDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD6" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vomiting" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "vomitingValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD6" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itD6" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD6" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gDs" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itD7" ] ; fhir:condition [ fhir:v "linkId = 'IMM-DS-Q7-notes'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "dsNotesAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itD7" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aD7" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "dsNotesObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aD7" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eD7" ] ] [ fhir:context [ fhir:v "eD7" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obD7" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD7" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD7" ] ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD7" ] ] [ fhir:context [ fhir:v "eD7" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD7" ] ] [ fhir:value [ a fhir:id ; fhir:v "eD7" ] ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD7" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obD7" ] ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD7" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdD7" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "dsNotesCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD7" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccD7" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "dsNotesSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD7" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD7" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "48767-8" ] ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccD7" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Annotation comment" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdD7" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Danger signs clinical notes" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "dsNotesValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aD7" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obD7" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "------------------------------------------------------------- Danger signs" ] ] [ fhir:name [ fhir:v "educationGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gEd" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-education'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduGivenRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gEd" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itE1" ] ; fhir:condition [ fhir:v "linkId = 'IMM-ED-Q1-education-given'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduGivenAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itE1" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aE1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduGivenObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aE1" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eE1" ] ] [ fhir:context [ fhir:v "eE1" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obE1" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE1" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE1" ] ] [ fhir:context [ fhir:v "eE1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE1" ] ] [ fhir:value [ a fhir:id ; fhir:v "eE1" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE1" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE1" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdE1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduGivenCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdE1" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccE1" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduGivenSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE1" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE1" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "61144-2" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE1" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Patient education provided" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "eduGivenValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE1" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itE1" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE1" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gEd" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itE2" ] ; fhir:condition [ fhir:v "linkId = 'IMM-ED-Q2-topics'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduTopicsAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itE2" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aE2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduTopicsObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aE2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eE2" ] ] [ fhir:context [ fhir:v "eE2" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obE2" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE2" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE2" ] ] [ fhir:context [ fhir:v "eE2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE2" ] ] [ fhir:value [ a fhir:id ; fhir:v "eE2" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE2" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE2" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE2" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdE2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduTopicsCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdE2" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccE2" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "eduTopicsSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE2" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE2" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "61144-2" ] ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE2" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Education topics covered" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdE2" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Education topics covered" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "eduTopicsValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aE2" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE2" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gEd" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itE3" ] ; fhir:condition [ fhir:v "linkId = 'IMM-ED-Q3-next-visit'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "nextVisitToldAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itE3" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aE3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "nextVisitToldObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aE3" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eE3" ] ] [ fhir:context [ fhir:v "eE3" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obE3" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE3" ] ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE3" ] ] [ fhir:context [ fhir:v "eE3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE3" ] ] [ fhir:value [ a fhir:id ; fhir:v "eE3" ] ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE3" ] ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE3" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdE3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "nextVisitToldCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdE3" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccE3" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "nextVisitToldSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE3" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE3" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "57177-3" ] ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccE3" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Follow-up plan" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdE3" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Next visit date communicated to caregiver" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitToldValue" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obE3" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "itE3" ] ] [ fhir:value [ a fhir:id ; fhir:v "obE3" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "nextVisitDateRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gEd" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itE4" ] ; fhir:condition [ fhir:v "linkId = 'IMM-ED-Q4-next-visit-date'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "nextVisitDateAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itE4" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aE4" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "appointmentResource" ] ; fhir:source ( [ fhir:context [ fhir:v "aE4" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eE4" ] ] [ fhir:context [ fhir:v "eE4" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "appt" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Appointment" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "appt" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptCellIdentifier" ] ; fhir:source ( [ fhir:context [ fhir:v "aE4" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dvAp" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "idAp" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptCellSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idAp" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptCellValue" ] ; fhir:source ( [ fhir:context [ fhir:v "dvAp" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idAp" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "append" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "IMM-ED-Q4-next-visit-date@" ] ] [ fhir:value [ a fhir:id ; fhir:v "dvAp" ] ] ) ] ) ] ) ; fhir:documentation [ fhir:v "One proposed appointment per (child, requested date)." ] ] [ fhir:name [ fhir:v "apptReq" ] ; fhir:source ( [ fhir:context [ fhir:v "aE4" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dvAp2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "eE4" ] ; fhir:element [ fhir:v "request" ] ; fhir:variable [ fhir:v "rqAp" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptReqMethod" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rqAp" ] ; fhir:element [ fhir:v "method" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "POST" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptReqUrl" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rqAp" ] ; fhir:element [ fhir:v "url" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Appointment" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjAp" ] ; fhir:condition [ fhir:v "reference.startsWith('Patient/')" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "subjAp" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "prefAp" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rqAp" ] ; fhir:element [ fhir:v "ifNoneExist" ] ; fhir:transform [ fhir:v "append" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "actor=" ] ] [ fhir:value [ a fhir:id ; fhir:v "prefAp" ] ] [ fhir:value [ a fhir:string ; fhir:v "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|IMM-ED-Q4-next-visit-date@" ] ] [ fhir:value [ a fhir:id ; fhir:v "dvAp2" ] ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "As for the register entries below: the request always, the conditional\r\ncreate only for a subject that is a Patient." ] ] [ fhir:name [ fhir:v "apptId" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "id" ] ; fhir:transform [ fhir:v "uuid" ] ] ) ] [ fhir:name [ fhir:v "apptStatus" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "proposed" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptDescription" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "description" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Next scheduled immunisation visit (MOH 510)" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "subject" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptParticipant" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "participant" ] ; fhir:variable [ fhir:v "prt" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptParticipantStatus" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "prt" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "needs-action" ] ] ) ] ) ] [ fhir:name [ fhir:v "apptParticipantActor" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/') or reference.startsWith('Practitioner/') or reference.startsWith('Location/') or reference.startsWith('PractitionerRole/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient') or ('/' + type).endsWith('/Practitioner') or ('/' + type).endsWith('/Location') or ('/' + type).endsWith('/PractitionerRole')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "prt" ] ; fhir:element [ fhir:v "actor" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "apptRequestedPeriod" ] ; fhir:source ( [ fhir:context [ fhir:v "aE4" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "appt" ] ; fhir:element [ fhir:v "requestedPeriod" ] ; fhir:variable [ fhir:v "rp" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptRequestedStart" ] ; fhir:source ( [ fhir:context [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rp" ] ; fhir:element [ fhir:v "start" ] ; fhir:transform [ fhir:v "cast" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] [ fhir:value [ a fhir:string ; fhir:v "dateTime" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "Appointment.start is an instant, so a date-only answer is carried on\r\nrequestedPeriod instead." ] ] ) ; fhir:documentation [ fhir:v "---------------------------------------------------------- Patient education" ] ] [ fhir:name [ fhir:v "remarksGroup" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "gRem" ] ; fhir:condition [ fhir:v "linkId = 'IMM-group-remarks'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "remarksRule" ] ; fhir:source ( [ fhir:context [ fhir:v "gRem" ] ; fhir:element [ fhir:v "item" ] ; fhir:variable [ fhir:v "itAe" ] ; fhir:condition [ fhir:v "linkId = '48767-8'" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "remarksAnswer" ] ; fhir:source ( [ fhir:context [ fhir:v "itAe" ] ; fhir:element [ fhir:v "answer" ] ; fhir:listMode [ fhir:v "first" ] ; fhir:variable [ fhir:v "aAe" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "remarksObservation" ] ; fhir:source ( [ fhir:context [ fhir:v "aAe" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "bundle" ] ; fhir:element [ fhir:v "entry" ] ; fhir:variable [ fhir:v "eAe" ] ] [ fhir:context [ fhir:v "eAe" ] ; fhir:element [ fhir:v "resource" ] ; fhir:variable [ fhir:v "obAe" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "responseTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAe" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAe" ] ] ) ] ) ] [ fhir:name [ fhir:v "remarksBase" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAe" ] ] [ fhir:context [ fhir:v "eAe" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAe" ] ] [ fhir:value [ a fhir:id ; fhir:v "eAe" ] ] ) ] ) ] [ fhir:name [ fhir:v "remarksCategory" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAe" ] ] ) ; fhir:dependent ( [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qr" ] ] [ fhir:value [ a fhir:id ; fhir:v "obAe" ] ] ) ] ) ] [ fhir:name [ fhir:v "remarksCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAe" ] ; fhir:element [ fhir:v "code" ] ; fhir:variable [ fhir:v "cdAe" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "remarksCodeCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdAe" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "ccAe" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "remarksSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAe" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://loinc.org" ] ] ) ] ) ] [ fhir:name [ fhir:v "remarksCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAe" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "48767-8" ] ] ) ] ) ] [ fhir:name [ fhir:v "remarksDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ccAe" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Annotation comment" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "remarksCodeText" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cdAe" ] ; fhir:element [ fhir:v "text" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MOH 510 register remarks" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "remarksValue" ] ; fhir:source ( [ fhir:context [ fhir:v "aAe" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "v" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obAe" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "v" ] ] ) ] ) ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "---------------------------------------------------------------- AE Remarks" ] ] ) ] [ fhir:name [ fhir:v "BuildObsBase" ] ; fhir:documentation [ fhir:v "---------------------------------------------------------------- helper groups\r\nPlain POST, deliberately not a conditional create. These are per-visit facts,\r\nso the key would have to be (cell, visit) -- and qr.authored carries a\r\n\"+03:00\" offset that cannot go into an ifNoneExist query string unencoded.\r\nConsequence: extracting the SAME response twice duplicates its Observations.\r\nPopulate never fills these sections, so the populate/extract loop is\r\nunaffected; only a repeated submission of one response is." ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "obs" ] ; fhir:type [ fhir:v "Observation" ] ; fhir:mode [ fhir:v "target" ] ] [ fhir:name [ fhir:v "entry" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "obsReq" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "request" ] ; fhir:variable [ fhir:v "rq" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "obsReqMethod" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "method" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "POST" ] ] ) ] ) ] [ fhir:name [ fhir:v "obsReqUrl" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "url" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Observation" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "obsId" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "id" ] ; fhir:transform [ fhir:v "uuid" ] ] ) ] [ fhir:name [ fhir:v "obsStatus" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "final" ] ] ) ] ) ] [ fhir:name [ fhir:v "obsSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "subject" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] [ fhir:name [ fhir:v "obsEncounter" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:variable [ fhir:v "e" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "e" ] ] ) ] ) ] [ fhir:name [ fhir:v "obsEffective" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "authored" ] ; fhir:variable [ fhir:v "t" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "effective" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "t" ] ] ) ] ) ] [ fhir:name [ fhir:v "obsDerivedFrom" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "id" ] ; fhir:variable [ fhir:v "qid" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "derivedFrom" ] ; fhir:variable [ fhir:v "dr" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Reference" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "obsDerivedRef" ] ; fhir:source ( [ fhir:context [ fhir:v "qid" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "dr" ] ; fhir:element [ fhir:v "reference" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qid" ] ] ) ] ) ] ) ; fhir:documentation [ fhir:v "qr.id is already type-qualified (\"QuestionnaireResponse/1008\") when the\r\nresponse is read from the server, so prepending the type -- or using\r\nreference() -- yields a doubled reference." ] ] ) ] [ fhir:name [ fhir:v "BuildImm" ] ; fhir:documentation [ fhir:v "A register cell -- (child, column) -- is the natural key for everything below.\r\nThe paper form has exactly one BCG box per child, so re-submitting a\r\npre-populated form must not add a second one. Each resource therefore carries\r\nits linkId as a business identifier and is emitted as a conditional create." ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "it" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "a" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "imm" ] ; fhir:type [ fhir:v "Immunization" ] ; fhir:mode [ fhir:v "target" ] ] [ fhir:name [ fhir:v "entry" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "immCellIdentifier" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "idc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "immCellSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell" ] ] ) ] ) ] [ fhir:name [ fhir:v "immCellValue" ] ; fhir:source ( [ fhir:context [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "lk" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "immReq" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "request" ] ; fhir:variable [ fhir:v "rq" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "immReqMethod" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "method" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "POST" ] ] ) ] ) ] [ fhir:name [ fhir:v "immReqUrl" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "url" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Immunization" ] ] ) ] ) ] [ fhir:name [ fhir:v "immSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjImm" ] ; fhir:condition [ fhir:v "reference.startsWith('Patient/')" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "immIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "subjImm" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "ifNoneExist" ] ; fhir:transform [ fhir:v "append" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "patient=" ] ] [ fhir:value [ a fhir:id ; fhir:v "pref" ] ] [ fhir:value [ a fhir:string ; fhir:v "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|" ] ] [ fhir:value [ a fhir:id ; fhir:v "lk2" ] ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "The request is built whatever the subject is: an entry without one is refused, and\r\nthe whole transaction with it. Only the conditional create needs the patient, so only\r\nit waits for a subject that is a Patient; a conditional URL naming anything else is\r\ninvalid (HAPI-0539) and refused the same way." ] ] [ fhir:name [ fhir:v "immId" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "id" ] ; fhir:transform [ fhir:v "uuid" ] ] ) ] [ fhir:name [ fhir:v "immStatus" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "completed" ] ] ) ] ) ] [ fhir:name [ fhir:v "immPrimarySource" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "primarySource" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:boolean ; fhir:v false ] ] ) ] ) ; fhir:documentation [ fhir:v "Register entries are transcribed from the child's card, so the recording\r\nfacility is not necessarily the administering one." ] ] [ fhir:name [ fhir:v "immPatient" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "patient" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] [ fhir:name [ fhir:v "immEncounter" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:variable [ fhir:v "e" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "e" ] ] ) ] ) ] [ fhir:name [ fhir:v "immOccurrence" ] ; fhir:source ( [ fhir:context [ fhir:v "a" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "imm" ] ; fhir:element [ fhir:v "occurrence" ] ; fhir:transform [ fhir:v "cast" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] [ fhir:value [ a fhir:string ; fhir:v "dateTime" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "BuildMedAdmin" ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "it" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "a" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "ma" ] ; fhir:type [ fhir:v "MedicationAdministration" ] ; fhir:mode [ fhir:v "target" ] ] [ fhir:name [ fhir:v "entry" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "maCellIdentifier" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "idc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "maCellSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell" ] ] ) ] ) ] [ fhir:name [ fhir:v "maCellValue" ] ; fhir:source ( [ fhir:context [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "lk" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "maReq" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "request" ] ; fhir:variable [ fhir:v "rq" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "maReqMethod" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "method" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "POST" ] ] ) ] ) ] [ fhir:name [ fhir:v "maReqUrl" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "url" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "MedicationAdministration" ] ] ) ] ) ] [ fhir:name [ fhir:v "maSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjMa" ] ; fhir:condition [ fhir:v "reference.startsWith('Patient/')" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "maIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "subjMa" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "ifNoneExist" ] ; fhir:transform [ fhir:v "append" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "subject=" ] ] [ fhir:value [ a fhir:id ; fhir:v "pref" ] ] [ fhir:value [ a fhir:string ; fhir:v "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|" ] ] [ fhir:value [ a fhir:id ; fhir:v "lk2" ] ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "The request is built whatever the subject is: an entry without one is refused, and\r\nthe whole transaction with it. Only the conditional create needs the patient, so only\r\nit waits for a subject that is a Patient; a conditional URL naming anything else is\r\ninvalid (HAPI-0539) and refused the same way." ] ] [ fhir:name [ fhir:v "maId" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "id" ] ; fhir:transform [ fhir:v "uuid" ] ] ) ] [ fhir:name [ fhir:v "maStatus" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "status" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "completed" ] ] ) ] ) ] [ fhir:name [ fhir:v "maSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "subject" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] [ fhir:name [ fhir:v "maEncounter" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:variable [ fhir:v "e" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Encounter/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Encounter')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "encounter" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "e" ] ] ) ] ) ] [ fhir:name [ fhir:v "maOccurence" ] ; fhir:source ( [ fhir:context [ fhir:v "a" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "dv" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "ma" ] ; fhir:element [ fhir:v "occurence" ] ; fhir:transform [ fhir:v "cast" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "dv" ] ] [ fhir:value [ a fhir:string ; fhir:v "dateTime" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "BuildRelatedPerson" ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "it" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "rp" ] ; fhir:type [ fhir:v "RelatedPerson" ] ; fhir:mode [ fhir:v "target" ] ] [ fhir:name [ fhir:v "entry" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rpCellIdentifier" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rp" ] ; fhir:element [ fhir:v "identifier" ] ; fhir:variable [ fhir:v "idc" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rpCellSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell" ] ] ) ] ) ] [ fhir:name [ fhir:v "rpCellValue" ] ; fhir:source ( [ fhir:context [ fhir:v "lk" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "idc" ] ; fhir:element [ fhir:v "value" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "lk" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "rpReq" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "linkId" ] ; fhir:variable [ fhir:v "lk2" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "entry" ] ; fhir:element [ fhir:v "request" ] ; fhir:variable [ fhir:v "rq" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rpReqMethod" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "method" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "POST" ] ] ) ] ) ] [ fhir:name [ fhir:v "rpReqUrl" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "url" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "RelatedPerson" ] ] ) ] ) ] [ fhir:name [ fhir:v "rpSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjRp" ] ; fhir:condition [ fhir:v "reference.startsWith('Patient/')" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rpIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "subjRp" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rq" ] ; fhir:element [ fhir:v "ifNoneExist" ] ; fhir:transform [ fhir:v "append" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "patient=" ] ] [ fhir:value [ a fhir:id ; fhir:v "pref" ] ] [ fhir:value [ a fhir:string ; fhir:v "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|" ] ] [ fhir:value [ a fhir:id ; fhir:v "lk2" ] ] ) ] ) ] ) ] ) ; fhir:documentation [ fhir:v "The request is built whatever the subject is: an entry without one is refused, and\r\nthe whole transaction with it. Only the conditional create needs the patient, so only\r\nit waits for a subject that is a Patient; a conditional URL naming anything else is\r\ninvalid (HAPI-0539) and refused the same way." ] ] [ fhir:name [ fhir:v "rpId" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rp" ] ; fhir:element [ fhir:v "id" ] ; fhir:transform [ fhir:v "uuid" ] ] ) ] [ fhir:name [ fhir:v "rpActive" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rp" ] ; fhir:element [ fhir:v "active" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:boolean ; fhir:v true ] ] ) ] ) ] [ fhir:name [ fhir:v "rpPatient" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "s" ] ; fhir:condition [ fhir:v "(reference.exists() and (reference.startsWith('Patient/'))) or (reference.empty() and (type.empty() or ('/' + type).endsWith('/Patient')))" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "rp" ] ; fhir:element [ fhir:v "patient" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "s" ] ] ) ] ) ] ) ] [ fhir:name [ fhir:v "VitalSignsCategory" ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "obs" ] ; fhir:type [ fhir:v "Observation" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vsCat" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "category" ] ; fhir:variable [ fhir:v "cat" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vsCatCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cat" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "c" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "vsCatSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://terminology.hl7.org/CodeSystem/observation-category" ] ] ) ] ) ] [ fhir:name [ fhir:v "vsCatCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "vital-signs" ] ] ) ] ) ] [ fhir:name [ fhir:v "vsCatDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Vital Signs" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "SurveyCategory" ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "obs" ] ; fhir:type [ fhir:v "Observation" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "svCat" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "category" ] ; fhir:variable [ fhir:v "cat" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "svCatCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "cat" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "c" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "svCatSystem" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "system" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "http://terminology.hl7.org/CodeSystem/observation-category" ] ] ) ] ) ] [ fhir:name [ fhir:v "svCatCode" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "code" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "survey" ] ] ) ] ) ] [ fhir:name [ fhir:v "svCatDisplay" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "display" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "Survey" ] ] ) ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "SetCodedValue" ] ; fhir:input ( [ fhir:name [ fhir:v "it" ] ; fhir:type [ fhir:v "Element" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "obs" ] ; fhir:type [ fhir:v "Observation" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "setCodedValue" ] ; fhir:source ( [ fhir:context [ fhir:v "it" ] ; fhir:element [ fhir:v "answer" ] ; fhir:variable [ fhir:v "a" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "obs" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "c" ] ; fhir:transform [ fhir:v "create" ] ; fhir:parameter ( [ fhir:value [ a fhir:string ; fhir:v "CodeableConcept" ] ] ) ] ) ; fhir:rule ( [ fhir:name [ fhir:v "copyCoding" ] ; fhir:source ( [ fhir:context [ fhir:v "a" ] ; fhir:element [ fhir:v "value" ] ; fhir:variable [ fhir:v "coding" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "c" ] ; fhir:element [ fhir:v "coding" ] ; fhir:variable [ fhir:v "nc" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "coding" ] ] ) ] ) ] ) ] ) ] [ fhir:name [ fhir:v "CopyResponseTags" ] ; fhir:documentation [ fhir:v "── Tenancy ──────────────────────────────────────────────────────────────────\r\nWhose this is. The platform says which tenant a response belongs to with a\r\ntag on the response, and every tag the response carries is copied onto\r\neverything this map creates, as it is. Copied rather than named here, so the\r\nmap never has to know which tenant it is running for, nor which system the\r\ntag is under: that system has moved more than once." ] ; fhir:input ( [ fhir:name [ fhir:v "qr" ] ; fhir:type [ fhir:v "QR" ] ; fhir:mode [ fhir:v "source" ] ] [ fhir:name [ fhir:v "r" ] ; fhir:mode [ fhir:v "target" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "tenantTags" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "meta" ] ; fhir:variable [ fhir:v "qm" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "copyTag" ] ; fhir:source ( [ fhir:context [ fhir:v "qm" ] ; fhir:element [ fhir:v "tag" ] ; fhir:variable [ fhir:v "qt" ] ] ) ; fhir:target ( [ fhir:context [ fhir:v "r" ] ; fhir:element [ fhir:v "meta" ] ; fhir:variable [ fhir:v "m" ] ] [ fhir:context [ fhir:v "m" ] ; fhir:element [ fhir:v "tag" ] ; fhir:transform [ fhir:v "copy" ] ; fhir:parameter ( [ fhir:value [ a fhir:id ; fhir:v "qt" ] ] ) ] ) ] ) ] ) ] ) . #
IG © 2025+ Kathurima Kimathi. Package silfhirprofileig#0.1.0 based on FHIR 5.0.0. Generated 2026-10-06
Links: Table of Contents |
QA Report