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-09-14 |
@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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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> <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 qr.subject<b> as </b><span style=\"color: maroon\">subjAp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjAp.reference<b> as </b><span style=\"color: maroon\">prefAp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> 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<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>"apptReq"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptPatientRef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"apptSubject"</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><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><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<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><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><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 qr.subject<b> as </b><span style=\"color: maroon\">subjImm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjImm.reference<b> as </b><span style=\"color: maroon\">pref</span><b> then</b><span style=\"color: navy\"> {\r\n</span> 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<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>"immReq"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"immPatientRef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"immSubject"</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><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><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 qr.subject<b> as </b><span style=\"color: maroon\">subjMa</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjMa.reference<b> as </b><span style=\"color: maroon\">pref</span><b> then</b><span style=\"color: navy\"> {\r\n</span> 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<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>"maReq"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"maPatientRef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"maSubject"</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><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><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 qr.subject<b> as </b><span style=\"color: maroon\">subjRp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> subjRp.reference<b> as </b><span style=\"color: maroon\">pref</span><b> then</b><span style=\"color: navy\"> {\r\n</span> 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<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>"rpReq"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rpPatientRef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"rpSubject"</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><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></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-09-14T06:31:13+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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "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 "apptSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjAp" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "apptPatientRef" ] ; fhir:source ( [ fhir:context [ fhir:v "subjAp" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "prefAp" ] ] ) ; fhir:rule ( [ 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 "apptIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; 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: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: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: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 "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: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: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 "immSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjImm" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "immPatientRef" ] ; fhir:source ( [ fhir:context [ fhir:v "subjImm" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:rule ( [ 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 "immIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; 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: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: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: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 "maSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjMa" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "maPatientRef" ] ; fhir:source ( [ fhir:context [ fhir:v "subjMa" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:rule ( [ 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 "maIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; 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: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: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: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 "rpSubject" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ; fhir:element [ fhir:v "subject" ] ; fhir:variable [ fhir:v "subjRp" ] ] ) ; fhir:rule ( [ fhir:name [ fhir:v "rpPatientRef" ] ; fhir:source ( [ fhir:context [ fhir:v "subjRp" ] ; fhir:element [ fhir:v "reference" ] ; fhir:variable [ fhir:v "pref" ] ] ) ; fhir:rule ( [ 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 "rpIfNoneExist" ] ; fhir:source ( [ fhir:context [ fhir:v "qr" ] ] ) ; 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: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: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" ] ] ) ] ) ] ) ] ) ] ) . #
IG © 2025+ Kathurima Kimathi. Package silfhirprofileig#0.1.0 based on FHIR 5.0.0. Generated 2026-09-14
Links: Table of Contents |
QA Report