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

: MOH 510 Immunisation Permanent Register Extraction - TTL Representation

Active as of 2026-09-14

Raw ttl | Download

@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\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">&quot; </span><b>alias </b>QR <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">&quot; </span><b>alias </b>Bundle <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/relatedperson.html\" title=\"RelatedPerson\">http://hl7.org/fhir/StructureDefinition/RelatedPerson</a><span style=\"color: navy\">&quot; </span><b>alias </b>RelatedPerson <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">&quot; </span><b>alias </b>Observation <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/immunization.html\" title=\"Immunization\">http://hl7.org/fhir/StructureDefinition/Immunization</a><span style=\"color: navy\">&quot; </span><b>alias </b>Immunization <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/medicationadministration.html\" title=\"MedicationAdministration\">http://hl7.org/fhir/StructureDefinition/MedicationAdministration</a><span style=\"color: navy\">&quot; </span><b>alias </b>MedicationAdministration <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/appointment.html\" title=\"Appointment\">http://hl7.org/fhir/StructureDefinition/Appointment</a><span style=\"color: navy\">&quot; </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> -&gt; </b></span>bundle.type = <span style=\"color: blue\">'transaction'</span> <i>&quot;setBundleType&quot;</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> -&gt; </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> -&gt; </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>&quot;fatherBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>relFc.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-RoleCode'</span> <i>&quot;fatRelSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>relFc.code = <span style=\"color: blue\">'FTH'</span> <i>&quot;fatRelCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>relFc.display = <span style=\"color: blue\">'father'</span> <i>&quot;fatRelDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;fatherRelCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;fatherRelationship&quot;</i><span style=\"color: navy\">;</span>\r\n          aH.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>nF.text = <span style=\"color: maroon\">v</span> <i>&quot;fatherNameText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;fatherName&quot;</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> -&gt; </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> -&gt; </b></span>tcF.system = <span style=\"color: blue\">'phone'</span> <i>&quot;fatPhoneSystem&quot;</i><span style=\"color: navy\">;</span>\r\n                v<span style=\"color: navy\"><b> -&gt; </b></span>tcF.value = <span style=\"color: maroon\">v</span> <i>&quot;fatPhoneValue&quot;</i><span style=\"color: navy\">;</span>\r\n              <span style=\"color: navy\">}</span> <i>&quot;fatherTelecom&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;fatherPhoneAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;fatherPhoneRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;fatherResource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;fatherAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;fatherRule&quot;</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> -&gt; </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> -&gt; </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>&quot;motherBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>relMc.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-RoleCode'</span> <i>&quot;motRelSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>relMc.code = <span style=\"color: blue\">'MTH'</span> <i>&quot;motRelCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>relMc.display = <span style=\"color: blue\">'mother'</span> <i>&quot;motRelDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;motherRelCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;motherRelationship&quot;</i><span style=\"color: navy\">;</span>\r\n          aI.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>nM.text = <span style=\"color: maroon\">v</span> <i>&quot;motherNameText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;motherName&quot;</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> -&gt; </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> -&gt; </b></span>tcM.system = <span style=\"color: blue\">'phone'</span> <i>&quot;motPhoneSystem&quot;</i><span style=\"color: navy\">;</span>\r\n                v<span style=\"color: navy\"><b> -&gt; </b></span>tcM.value = <span style=\"color: maroon\">v</span> <i>&quot;motPhoneValue&quot;</i><span style=\"color: navy\">;</span>\r\n              <span style=\"color: navy\">}</span> <i>&quot;motherTelecom&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;motherPhoneAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;motherPhoneRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;motherResource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;motherAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;motherRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;registrationGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;weightBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;weightCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccW.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;wSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccW.code = <span style=\"color: blue\">'29463-7'</span> <i>&quot;wCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccW.display = <span style=\"color: blue\">'Body weight'</span> <i>&quot;wDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;weightCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;weightCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aW.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>qW.value = <span style=\"color: maroon\">dv</span> <i>&quot;wQtyValue&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qW.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;wQtySystem&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qW.code = <span style=\"color: blue\">'kg'</span> <i>&quot;wQtyCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qW.unit = <span style=\"color: blue\">'kilogram'</span> <i>&quot;wQtyUnit&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;weightValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;weightObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;weightAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;weightRule&quot;</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> -&gt; </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> -&gt; </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>&quot;heightBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;heightCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccH2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;hSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccH2.code = <span style=\"color: blue\">'8302-2'</span> <i>&quot;hCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccH2.display = <span style=\"color: blue\">'Body height'</span> <i>&quot;hDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;heightCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;heightCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aH2.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>qH2.value = <span style=\"color: maroon\">dv</span> <i>&quot;hQtyValue&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qH2.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;hQtySystem&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qH2.code = <span style=\"color: blue\">'cm'</span> <i>&quot;hQtyCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>qH2.unit = <span style=\"color: blue\">'centimeter'</span> <i>&quot;hQtyUnit&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;heightValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;heightObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;heightAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;heightRule&quot;</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> -&gt; </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> -&gt; </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>&quot;muacBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;muacCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccMu.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;muSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccMu.code = <span style=\"color: blue\">'9847-5'</span> <i>&quot;muCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccMu.display = <span style=\"color: blue\">'Circumference site'</span> <i>&quot;muDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;muacCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;muacCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;muacValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;muacObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;muacAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;muacRule&quot;</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> -&gt; </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> -&gt; </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>&quot;wfaBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;wfaCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccWfa.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;wfaSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccWfa.code = <span style=\"color: blue\">'77606-2'</span> <i>&quot;wfaCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccWfa.display = <span style=\"color: blue\">'Weight-for-age percentile'</span> <i>&quot;wfaDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;wfaCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;wfaCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;wfaValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;wfaObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;wfaAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;wfaRule&quot;</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> -&gt; </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> -&gt; </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>&quot;hfaBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;hfaCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccHfa.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;hfaSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccHfa.code = <span style=\"color: blue\">'59576-9'</span> <i>&quot;hfaCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccHfa.display = <span style=\"color: blue\">'Height-for-age percentile'</span> <i>&quot;hfaDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;hfaCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;hfaCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;hfaValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;hfaObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;hfaAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;hfaRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;growthGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;bcgBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccL.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;bcgSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccL.code = <span style=\"color: blue\">'bcg'</span> <i>&quot;bcgCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccL.display = <span style=\"color: blue\">'BCG'</span> <i>&quot;bcgDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;bcgCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcL.text = <span style=\"color: blue\">'BCG'</span> <i>&quot;bcgText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bcgVaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paL.series = <span style=\"color: blue\">'BCG'</span> <i>&quot;bcgSeries&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paL.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;bcgDose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bcgProtocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;bcgImmunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;bcgAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;bcgRule&quot;</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> -&gt; </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> -&gt; </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>&quot;opv0Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccM.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;opv0System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccM.code = <span style=\"color: blue\">'bopv'</span> <i>&quot;opv0Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccM.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>&quot;opv0Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;opv0Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcM.text = <span style=\"color: blue\">'Polio birth dose (bOPV)'</span> <i>&quot;opv0Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv0VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paM.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>&quot;opv0Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paM.doseNumber = <span style=\"color: blue\">'0'</span> <i>&quot;opv0Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv0Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;opv0Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;opv0Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opv0Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;opv1Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccN.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;opv1System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccN.code = <span style=\"color: blue\">'bopv'</span> <i>&quot;opv1Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccN.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>&quot;opv1Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;opv1Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcN.text = <span style=\"color: blue\">'OPV 1'</span> <i>&quot;opv1Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv1VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paN.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>&quot;opv1Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paN.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;opv1Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv1Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;opv1Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;opv1Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opv1Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;opv2Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccO.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;opv2System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccO.code = <span style=\"color: blue\">'bopv'</span> <i>&quot;opv2Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccO.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>&quot;opv2Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;opv2Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcO.text = <span style=\"color: blue\">'OPV 2'</span> <i>&quot;opv2Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv2VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paO.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>&quot;opv2Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paO.doseNumber = <span style=\"color: blue\">'2'</span> <i>&quot;opv2Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv2Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;opv2Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;opv2Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opv2Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;opv3Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccP.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;opv3System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccP.code = <span style=\"color: blue\">'bopv'</span> <i>&quot;opv3Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccP.display = <span style=\"color: blue\">'Bivalent oral poliovirus vaccine'</span> <i>&quot;opv3Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;opv3Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcP.text = <span style=\"color: blue\">'OPV 3'</span> <i>&quot;opv3Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv3VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paP.series = <span style=\"color: blue\">'Polio (bOPV)'</span> <i>&quot;opv3Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paP.doseNumber = <span style=\"color: blue\">'3'</span> <i>&quot;opv3Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;opv3Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;opv3Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;opv3Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opv3Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;ipvBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccQ.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;ipvSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccQ.code = <span style=\"color: blue\">'ipv'</span> <i>&quot;ipvCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccQ.display = <span style=\"color: blue\">'Inactivated poliovirus vaccine'</span> <i>&quot;ipvDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;ipvCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcQ.text = <span style=\"color: blue\">'IPV'</span> <i>&quot;ipvText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;ipvVaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paQ.series = <span style=\"color: blue\">'Polio (IPV)'</span> <i>&quot;ipvSeries&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paQ.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;ipvDose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;ipvProtocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;ipvImmunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;ipvAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;ipvRule&quot;</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> -&gt; </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> -&gt; </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>&quot;penta1Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccR.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;penta1System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccR.code = <span style=\"color: blue\">'penta'</span> <i>&quot;penta1Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccR.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>&quot;penta1Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;penta1Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcR.text = <span style=\"color: blue\">'Pentavalent 1'</span> <i>&quot;penta1Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta1VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paR.series = <span style=\"color: blue\">'Pentavalent'</span> <i>&quot;penta1Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paR.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;penta1Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta1Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;penta1Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;penta1Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;penta1Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;penta2Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccS.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;penta2System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccS.code = <span style=\"color: blue\">'penta'</span> <i>&quot;penta2Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccS.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>&quot;penta2Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;penta2Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcS.text = <span style=\"color: blue\">'Pentavalent 2'</span> <i>&quot;penta2Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta2VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paS.series = <span style=\"color: blue\">'Pentavalent'</span> <i>&quot;penta2Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paS.doseNumber = <span style=\"color: blue\">'2'</span> <i>&quot;penta2Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta2Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;penta2Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;penta2Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;penta2Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;penta3Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccT.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;penta3System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccT.code = <span style=\"color: blue\">'penta'</span> <i>&quot;penta3Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccT.display = <span style=\"color: blue\">'DTP-HepB-Hib (pentavalent) vaccine'</span> <i>&quot;penta3Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;penta3Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcT.text = <span style=\"color: blue\">'Pentavalent 3'</span> <i>&quot;penta3Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta3VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paT.series = <span style=\"color: blue\">'Pentavalent'</span> <i>&quot;penta3Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paT.doseNumber = <span style=\"color: blue\">'3'</span> <i>&quot;penta3Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;penta3Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;penta3Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;penta3Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;penta3Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;pcv1Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccU.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;pcv1System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccU.code = <span style=\"color: blue\">'pcv10'</span> <i>&quot;pcv1Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccU.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>&quot;pcv1Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;pcv1Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcU.text = <span style=\"color: blue\">'PCV10 1'</span> <i>&quot;pcv1Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv1VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paU.series = <span style=\"color: blue\">'PCV10'</span> <i>&quot;pcv1Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paU.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;pcv1Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv1Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;pcv1Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;pcv1Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;pcv1Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;pcv2Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccV.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;pcv2System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccV.code = <span style=\"color: blue\">'pcv10'</span> <i>&quot;pcv2Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccV.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>&quot;pcv2Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;pcv2Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcV.text = <span style=\"color: blue\">'PCV10 2'</span> <i>&quot;pcv2Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv2VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paV.series = <span style=\"color: blue\">'PCV10'</span> <i>&quot;pcv2Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paV.doseNumber = <span style=\"color: blue\">'2'</span> <i>&quot;pcv2Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv2Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;pcv2Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;pcv2Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;pcv2Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;pcv3Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccW2.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;pcv3System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccW2.code = <span style=\"color: blue\">'pcv10'</span> <i>&quot;pcv3Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccW2.display = <span style=\"color: blue\">'Pneumococcal conjugate vaccine (PCV10)'</span> <i>&quot;pcv3Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;pcv3Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcW2.text = <span style=\"color: blue\">'PCV10 3'</span> <i>&quot;pcv3Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv3VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paW2.series = <span style=\"color: blue\">'PCV10'</span> <i>&quot;pcv3Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paW2.doseNumber = <span style=\"color: blue\">'3'</span> <i>&quot;pcv3Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;pcv3Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;pcv3Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;pcv3Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;pcv3Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;rota1Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccX.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;rota1System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccX.code = <span style=\"color: blue\">'rota'</span> <i>&quot;rota1Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccX.display = <span style=\"color: blue\">'Rotavirus vaccine'</span> <i>&quot;rota1Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;rota1Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcX.text = <span style=\"color: blue\">'Rota 1'</span> <i>&quot;rota1Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;rota1VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paX.series = <span style=\"color: blue\">'Rotavirus'</span> <i>&quot;rota1Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paX.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;rota1Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;rota1Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;rota1Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;rota1Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;rota1Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;rota2Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccY.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;rota2System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccY.code = <span style=\"color: blue\">'rota'</span> <i>&quot;rota2Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccY.display = <span style=\"color: blue\">'Rotavirus vaccine'</span> <i>&quot;rota2Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;rota2Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcY.text = <span style=\"color: blue\">'Rota 2'</span> <i>&quot;rota2Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;rota2VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paY.series = <span style=\"color: blue\">'Rotavirus'</span> <i>&quot;rota2Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paY.doseNumber = <span style=\"color: blue\">'2'</span> <i>&quot;rota2Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;rota2Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;rota2Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;rota2Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;rota2Rule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;vaccineGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;vitA100Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </b></span>mcoZ.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement'</span> <i>&quot;vitA100System&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </b></span>mcoZ.code = <span style=\"color: blue\">'vitamin-a-100000'</span> <i>&quot;vitA100Code&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </b></span>mcoZ.display = <span style=\"color: blue\">'Vitamin A 100,000 IU'</span> <i>&quot;vitA100Display&quot;</i><span style=\"color: navy\">;</span>\r\n              <span style=\"color: navy\">}</span> <i>&quot;vitA100Coding&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>mccZ.text = <span style=\"color: blue\">'Vitamin A 100,000 IU (6-11 months)'</span> <i>&quot;vitA100Text&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;vitA100Concept&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;vitA100Medication&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>dqZ.value = <span style=\"color: blue\">100000</span> <i>&quot;vitA100DoseValue&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;vitA100DoseSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ.code = <span style=\"color: blue\">'[IU]'</span> <i>&quot;vitA100DoseCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ.unit = <span style=\"color: blue\">'international unit'</span> <i>&quot;vitA100DoseUnit&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;vitA100Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;vitA100Dosage&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;vitA100Resource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;vitA100Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;vitA100Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;vitA200Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </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> -&gt; </b></span>mcoZ2.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement'</span> <i>&quot;vitA200System&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </b></span>mcoZ2.code = <span style=\"color: blue\">'vitamin-a-200000'</span> <i>&quot;vitA200Code&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </b></span>mcoZ2.display = <span style=\"color: blue\">'Vitamin A 200,000 IU'</span> <i>&quot;vitA200Display&quot;</i><span style=\"color: navy\">;</span>\r\n              <span style=\"color: navy\">}</span> <i>&quot;vitA200Coding&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>mccZ2.text = <span style=\"color: blue\">'Vitamin A 200,000 IU (12 months onwards)'</span> <i>&quot;vitA200Text&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;vitA200Concept&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;vitA200Medication&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>dqZ2.value = <span style=\"color: blue\">200000</span> <i>&quot;vitA200DoseValue&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ2.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;vitA200DoseSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ2.code = <span style=\"color: blue\">'[IU]'</span> <i>&quot;vitA200DoseCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>dqZ2.unit = <span style=\"color: blue\">'international unit'</span> <i>&quot;vitA200DoseUnit&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;vitA200Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;vitA200Dosage&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;vitA200Resource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;vitA200Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;vitA200Rule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;supplementationGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;mr1Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccAa.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;mr1System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAa.code = <span style=\"color: blue\">'mr'</span> <i>&quot;mr1Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAa.display = <span style=\"color: blue\">'Measles-rubella vaccine'</span> <i>&quot;mr1Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;mr1Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcAa.text = <span style=\"color: blue\">'MR 1'</span> <i>&quot;mr1Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;mr1VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paAa.series = <span style=\"color: blue\">'Measles-Rubella'</span> <i>&quot;mr1Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paAa.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;mr1Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;mr1Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;mr1Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;mr1Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mr1Rule&quot;</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> -&gt; </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> -&gt; </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>&quot;yfBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccAb.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;yfSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAb.code = <span style=\"color: blue\">'yf'</span> <i>&quot;yfCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAb.display = <span style=\"color: blue\">'Yellow fever vaccine'</span> <i>&quot;yfDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;yfCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcAb.text = <span style=\"color: blue\">'Yellow Fever'</span> <i>&quot;yfText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;yfVaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paAb.series = <span style=\"color: blue\">'Yellow Fever'</span> <i>&quot;yfSeries&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paAb.doseNumber = <span style=\"color: blue\">'1'</span> <i>&quot;yfDose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;yfProtocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;yfImmunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;yfAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;yfRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;mrYfGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;ficBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;ficCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccAc.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;ficSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccAc.code = <span style=\"color: blue\">'11369-6'</span> <i>&quot;ficCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccAc.display = <span style=\"color: blue\">'Immunisation completion status'</span> <i>&quot;ficDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;ficCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdAc.text = <span style=\"color: blue\">'Fully Immunised Child (FIC) completion date'</span> <i>&quot;ficCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;ficCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aAc.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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>&quot;ficValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;ficObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;ficAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;ficRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;ficGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;mr2Base&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>vccAd.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen'</span> <i>&quot;mr2System&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAd.code = <span style=\"color: blue\">'mr'</span> <i>&quot;mr2Code&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>vccAd.display = <span style=\"color: blue\">'Measles-rubella vaccine'</span> <i>&quot;mr2Display&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;mr2Coding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vcAd.text = <span style=\"color: blue\">'MR 2'</span> <i>&quot;mr2Text&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;mr2VaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>paAd.series = <span style=\"color: blue\">'Measles-Rubella'</span> <i>&quot;mr2Series&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>paAd.doseNumber = <span style=\"color: blue\">'2'</span> <i>&quot;mr2Dose&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;mr2Protocol&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;mr2Immunization&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;mr2Answer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;mr2Rule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;mr2Group&quot;</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> -&gt; </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> -&gt; </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>&quot;feverBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;feverCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD1.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;feverSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD1.code = <span style=\"color: blue\">'8310-5'</span> <i>&quot;feverCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD1.display = <span style=\"color: blue\">'Body temperature'</span> <i>&quot;feverDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;feverCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdD1.text = <span style=\"color: blue\">'Fever reported'</span> <i>&quot;feverCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;feverCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;feverValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;feverObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;feverAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;feverRule&quot;</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> -&gt; </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> -&gt; </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>&quot;feedingBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;feedingCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;feedingSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD2.code = <span style=\"color: blue\">'75890-1'</span> <i>&quot;feedingCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD2.display = <span style=\"color: blue\">'Feeding status'</span> <i>&quot;feedingDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;feedingCodeCoding&quot;</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: &quot;Yes&quot;</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> -&gt; </b></span>cdD2.text = <span style=\"color: blue\">'Child is feeding'</span> <i>&quot;feedingCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;feedingCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;feedingValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;feedingObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;feedingAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;feedingRule&quot;</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> -&gt; </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> -&gt; </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>&quot;convulsionsBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;convulsionsCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD3.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;convulsionsSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD3.code = <span style=\"color: blue\">'31398-4'</span> <i>&quot;convulsionsCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD3.display = <span style=\"color: blue\">'Convulsions'</span> <i>&quot;convulsionsDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;convulsionsCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;convulsionsCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;convulsionsValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;convulsionsObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;convulsionsAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;convulsionsRule&quot;</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> -&gt; </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> -&gt; </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>&quot;coughBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;coughCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD4.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;coughSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD4.code = <span style=\"color: blue\">'28238-4'</span> <i>&quot;coughCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD4.display = <span style=\"color: blue\">'Cough'</span> <i>&quot;coughDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;coughCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;coughCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;coughValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;coughObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;coughAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;coughRule&quot;</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> -&gt; </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> -&gt; </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>&quot;diarrhoeaBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;diarrhoeaCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD5.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>&quot;diarrhoeaSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD5.code = <span style=\"color: blue\">'28229008'</span> <i>&quot;diarrhoeaCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD5.display = <span style=\"color: blue\">'Diarrhoea'</span> <i>&quot;diarrhoeaDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;diarrhoeaCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;diarrhoeaCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;diarrhoeaValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;diarrhoeaObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;diarrhoeaAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;diarrhoeaRule&quot;</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> -&gt; </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> -&gt; </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>&quot;vomitingBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;vomitingCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD6.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>&quot;vomitingSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD6.code = <span style=\"color: blue\">'21522001'</span> <i>&quot;vomitingCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD6.display = <span style=\"color: blue\">'Vomiting'</span> <i>&quot;vomitingDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;vomitingCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;vomitingCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;vomitingValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;vomitingObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;vomitingAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;vomitingRule&quot;</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> -&gt; </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> -&gt; </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>&quot;dsNotesBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;dsNotesCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccD7.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;dsNotesSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD7.code = <span style=\"color: blue\">'48767-8'</span> <i>&quot;dsNotesCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccD7.display = <span style=\"color: blue\">'Annotation comment'</span> <i>&quot;dsNotesDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;dsNotesCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdD7.text = <span style=\"color: blue\">'Danger signs clinical notes'</span> <i>&quot;dsNotesCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;dsNotesCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aD7.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obD7.value = <span style=\"color: maroon\">v</span> <i>&quot;dsNotesValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;dsNotesObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;dsNotesAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;dsNotesRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;dangerSignsGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;eduGivenBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;eduGivenCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccE1.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;eduGivenSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE1.code = <span style=\"color: blue\">'61144-2'</span> <i>&quot;eduGivenCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE1.display = <span style=\"color: blue\">'Patient education provided'</span> <i>&quot;eduGivenDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;eduGivenCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;eduGivenCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;eduGivenValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;eduGivenObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;eduGivenAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;eduGivenRule&quot;</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> -&gt; </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> -&gt; </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>&quot;eduTopicsBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;eduTopicsCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccE2.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;eduTopicsSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE2.code = <span style=\"color: blue\">'61144-2'</span> <i>&quot;eduTopicsCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE2.display = <span style=\"color: blue\">'Education topics covered'</span> <i>&quot;eduTopicsDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;eduTopicsCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdE2.text = <span style=\"color: blue\">'Education topics covered'</span> <i>&quot;eduTopicsCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;eduTopicsCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aE2.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obE2.value = <span style=\"color: maroon\">v</span> <i>&quot;eduTopicsValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;eduTopicsObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;eduTopicsAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;eduTopicsRule&quot;</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> -&gt; </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> -&gt; </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>&quot;nextVisitToldBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;nextVisitToldCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccE3.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;nextVisitToldSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE3.code = <span style=\"color: blue\">'57177-3'</span> <i>&quot;nextVisitToldCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccE3.display = <span style=\"color: blue\">'Follow-up plan'</span> <i>&quot;nextVisitToldDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;nextVisitToldCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdE3.text = <span style=\"color: blue\">'Next visit date communicated to caregiver'</span> <i>&quot;nextVisitToldCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;nextVisitToldCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;nextVisitToldValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;nextVisitToldObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;nextVisitToldAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;nextVisitToldRule&quot;</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> -&gt; </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> -&gt; </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> -&gt; </b></span>idAp.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>&quot;apptCellSystem&quot;</i><span style=\"color: navy\">;</span>\r\n            dvAp<span style=\"color: navy\"><b> -&gt; </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>&quot;apptCellValue&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;apptCellIdentifier&quot;</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> -&gt; </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> -&gt; </b></span>rqAp.method = <span style=\"color: blue\">'POST'</span> <i>&quot;apptReqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </b></span>rqAp.url = <span style=\"color: blue\">'Appointment'</span> <i>&quot;apptReqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n                qr<span style=\"color: navy\"><b> -&gt; </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\">'&amp;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>&quot;apptIfNoneExist&quot;</i><span style=\"color: navy\">;</span>\r\n              <span style=\"color: navy\">}</span> <i>&quot;apptReq&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;apptPatientRef&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;apptSubject&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>appt.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;apptId&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>appt.status = <span style=\"color: blue\">'proposed'</span> <i>&quot;apptStatus&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>appt.description = <span style=\"color: blue\">'Next scheduled immunisation visit (MOH 510)'</span> <i>&quot;apptDescription&quot;</i><span style=\"color: navy\">;</span>\r\n          qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>appt.subject = <span style=\"color: maroon\">s</span> <i>&quot;apptSubject&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </b></span>prt.status = <span style=\"color: blue\">'needs-action'</span> <i>&quot;apptParticipantStatus&quot;</i><span style=\"color: navy\">;</span>\r\n            qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>prt.actor = <span style=\"color: maroon\">s</span> <i>&quot;apptParticipantActor&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;apptParticipant&quot;</i><span style=\"color: navy\">;</span>\r\n          aE4.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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> -&gt; </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>&quot;apptRequestedStart&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;apptRequestedPeriod&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;appointmentResource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;nextVisitDateAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;nextVisitDateRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;educationGroup&quot;</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> -&gt; </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> -&gt; </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>&quot;remarksBase&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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>&quot;remarksCategory&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </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> -&gt; </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> -&gt; </b></span>ccAe.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;remarksSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccAe.code = <span style=\"color: blue\">'48767-8'</span> <i>&quot;remarksCode&quot;</i><span style=\"color: navy\">;</span>\r\n              qr<span style=\"color: navy\"><b> -&gt; </b></span>ccAe.display = <span style=\"color: blue\">'Annotation comment'</span> <i>&quot;remarksDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;remarksCodeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>cdAe.text = <span style=\"color: blue\">'MOH 510 register remarks'</span> <i>&quot;remarksCodeText&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;remarksCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aAe.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>obAe.value = <span style=\"color: maroon\">v</span> <i>&quot;remarksValue&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;remarksObservation&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;remarksAnswer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;remarksRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;remarksGroup&quot;</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\">&quot;+03:00&quot; 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> -&gt; </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> -&gt; </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>&quot;obsReqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>rq.url = <span style=\"color: blue\">'Observation'</span> <i>&quot;obsReqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;obsReq&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;obsId&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>&quot;obsStatus&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.subject = <span style=\"color: maroon\">s</span> <i>&quot;obsSubject&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.encounter<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.encounter = <span style=\"color: maroon\">e</span> <i>&quot;obsEncounter&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.authored<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.effective = <span style=\"color: maroon\">t</span> <i>&quot;obsEffective&quot;</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 (&quot;QuestionnaireResponse/1008&quot;) 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> -&gt; </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> -&gt; </b></span>dr.reference = <span style=\"color: maroon\">qid</span> <i>&quot;obsDerivedRef&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;obsDerivedFrom&quot;</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> -&gt; </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> -&gt; </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>&quot;immCellSystem&quot;</i><span style=\"color: navy\">;</span>\r\n    lk<span style=\"color: navy\"><b> -&gt; </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>&quot;immCellValue&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;immCellIdentifier&quot;</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> -&gt; </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> -&gt; </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>&quot;immReqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>rq.url = <span style=\"color: blue\">'Immunization'</span> <i>&quot;immReqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </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\">'&amp;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>&quot;immIfNoneExist&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;immReq&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;immPatientRef&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;immSubject&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>imm.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;immId&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>imm.status = <span style=\"color: blue\">'completed'</span> <i>&quot;immStatus&quot;</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> -&gt; </b></span>imm.primarySource = <span style=\"color: blue\">false</span> <i>&quot;immPrimarySource&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>imm.patient = <span style=\"color: maroon\">s</span> <i>&quot;immPatient&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.encounter<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -&gt; </b></span>imm.encounter = <span style=\"color: maroon\">e</span> <i>&quot;immEncounter&quot;</i><span style=\"color: navy\">;</span>\r\n  a.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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>&quot;immOccurrence&quot;</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> -&gt; </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> -&gt; </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>&quot;maCellSystem&quot;</i><span style=\"color: navy\">;</span>\r\n    lk<span style=\"color: navy\"><b> -&gt; </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>&quot;maCellValue&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;maCellIdentifier&quot;</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> -&gt; </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> -&gt; </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>&quot;maReqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>rq.url = <span style=\"color: blue\">'MedicationAdministration'</span> <i>&quot;maReqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </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\">'&amp;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>&quot;maIfNoneExist&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;maReq&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;maPatientRef&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;maSubject&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>ma.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;maId&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>ma.status = <span style=\"color: blue\">'completed'</span> <i>&quot;maStatus&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>ma.subject = <span style=\"color: maroon\">s</span> <i>&quot;maSubject&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.encounter<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -&gt; </b></span>ma.encounter = <span style=\"color: maroon\">e</span> <i>&quot;maEncounter&quot;</i><span style=\"color: navy\">;</span>\r\n  a.value<b> as </b><span style=\"color: maroon\">dv</span><span style=\"color: navy\"><b> -&gt; </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>&quot;maOccurence&quot;</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> -&gt; </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> -&gt; </b></span>idc.system = <span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell'</span> <i>&quot;rpCellSystem&quot;</i><span style=\"color: navy\">;</span>\r\n    lk<span style=\"color: navy\"><b> -&gt; </b></span>idc.value = <span style=\"color: maroon\">lk</span> <i>&quot;rpCellValue&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;rpCellIdentifier&quot;</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> -&gt; </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> -&gt; </b></span>rq.method = <span style=\"color: blue\">'POST'</span> <i>&quot;rpReqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>rq.url = <span style=\"color: blue\">'RelatedPerson'</span> <i>&quot;rpReqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </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\">'&amp;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>&quot;rpIfNoneExist&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;rpReq&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;rpPatientRef&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;rpSubject&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>rp.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;rpId&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<span style=\"color: navy\"><b> -&gt; </b></span>rp.active = <span style=\"color: blue\">true</span> <i>&quot;rpActive&quot;</i><span style=\"color: navy\">;</span>\r\n  qr.subject<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>rp.patient = <span style=\"color: maroon\">s</span> <i>&quot;rpPatient&quot;</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> -&gt; </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> -&gt; </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> -&gt; </b></span>c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;vsCatSystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>c.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;vsCatCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>c.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;vsCatDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;vsCatCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;vsCat&quot;</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> -&gt; </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> -&gt; </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> -&gt; </b></span>c.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;svCatSystem&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>c.code = <span style=\"color: blue\">'survey'</span> <i>&quot;svCatCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>c.display = <span style=\"color: blue\">'Survey'</span> <i>&quot;svCatDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;svCatCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;svCat&quot;</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> -&gt; </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> -&gt; </b></span>c.coding = <span style=\"color: maroon\">coding</span><b> as </b><span style=\"color: maroon\">nc</span> <i>&quot;copyCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;setCodedValue&quot;</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"
             ]
           ] )
         ] )
       ] )
     ] )
  ] ) . #