{
  "resourceType" : "StructureMap",
  "id" : "ExtractMOH510ImmunisationRegister",
  "text" : {
    "status" : "generated",
    "div" : "<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>"
  },
  "url" : "https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMOH510ImmunisationRegister",
  "version" : "0.1.0",
  "name" : "ExtractMOH510ImmunisationRegister",
  "title" : "MOH 510 Immunisation Permanent Register Extraction",
  "status" : "active",
  "experimental" : true,
  "date" : "2026-09-14T06:31:13+00:00",
  "publisher" : "Kathurima Kimathi",
  "contact" : [{
    "name" : "Kathurima Kimathi",
    "telecom" : [{
      "system" : "url",
      "value" : "https://www.linkedin.com/in/kathurima-kimathi/"
    },
    {
      "system" : "email",
      "value" : "kathurimakimathi415@gmail.com"
    }]
  },
  {
    "name" : "Oscar John",
    "telecom" : [{
      "system" : "email",
      "value" : "oscarjohnotieno@gmail.com",
      "use" : "work"
    }]
  },
  {
    "name" : "Kennedy Omondi",
    "telecom" : [{
      "system" : "email",
      "value" : "kennankole@gmail.com",
      "use" : "work"
    }]
  }],
  "description" : "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.",
  "structure" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
    "mode" : "source",
    "alias" : "QR"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
    "mode" : "target",
    "alias" : "Bundle"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
    "mode" : "target",
    "alias" : "RelatedPerson"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/Observation",
    "mode" : "target",
    "alias" : "Observation"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/Immunization",
    "mode" : "target",
    "alias" : "Immunization"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/MedicationAdministration",
    "mode" : "target",
    "alias" : "MedicationAdministration"
  },
  {
    "url" : "http://hl7.org/fhir/StructureDefinition/Appointment",
    "mode" : "target",
    "alias" : "Appointment"
  }],
  "group" : [{
    "name" : "ExtractMOH510ImmunisationRegister",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "bundle",
      "type" : "Bundle",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "setBundleType",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "bundle",
        "element" : "type",
        "transform" : "copy",
        "parameter" : [{
          "valueString" : "transaction"
        }]
      }]
    },
    {
      "name" : "registrationGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gReg",
        "condition" : "linkId = 'IMM-group-registration'"
      }],
      "rule" : [{
        "name" : "fatherRule",
        "source" : [{
          "context" : "gReg",
          "element" : "item",
          "variable" : "itH",
          "condition" : "linkId = 'IMM-RG-H-father-name'"
        }],
        "rule" : [{
          "name" : "fatherAnswer",
          "source" : [{
            "context" : "itH",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aH"
          }],
          "rule" : [{
            "name" : "fatherResource",
            "source" : [{
              "context" : "aH"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eFat"
            },
            {
              "context" : "eFat",
              "element" : "resource",
              "variable" : "fat",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "RelatedPerson"
              }]
            }],
            "rule" : [{
              "name" : "fatherBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "fat"
              },
              {
                "context" : "eFat"
              }],
              "dependent" : [{
                "name" : "BuildRelatedPerson",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itH"
                },
                {
                  "valueId" : "fat"
                },
                {
                  "valueId" : "eFat"
                }]
              }]
            },
            {
              "name" : "fatherRelationship",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "fat",
                "element" : "relationship",
                "variable" : "relF"
              }],
              "rule" : [{
                "name" : "fatherRelCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "relF",
                  "element" : "coding",
                  "variable" : "relFc"
                }],
                "rule" : [{
                  "name" : "fatRelSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relFc",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://terminology.hl7.org/CodeSystem/v3-RoleCode"
                    }]
                  }]
                },
                {
                  "name" : "fatRelCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relFc",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "FTH"
                    }]
                  }]
                },
                {
                  "name" : "fatRelDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relFc",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "father"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "fatherName",
              "source" : [{
                "context" : "aH",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "fat",
                "element" : "name",
                "variable" : "nF"
              }],
              "rule" : [{
                "name" : "fatherNameText",
                "source" : [{
                  "context" : "v"
                }],
                "target" : [{
                  "context" : "nF",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueId" : "v"
                  }]
                }]
              }]
            },
            {
              "name" : "fatherPhoneRule",
              "source" : [{
                "context" : "gReg",
                "element" : "item",
                "variable" : "itKf",
                "condition" : "linkId = '42077-8'"
              }],
              "rule" : [{
                "name" : "fatherPhoneAnswer",
                "source" : [{
                  "context" : "itKf",
                  "element" : "answer",
                  "listMode" : "first",
                  "variable" : "aKf"
                }],
                "rule" : [{
                  "name" : "fatherTelecom",
                  "source" : [{
                    "context" : "aKf",
                    "element" : "value",
                    "variable" : "v"
                  }],
                  "target" : [{
                    "context" : "fat",
                    "element" : "telecom",
                    "variable" : "tcF"
                  }],
                  "rule" : [{
                    "name" : "fatPhoneSystem",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "tcF",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "phone"
                      }]
                    }]
                  },
                  {
                    "name" : "fatPhoneValue",
                    "source" : [{
                      "context" : "v"
                    }],
                    "target" : [{
                      "context" : "tcF",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueId" : "v"
                      }]
                    }]
                  }]
                }]
              }]
            }]
          }]
        }],
        "documentation" : "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."
      },
      {
        "name" : "motherRule",
        "source" : [{
          "context" : "gReg",
          "element" : "item",
          "variable" : "itI",
          "condition" : "linkId = 'IMM-RG-I-mother-name'"
        }],
        "rule" : [{
          "name" : "motherAnswer",
          "source" : [{
            "context" : "itI",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aI"
          }],
          "rule" : [{
            "name" : "motherResource",
            "source" : [{
              "context" : "aI"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eMot"
            },
            {
              "context" : "eMot",
              "element" : "resource",
              "variable" : "mot",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "RelatedPerson"
              }]
            }],
            "rule" : [{
              "name" : "motherBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "mot"
              },
              {
                "context" : "eMot"
              }],
              "dependent" : [{
                "name" : "BuildRelatedPerson",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itI"
                },
                {
                  "valueId" : "mot"
                },
                {
                  "valueId" : "eMot"
                }]
              }]
            },
            {
              "name" : "motherRelationship",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "mot",
                "element" : "relationship",
                "variable" : "relM"
              }],
              "rule" : [{
                "name" : "motherRelCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "relM",
                  "element" : "coding",
                  "variable" : "relMc"
                }],
                "rule" : [{
                  "name" : "motRelSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relMc",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://terminology.hl7.org/CodeSystem/v3-RoleCode"
                    }]
                  }]
                },
                {
                  "name" : "motRelCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relMc",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "MTH"
                    }]
                  }]
                },
                {
                  "name" : "motRelDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "relMc",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "mother"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "motherName",
              "source" : [{
                "context" : "aI",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "mot",
                "element" : "name",
                "variable" : "nM"
              }],
              "rule" : [{
                "name" : "motherNameText",
                "source" : [{
                  "context" : "v"
                }],
                "target" : [{
                  "context" : "nM",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueId" : "v"
                  }]
                }]
              }]
            },
            {
              "name" : "motherPhoneRule",
              "source" : [{
                "context" : "gReg",
                "element" : "item",
                "variable" : "itKm",
                "condition" : "linkId = '42077-8'"
              }],
              "rule" : [{
                "name" : "motherPhoneAnswer",
                "source" : [{
                  "context" : "itKm",
                  "element" : "answer",
                  "listMode" : "first",
                  "variable" : "aKm"
                }],
                "rule" : [{
                  "name" : "motherTelecom",
                  "source" : [{
                    "context" : "aKm",
                    "element" : "value",
                    "variable" : "v"
                  }],
                  "target" : [{
                    "context" : "mot",
                    "element" : "telecom",
                    "variable" : "tcM"
                  }],
                  "rule" : [{
                    "name" : "motPhoneSystem",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "tcM",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "phone"
                      }]
                    }]
                  },
                  {
                    "name" : "motPhoneValue",
                    "source" : [{
                      "context" : "v"
                    }],
                    "target" : [{
                      "context" : "tcM",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueId" : "v"
                      }]
                    }]
                  }]
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "---------------------------------------------------------------- A-K"
    },
    {
      "name" : "growthGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gGrow",
        "condition" : "linkId = 'IMM-group-growth'"
      }],
      "rule" : [{
        "name" : "weightRule",
        "source" : [{
          "context" : "gGrow",
          "element" : "item",
          "variable" : "itW",
          "condition" : "linkId = 'IMM-GM-Q1-weight'"
        }],
        "rule" : [{
          "name" : "weightAnswer",
          "source" : [{
            "context" : "itW",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aW"
          }],
          "rule" : [{
            "name" : "weightObservation",
            "source" : [{
              "context" : "aW"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eW"
            },
            {
              "context" : "eW",
              "element" : "resource",
              "variable" : "obW",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "weightBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obW"
              },
              {
                "context" : "eW"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obW"
                },
                {
                  "valueId" : "eW"
                }]
              }]
            },
            {
              "name" : "weightCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obW"
              }],
              "dependent" : [{
                "name" : "VitalSignsCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obW"
                }]
              }]
            },
            {
              "name" : "weightCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obW",
                "element" : "code",
                "variable" : "cdW"
              }],
              "rule" : [{
                "name" : "weightCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdW",
                  "element" : "coding",
                  "variable" : "ccW"
                }],
                "rule" : [{
                  "name" : "wSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccW",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "wCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccW",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "29463-7"
                    }]
                  }]
                },
                {
                  "name" : "wDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccW",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Body weight"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "weightValue",
              "source" : [{
                "context" : "aW",
                "element" : "value",
                "variable" : "dv"
              }],
              "target" : [{
                "context" : "obW",
                "element" : "value",
                "variable" : "qW",
                "transform" : "create",
                "parameter" : [{
                  "valueString" : "Quantity"
                }]
              }],
              "rule" : [{
                "name" : "wQtyValue",
                "source" : [{
                  "context" : "dv"
                }],
                "target" : [{
                  "context" : "qW",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueId" : "dv"
                  }]
                }]
              },
              {
                "name" : "wQtySystem",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qW",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "http://unitsofmeasure.org"
                  }]
                }]
              },
              {
                "name" : "wQtyCode",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qW",
                  "element" : "code",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "kg"
                  }]
                }]
              },
              {
                "name" : "wQtyUnit",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qW",
                  "element" : "unit",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "kilogram"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "heightRule",
        "source" : [{
          "context" : "gGrow",
          "element" : "item",
          "variable" : "itH2",
          "condition" : "linkId = 'IMM-GM-Q2-height'"
        }],
        "rule" : [{
          "name" : "heightAnswer",
          "source" : [{
            "context" : "itH2",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aH2"
          }],
          "rule" : [{
            "name" : "heightObservation",
            "source" : [{
              "context" : "aH2"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eH2"
            },
            {
              "context" : "eH2",
              "element" : "resource",
              "variable" : "obH2",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "heightBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obH2"
              },
              {
                "context" : "eH2"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obH2"
                },
                {
                  "valueId" : "eH2"
                }]
              }]
            },
            {
              "name" : "heightCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obH2"
              }],
              "dependent" : [{
                "name" : "VitalSignsCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obH2"
                }]
              }]
            },
            {
              "name" : "heightCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obH2",
                "element" : "code",
                "variable" : "cdH2"
              }],
              "rule" : [{
                "name" : "heightCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdH2",
                  "element" : "coding",
                  "variable" : "ccH2"
                }],
                "rule" : [{
                  "name" : "hSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccH2",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "hCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccH2",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "8302-2"
                    }]
                  }]
                },
                {
                  "name" : "hDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccH2",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Body height"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "heightValue",
              "source" : [{
                "context" : "aH2",
                "element" : "value",
                "variable" : "dv"
              }],
              "target" : [{
                "context" : "obH2",
                "element" : "value",
                "variable" : "qH2",
                "transform" : "create",
                "parameter" : [{
                  "valueString" : "Quantity"
                }]
              }],
              "rule" : [{
                "name" : "hQtyValue",
                "source" : [{
                  "context" : "dv"
                }],
                "target" : [{
                  "context" : "qH2",
                  "element" : "value",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueId" : "dv"
                  }]
                }]
              },
              {
                "name" : "hQtySystem",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qH2",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "http://unitsofmeasure.org"
                  }]
                }]
              },
              {
                "name" : "hQtyCode",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qH2",
                  "element" : "code",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "cm"
                  }]
                }]
              },
              {
                "name" : "hQtyUnit",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "qH2",
                  "element" : "unit",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "centimeter"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "muacRule",
        "source" : [{
          "context" : "gGrow",
          "element" : "item",
          "variable" : "itMu",
          "condition" : "linkId = 'IMM-GM-Q3-muac'"
        }],
        "rule" : [{
          "name" : "muacAnswer",
          "source" : [{
            "context" : "itMu",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aMu"
          }],
          "rule" : [{
            "name" : "muacObservation",
            "source" : [{
              "context" : "aMu"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eMu"
            },
            {
              "context" : "eMu",
              "element" : "resource",
              "variable" : "obMu",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "muacBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obMu"
              },
              {
                "context" : "eMu"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obMu"
                },
                {
                  "valueId" : "eMu"
                }]
              }]
            },
            {
              "name" : "muacCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obMu"
              }],
              "dependent" : [{
                "name" : "VitalSignsCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obMu"
                }]
              }]
            },
            {
              "name" : "muacCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obMu",
                "element" : "code",
                "variable" : "cdMu"
              }],
              "rule" : [{
                "name" : "muacCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdMu",
                  "element" : "coding",
                  "variable" : "ccMu"
                }],
                "rule" : [{
                  "name" : "muSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccMu",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "muCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccMu",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "9847-5"
                    }]
                  }]
                },
                {
                  "name" : "muDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccMu",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Circumference site"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "muacValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obMu"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itMu"
                },
                {
                  "valueId" : "obMu"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "wfaRule",
        "source" : [{
          "context" : "gGrow",
          "element" : "item",
          "variable" : "itWfa",
          "condition" : "linkId = 'IMM-GM-Q4-weight-category'"
        }],
        "rule" : [{
          "name" : "wfaAnswer",
          "source" : [{
            "context" : "itWfa",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aWfa"
          }],
          "rule" : [{
            "name" : "wfaObservation",
            "source" : [{
              "context" : "aWfa"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eWfa"
            },
            {
              "context" : "eWfa",
              "element" : "resource",
              "variable" : "obWfa",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "wfaBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obWfa"
              },
              {
                "context" : "eWfa"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obWfa"
                },
                {
                  "valueId" : "eWfa"
                }]
              }]
            },
            {
              "name" : "wfaCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obWfa"
              }],
              "dependent" : [{
                "name" : "VitalSignsCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obWfa"
                }]
              }]
            },
            {
              "name" : "wfaCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obWfa",
                "element" : "code",
                "variable" : "cdWfa"
              }],
              "rule" : [{
                "name" : "wfaCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdWfa",
                  "element" : "coding",
                  "variable" : "ccWfa"
                }],
                "rule" : [{
                  "name" : "wfaSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccWfa",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "wfaCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccWfa",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "77606-2"
                    }]
                  }]
                },
                {
                  "name" : "wfaDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccWfa",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Weight-for-age percentile"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "wfaValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obWfa"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itWfa"
                },
                {
                  "valueId" : "obWfa"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "hfaRule",
        "source" : [{
          "context" : "gGrow",
          "element" : "item",
          "variable" : "itHfa",
          "condition" : "linkId = 'IMM-GM-Q5-height-category'"
        }],
        "rule" : [{
          "name" : "hfaAnswer",
          "source" : [{
            "context" : "itHfa",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aHfa"
          }],
          "rule" : [{
            "name" : "hfaObservation",
            "source" : [{
              "context" : "aHfa"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eHfa"
            },
            {
              "context" : "eHfa",
              "element" : "resource",
              "variable" : "obHfa",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "hfaBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obHfa"
              },
              {
                "context" : "eHfa"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obHfa"
                },
                {
                  "valueId" : "eHfa"
                }]
              }]
            },
            {
              "name" : "hfaCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obHfa"
              }],
              "dependent" : [{
                "name" : "VitalSignsCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obHfa"
                }]
              }]
            },
            {
              "name" : "hfaCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obHfa",
                "element" : "code",
                "variable" : "cdHfa"
              }],
              "rule" : [{
                "name" : "hfaCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdHfa",
                  "element" : "coding",
                  "variable" : "ccHfa"
                }],
                "rule" : [{
                  "name" : "hfaSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccHfa",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "hfaCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccHfa",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "59576-9"
                    }]
                  }]
                },
                {
                  "name" : "hfaDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccHfa",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Height-for-age percentile"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "hfaValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obHfa"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itHfa"
                },
                {
                  "valueId" : "obHfa"
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------ Growth monitoring"
    },
    {
      "name" : "vaccineGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gVax",
        "condition" : "linkId = 'IMM-group-vaccines'"
      }],
      "rule" : [{
        "name" : "bcgRule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itL",
          "condition" : "linkId = 'IMM-VAX-L-bcg'"
        }],
        "rule" : [{
          "name" : "bcgAnswer",
          "source" : [{
            "context" : "itL",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aL"
          }],
          "rule" : [{
            "name" : "bcgImmunization",
            "source" : [{
              "context" : "aL"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eL"
            },
            {
              "context" : "eL",
              "element" : "resource",
              "variable" : "imL",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "bcgBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imL"
              },
              {
                "context" : "eL"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itL"
                },
                {
                  "valueId" : "aL"
                },
                {
                  "valueId" : "imL"
                },
                {
                  "valueId" : "eL"
                }]
              }]
            },
            {
              "name" : "bcgVaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imL",
                "element" : "vaccineCode",
                "variable" : "vcL"
              }],
              "rule" : [{
                "name" : "bcgCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcL",
                  "element" : "coding",
                  "variable" : "vccL"
                }],
                "rule" : [{
                  "name" : "bcgSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccL",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "bcgCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccL",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "bcg"
                    }]
                  }]
                },
                {
                  "name" : "bcgDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccL",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "BCG"
                    }]
                  }]
                }]
              },
              {
                "name" : "bcgText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcL",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "BCG"
                  }]
                }]
              }]
            },
            {
              "name" : "bcgProtocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imL",
                "element" : "protocolApplied",
                "variable" : "paL"
              }],
              "rule" : [{
                "name" : "bcgSeries",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paL",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "BCG"
                  }]
                }]
              },
              {
                "name" : "bcgDose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paL",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "opv0Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itM",
          "condition" : "linkId = 'IMM-VAX-M-polio-birth'"
        }],
        "rule" : [{
          "name" : "opv0Answer",
          "source" : [{
            "context" : "itM",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aM"
          }],
          "rule" : [{
            "name" : "opv0Immunization",
            "source" : [{
              "context" : "aM"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eM"
            },
            {
              "context" : "eM",
              "element" : "resource",
              "variable" : "imM",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "opv0Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imM"
              },
              {
                "context" : "eM"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itM"
                },
                {
                  "valueId" : "aM"
                },
                {
                  "valueId" : "imM"
                },
                {
                  "valueId" : "eM"
                }]
              }]
            },
            {
              "name" : "opv0VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imM",
                "element" : "vaccineCode",
                "variable" : "vcM"
              }],
              "rule" : [{
                "name" : "opv0Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcM",
                  "element" : "coding",
                  "variable" : "vccM"
                }],
                "rule" : [{
                  "name" : "opv0System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccM",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "opv0Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccM",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "bopv"
                    }]
                  }]
                },
                {
                  "name" : "opv0Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccM",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Bivalent oral poliovirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "opv0Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcM",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio birth dose (bOPV)"
                  }]
                }]
              }]
            },
            {
              "name" : "opv0Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imM",
                "element" : "protocolApplied",
                "variable" : "paM"
              }],
              "rule" : [{
                "name" : "opv0Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paM",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio (bOPV)"
                  }]
                }]
              },
              {
                "name" : "opv0Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paM",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "0"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "opv1Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itN",
          "condition" : "linkId = 'IMM-VAX-N-opv1'"
        }],
        "rule" : [{
          "name" : "opv1Answer",
          "source" : [{
            "context" : "itN",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aN"
          }],
          "rule" : [{
            "name" : "opv1Immunization",
            "source" : [{
              "context" : "aN"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eN"
            },
            {
              "context" : "eN",
              "element" : "resource",
              "variable" : "imN",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "opv1Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imN"
              },
              {
                "context" : "eN"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itN"
                },
                {
                  "valueId" : "aN"
                },
                {
                  "valueId" : "imN"
                },
                {
                  "valueId" : "eN"
                }]
              }]
            },
            {
              "name" : "opv1VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imN",
                "element" : "vaccineCode",
                "variable" : "vcN"
              }],
              "rule" : [{
                "name" : "opv1Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcN",
                  "element" : "coding",
                  "variable" : "vccN"
                }],
                "rule" : [{
                  "name" : "opv1System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccN",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "opv1Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccN",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "bopv"
                    }]
                  }]
                },
                {
                  "name" : "opv1Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccN",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Bivalent oral poliovirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "opv1Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcN",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "OPV 1"
                  }]
                }]
              }]
            },
            {
              "name" : "opv1Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imN",
                "element" : "protocolApplied",
                "variable" : "paN"
              }],
              "rule" : [{
                "name" : "opv1Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paN",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio (bOPV)"
                  }]
                }]
              },
              {
                "name" : "opv1Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paN",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "opv2Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itO",
          "condition" : "linkId = 'IMM-VAX-O-opv2'"
        }],
        "rule" : [{
          "name" : "opv2Answer",
          "source" : [{
            "context" : "itO",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aO"
          }],
          "rule" : [{
            "name" : "opv2Immunization",
            "source" : [{
              "context" : "aO"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eO"
            },
            {
              "context" : "eO",
              "element" : "resource",
              "variable" : "imO",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "opv2Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imO"
              },
              {
                "context" : "eO"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itO"
                },
                {
                  "valueId" : "aO"
                },
                {
                  "valueId" : "imO"
                },
                {
                  "valueId" : "eO"
                }]
              }]
            },
            {
              "name" : "opv2VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imO",
                "element" : "vaccineCode",
                "variable" : "vcO"
              }],
              "rule" : [{
                "name" : "opv2Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcO",
                  "element" : "coding",
                  "variable" : "vccO"
                }],
                "rule" : [{
                  "name" : "opv2System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccO",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "opv2Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccO",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "bopv"
                    }]
                  }]
                },
                {
                  "name" : "opv2Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccO",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Bivalent oral poliovirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "opv2Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcO",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "OPV 2"
                  }]
                }]
              }]
            },
            {
              "name" : "opv2Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imO",
                "element" : "protocolApplied",
                "variable" : "paO"
              }],
              "rule" : [{
                "name" : "opv2Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paO",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio (bOPV)"
                  }]
                }]
              },
              {
                "name" : "opv2Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paO",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "2"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "opv3Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itP",
          "condition" : "linkId = 'IMM-VAX-P-opv3'"
        }],
        "rule" : [{
          "name" : "opv3Answer",
          "source" : [{
            "context" : "itP",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aP"
          }],
          "rule" : [{
            "name" : "opv3Immunization",
            "source" : [{
              "context" : "aP"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eP"
            },
            {
              "context" : "eP",
              "element" : "resource",
              "variable" : "imP",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "opv3Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imP"
              },
              {
                "context" : "eP"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itP"
                },
                {
                  "valueId" : "aP"
                },
                {
                  "valueId" : "imP"
                },
                {
                  "valueId" : "eP"
                }]
              }]
            },
            {
              "name" : "opv3VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imP",
                "element" : "vaccineCode",
                "variable" : "vcP"
              }],
              "rule" : [{
                "name" : "opv3Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcP",
                  "element" : "coding",
                  "variable" : "vccP"
                }],
                "rule" : [{
                  "name" : "opv3System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccP",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "opv3Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccP",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "bopv"
                    }]
                  }]
                },
                {
                  "name" : "opv3Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccP",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Bivalent oral poliovirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "opv3Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcP",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "OPV 3"
                  }]
                }]
              }]
            },
            {
              "name" : "opv3Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imP",
                "element" : "protocolApplied",
                "variable" : "paP"
              }],
              "rule" : [{
                "name" : "opv3Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paP",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio (bOPV)"
                  }]
                }]
              },
              {
                "name" : "opv3Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paP",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "3"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "ipvRule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itQ",
          "condition" : "linkId = 'IMM-VAX-Q-ipv'"
        }],
        "rule" : [{
          "name" : "ipvAnswer",
          "source" : [{
            "context" : "itQ",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aQ"
          }],
          "rule" : [{
            "name" : "ipvImmunization",
            "source" : [{
              "context" : "aQ"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eQ"
            },
            {
              "context" : "eQ",
              "element" : "resource",
              "variable" : "imQ",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "ipvBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imQ"
              },
              {
                "context" : "eQ"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itQ"
                },
                {
                  "valueId" : "aQ"
                },
                {
                  "valueId" : "imQ"
                },
                {
                  "valueId" : "eQ"
                }]
              }]
            },
            {
              "name" : "ipvVaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imQ",
                "element" : "vaccineCode",
                "variable" : "vcQ"
              }],
              "rule" : [{
                "name" : "ipvCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcQ",
                  "element" : "coding",
                  "variable" : "vccQ"
                }],
                "rule" : [{
                  "name" : "ipvSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccQ",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "ipvCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccQ",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "ipv"
                    }]
                  }]
                },
                {
                  "name" : "ipvDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccQ",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Inactivated poliovirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "ipvText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcQ",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "IPV"
                  }]
                }]
              }]
            },
            {
              "name" : "ipvProtocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imQ",
                "element" : "protocolApplied",
                "variable" : "paQ"
              }],
              "rule" : [{
                "name" : "ipvSeries",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paQ",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Polio (IPV)"
                  }]
                }]
              },
              {
                "name" : "ipvDose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paQ",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }],
        "documentation" : "IPV carries its own antigen code: the questionnaire reuses the OPV LOINC\r\ncode for both, which would collapse two distinct vaccines into one."
      },
      {
        "name" : "penta1Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itR",
          "condition" : "linkId = 'IMM-VAX-R-penta1'"
        }],
        "rule" : [{
          "name" : "penta1Answer",
          "source" : [{
            "context" : "itR",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aR"
          }],
          "rule" : [{
            "name" : "penta1Immunization",
            "source" : [{
              "context" : "aR"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eR"
            },
            {
              "context" : "eR",
              "element" : "resource",
              "variable" : "imR",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "penta1Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imR"
              },
              {
                "context" : "eR"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itR"
                },
                {
                  "valueId" : "aR"
                },
                {
                  "valueId" : "imR"
                },
                {
                  "valueId" : "eR"
                }]
              }]
            },
            {
              "name" : "penta1VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imR",
                "element" : "vaccineCode",
                "variable" : "vcR"
              }],
              "rule" : [{
                "name" : "penta1Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcR",
                  "element" : "coding",
                  "variable" : "vccR"
                }],
                "rule" : [{
                  "name" : "penta1System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccR",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "penta1Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccR",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "penta"
                    }]
                  }]
                },
                {
                  "name" : "penta1Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccR",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "DTP-HepB-Hib (pentavalent) vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "penta1Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcR",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent 1"
                  }]
                }]
              }]
            },
            {
              "name" : "penta1Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imR",
                "element" : "protocolApplied",
                "variable" : "paR"
              }],
              "rule" : [{
                "name" : "penta1Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paR",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent"
                  }]
                }]
              },
              {
                "name" : "penta1Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paR",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "penta2Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itS",
          "condition" : "linkId = 'IMM-VAX-S-penta2'"
        }],
        "rule" : [{
          "name" : "penta2Answer",
          "source" : [{
            "context" : "itS",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aS"
          }],
          "rule" : [{
            "name" : "penta2Immunization",
            "source" : [{
              "context" : "aS"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eS"
            },
            {
              "context" : "eS",
              "element" : "resource",
              "variable" : "imS",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "penta2Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imS"
              },
              {
                "context" : "eS"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itS"
                },
                {
                  "valueId" : "aS"
                },
                {
                  "valueId" : "imS"
                },
                {
                  "valueId" : "eS"
                }]
              }]
            },
            {
              "name" : "penta2VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imS",
                "element" : "vaccineCode",
                "variable" : "vcS"
              }],
              "rule" : [{
                "name" : "penta2Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcS",
                  "element" : "coding",
                  "variable" : "vccS"
                }],
                "rule" : [{
                  "name" : "penta2System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccS",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "penta2Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccS",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "penta"
                    }]
                  }]
                },
                {
                  "name" : "penta2Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccS",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "DTP-HepB-Hib (pentavalent) vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "penta2Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcS",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent 2"
                  }]
                }]
              }]
            },
            {
              "name" : "penta2Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imS",
                "element" : "protocolApplied",
                "variable" : "paS"
              }],
              "rule" : [{
                "name" : "penta2Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paS",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent"
                  }]
                }]
              },
              {
                "name" : "penta2Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paS",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "2"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "penta3Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itT",
          "condition" : "linkId = 'IMM-VAX-T-penta3'"
        }],
        "rule" : [{
          "name" : "penta3Answer",
          "source" : [{
            "context" : "itT",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aT"
          }],
          "rule" : [{
            "name" : "penta3Immunization",
            "source" : [{
              "context" : "aT"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eT"
            },
            {
              "context" : "eT",
              "element" : "resource",
              "variable" : "imT",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "penta3Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imT"
              },
              {
                "context" : "eT"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itT"
                },
                {
                  "valueId" : "aT"
                },
                {
                  "valueId" : "imT"
                },
                {
                  "valueId" : "eT"
                }]
              }]
            },
            {
              "name" : "penta3VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imT",
                "element" : "vaccineCode",
                "variable" : "vcT"
              }],
              "rule" : [{
                "name" : "penta3Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcT",
                  "element" : "coding",
                  "variable" : "vccT"
                }],
                "rule" : [{
                  "name" : "penta3System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccT",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "penta3Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccT",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "penta"
                    }]
                  }]
                },
                {
                  "name" : "penta3Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccT",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "DTP-HepB-Hib (pentavalent) vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "penta3Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcT",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent 3"
                  }]
                }]
              }]
            },
            {
              "name" : "penta3Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imT",
                "element" : "protocolApplied",
                "variable" : "paT"
              }],
              "rule" : [{
                "name" : "penta3Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paT",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Pentavalent"
                  }]
                }]
              },
              {
                "name" : "penta3Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paT",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "3"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "pcv1Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itU",
          "condition" : "linkId = 'IMM-VAX-U-pcv1'"
        }],
        "rule" : [{
          "name" : "pcv1Answer",
          "source" : [{
            "context" : "itU",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aU"
          }],
          "rule" : [{
            "name" : "pcv1Immunization",
            "source" : [{
              "context" : "aU"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eU"
            },
            {
              "context" : "eU",
              "element" : "resource",
              "variable" : "imU",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "pcv1Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imU"
              },
              {
                "context" : "eU"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itU"
                },
                {
                  "valueId" : "aU"
                },
                {
                  "valueId" : "imU"
                },
                {
                  "valueId" : "eU"
                }]
              }]
            },
            {
              "name" : "pcv1VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imU",
                "element" : "vaccineCode",
                "variable" : "vcU"
              }],
              "rule" : [{
                "name" : "pcv1Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcU",
                  "element" : "coding",
                  "variable" : "vccU"
                }],
                "rule" : [{
                  "name" : "pcv1System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccU",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "pcv1Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccU",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "pcv10"
                    }]
                  }]
                },
                {
                  "name" : "pcv1Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccU",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Pneumococcal conjugate vaccine (PCV10)"
                    }]
                  }]
                }]
              },
              {
                "name" : "pcv1Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcU",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10 1"
                  }]
                }]
              }]
            },
            {
              "name" : "pcv1Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imU",
                "element" : "protocolApplied",
                "variable" : "paU"
              }],
              "rule" : [{
                "name" : "pcv1Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paU",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10"
                  }]
                }]
              },
              {
                "name" : "pcv1Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paU",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "pcv2Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itV",
          "condition" : "linkId = 'IMM-VAX-V-pcv2'"
        }],
        "rule" : [{
          "name" : "pcv2Answer",
          "source" : [{
            "context" : "itV",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aV"
          }],
          "rule" : [{
            "name" : "pcv2Immunization",
            "source" : [{
              "context" : "aV"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eV"
            },
            {
              "context" : "eV",
              "element" : "resource",
              "variable" : "imV",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "pcv2Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imV"
              },
              {
                "context" : "eV"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itV"
                },
                {
                  "valueId" : "aV"
                },
                {
                  "valueId" : "imV"
                },
                {
                  "valueId" : "eV"
                }]
              }]
            },
            {
              "name" : "pcv2VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imV",
                "element" : "vaccineCode",
                "variable" : "vcV"
              }],
              "rule" : [{
                "name" : "pcv2Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcV",
                  "element" : "coding",
                  "variable" : "vccV"
                }],
                "rule" : [{
                  "name" : "pcv2System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccV",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "pcv2Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccV",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "pcv10"
                    }]
                  }]
                },
                {
                  "name" : "pcv2Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccV",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Pneumococcal conjugate vaccine (PCV10)"
                    }]
                  }]
                }]
              },
              {
                "name" : "pcv2Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcV",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10 2"
                  }]
                }]
              }]
            },
            {
              "name" : "pcv2Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imV",
                "element" : "protocolApplied",
                "variable" : "paV"
              }],
              "rule" : [{
                "name" : "pcv2Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paV",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10"
                  }]
                }]
              },
              {
                "name" : "pcv2Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paV",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "2"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "pcv3Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itW2",
          "condition" : "linkId = 'IMM-VAX-W-pcv3'"
        }],
        "rule" : [{
          "name" : "pcv3Answer",
          "source" : [{
            "context" : "itW2",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aW2"
          }],
          "rule" : [{
            "name" : "pcv3Immunization",
            "source" : [{
              "context" : "aW2"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eW2"
            },
            {
              "context" : "eW2",
              "element" : "resource",
              "variable" : "imW2",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "pcv3Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imW2"
              },
              {
                "context" : "eW2"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itW2"
                },
                {
                  "valueId" : "aW2"
                },
                {
                  "valueId" : "imW2"
                },
                {
                  "valueId" : "eW2"
                }]
              }]
            },
            {
              "name" : "pcv3VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imW2",
                "element" : "vaccineCode",
                "variable" : "vcW2"
              }],
              "rule" : [{
                "name" : "pcv3Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcW2",
                  "element" : "coding",
                  "variable" : "vccW2"
                }],
                "rule" : [{
                  "name" : "pcv3System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccW2",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "pcv3Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccW2",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "pcv10"
                    }]
                  }]
                },
                {
                  "name" : "pcv3Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccW2",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Pneumococcal conjugate vaccine (PCV10)"
                    }]
                  }]
                }]
              },
              {
                "name" : "pcv3Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcW2",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10 3"
                  }]
                }]
              }]
            },
            {
              "name" : "pcv3Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imW2",
                "element" : "protocolApplied",
                "variable" : "paW2"
              }],
              "rule" : [{
                "name" : "pcv3Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paW2",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "PCV10"
                  }]
                }]
              },
              {
                "name" : "pcv3Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paW2",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "3"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "rota1Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itX",
          "condition" : "linkId = 'IMM-VAX-X-rota1'"
        }],
        "rule" : [{
          "name" : "rota1Answer",
          "source" : [{
            "context" : "itX",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aX"
          }],
          "rule" : [{
            "name" : "rota1Immunization",
            "source" : [{
              "context" : "aX"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eX"
            },
            {
              "context" : "eX",
              "element" : "resource",
              "variable" : "imX",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "rota1Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imX"
              },
              {
                "context" : "eX"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itX"
                },
                {
                  "valueId" : "aX"
                },
                {
                  "valueId" : "imX"
                },
                {
                  "valueId" : "eX"
                }]
              }]
            },
            {
              "name" : "rota1VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imX",
                "element" : "vaccineCode",
                "variable" : "vcX"
              }],
              "rule" : [{
                "name" : "rota1Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcX",
                  "element" : "coding",
                  "variable" : "vccX"
                }],
                "rule" : [{
                  "name" : "rota1System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccX",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "rota1Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccX",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "rota"
                    }]
                  }]
                },
                {
                  "name" : "rota1Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccX",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Rotavirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "rota1Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcX",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Rota 1"
                  }]
                }]
              }]
            },
            {
              "name" : "rota1Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imX",
                "element" : "protocolApplied",
                "variable" : "paX"
              }],
              "rule" : [{
                "name" : "rota1Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paX",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Rotavirus"
                  }]
                }]
              },
              {
                "name" : "rota1Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paX",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "rota2Rule",
        "source" : [{
          "context" : "gVax",
          "element" : "item",
          "variable" : "itY",
          "condition" : "linkId = 'IMM-VAX-Y-rota2'"
        }],
        "rule" : [{
          "name" : "rota2Answer",
          "source" : [{
            "context" : "itY",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aY"
          }],
          "rule" : [{
            "name" : "rota2Immunization",
            "source" : [{
              "context" : "aY"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eY"
            },
            {
              "context" : "eY",
              "element" : "resource",
              "variable" : "imY",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "rota2Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imY"
              },
              {
                "context" : "eY"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itY"
                },
                {
                  "valueId" : "aY"
                },
                {
                  "valueId" : "imY"
                },
                {
                  "valueId" : "eY"
                }]
              }]
            },
            {
              "name" : "rota2VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imY",
                "element" : "vaccineCode",
                "variable" : "vcY"
              }],
              "rule" : [{
                "name" : "rota2Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcY",
                  "element" : "coding",
                  "variable" : "vccY"
                }],
                "rule" : [{
                  "name" : "rota2System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccY",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "rota2Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccY",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "rota"
                    }]
                  }]
                },
                {
                  "name" : "rota2Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccY",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Rotavirus vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "rota2Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcY",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Rota 2"
                  }]
                }]
              }]
            },
            {
              "name" : "rota2Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imY",
                "element" : "protocolApplied",
                "variable" : "paY"
              }],
              "rule" : [{
                "name" : "rota2Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paY",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Rotavirus"
                  }]
                }]
              },
              {
                "name" : "rota2Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paY",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "2"
                  }]
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------------- L-Y vaccines"
    },
    {
      "name" : "supplementationGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gSup",
        "condition" : "linkId = 'IMM-group-supplementation'"
      }],
      "rule" : [{
        "name" : "vitA100Rule",
        "source" : [{
          "context" : "gSup",
          "element" : "item",
          "variable" : "itZ",
          "condition" : "linkId = '55876-9'"
        }],
        "rule" : [{
          "name" : "vitA100Answer",
          "source" : [{
            "context" : "itZ",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aZ"
          }],
          "rule" : [{
            "name" : "vitA100Resource",
            "source" : [{
              "context" : "aZ"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eZ"
            },
            {
              "context" : "eZ",
              "element" : "resource",
              "variable" : "maZ",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "MedicationAdministration"
              }]
            }],
            "rule" : [{
              "name" : "vitA100Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ"
              },
              {
                "context" : "eZ"
              }],
              "dependent" : [{
                "name" : "BuildMedAdmin",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itZ"
                },
                {
                  "valueId" : "aZ"
                },
                {
                  "valueId" : "maZ"
                },
                {
                  "valueId" : "eZ"
                }]
              }]
            },
            {
              "name" : "vitA100Medication",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ",
                "element" : "medication",
                "variable" : "mcrZ"
              }],
              "rule" : [{
                "name" : "vitA100Concept",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "mcrZ",
                  "element" : "concept",
                  "variable" : "mccZ"
                }],
                "rule" : [{
                  "name" : "vitA100Coding",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "mccZ",
                    "element" : "coding",
                    "variable" : "mcoZ"
                  }],
                  "rule" : [{
                    "name" : "vitA100System",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement"
                      }]
                    }]
                  },
                  {
                    "name" : "vitA100Code",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "vitamin-a-100000"
                      }]
                    }]
                  },
                  {
                    "name" : "vitA100Display",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "Vitamin A 100,000 IU"
                      }]
                    }]
                  }]
                },
                {
                  "name" : "vitA100Text",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "mccZ",
                    "element" : "text",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Vitamin A 100,000 IU (6-11 months)"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "vitA100Dosage",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ",
                "element" : "dosage",
                "variable" : "dosZ"
              }],
              "rule" : [{
                "name" : "vitA100Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "dosZ",
                  "element" : "dose",
                  "variable" : "dqZ"
                }],
                "rule" : [{
                  "name" : "vitA100DoseValue",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ",
                    "element" : "value",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueInteger" : 100000
                    }]
                  }]
                },
                {
                  "name" : "vitA100DoseSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://unitsofmeasure.org"
                    }]
                  }]
                },
                {
                  "name" : "vitA100DoseCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "[IU]"
                    }]
                  }]
                },
                {
                  "name" : "vitA100DoseUnit",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ",
                    "element" : "unit",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "international unit"
                    }]
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "vitA200Rule",
        "source" : [{
          "context" : "gSup",
          "element" : "item",
          "variable" : "itZ2",
          "condition" : "linkId = '0v8mpdt'"
        }],
        "rule" : [{
          "name" : "vitA200Answer",
          "source" : [{
            "context" : "itZ2",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aZ2"
          }],
          "rule" : [{
            "name" : "vitA200Resource",
            "source" : [{
              "context" : "aZ2"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eZ2"
            },
            {
              "context" : "eZ2",
              "element" : "resource",
              "variable" : "maZ2",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "MedicationAdministration"
              }]
            }],
            "rule" : [{
              "name" : "vitA200Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ2"
              },
              {
                "context" : "eZ2"
              }],
              "dependent" : [{
                "name" : "BuildMedAdmin",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itZ2"
                },
                {
                  "valueId" : "aZ2"
                },
                {
                  "valueId" : "maZ2"
                },
                {
                  "valueId" : "eZ2"
                }]
              }]
            },
            {
              "name" : "vitA200Medication",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ2",
                "element" : "medication",
                "variable" : "mcrZ2"
              }],
              "rule" : [{
                "name" : "vitA200Concept",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "mcrZ2",
                  "element" : "concept",
                  "variable" : "mccZ2"
                }],
                "rule" : [{
                  "name" : "vitA200Coding",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "mccZ2",
                    "element" : "coding",
                    "variable" : "mcoZ2"
                  }],
                  "rule" : [{
                    "name" : "vitA200System",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ2",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-supplement"
                      }]
                    }]
                  },
                  {
                    "name" : "vitA200Code",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ2",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "vitamin-a-200000"
                      }]
                    }]
                  },
                  {
                    "name" : "vitA200Display",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "mcoZ2",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "Vitamin A 200,000 IU"
                      }]
                    }]
                  }]
                },
                {
                  "name" : "vitA200Text",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "mccZ2",
                    "element" : "text",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Vitamin A 200,000 IU (12 months onwards)"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "vitA200Dosage",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "maZ2",
                "element" : "dosage",
                "variable" : "dosZ2"
              }],
              "rule" : [{
                "name" : "vitA200Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "dosZ2",
                  "element" : "dose",
                  "variable" : "dqZ2"
                }],
                "rule" : [{
                  "name" : "vitA200DoseValue",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ2",
                    "element" : "value",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueInteger" : 200000
                    }]
                  }]
                },
                {
                  "name" : "vitA200DoseSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ2",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://unitsofmeasure.org"
                    }]
                  }]
                },
                {
                  "name" : "vitA200DoseCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ2",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "[IU]"
                    }]
                  }]
                },
                {
                  "name" : "vitA200DoseUnit",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "dqZ2",
                    "element" : "unit",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "international unit"
                    }]
                  }]
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------- Z Vitamin A supplements"
    },
    {
      "name" : "mrYfGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gMrYf",
        "condition" : "linkId = 'IMM-group-mr-yf'"
      }],
      "rule" : [{
        "name" : "mr1Rule",
        "source" : [{
          "context" : "gMrYf",
          "element" : "item",
          "variable" : "itAa",
          "condition" : "linkId = 'IMM-VAX-AA-mr1'"
        }],
        "rule" : [{
          "name" : "mr1Answer",
          "source" : [{
            "context" : "itAa",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aAa"
          }],
          "rule" : [{
            "name" : "mr1Immunization",
            "source" : [{
              "context" : "aAa"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eAa"
            },
            {
              "context" : "eAa",
              "element" : "resource",
              "variable" : "imAa",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "mr1Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAa"
              },
              {
                "context" : "eAa"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itAa"
                },
                {
                  "valueId" : "aAa"
                },
                {
                  "valueId" : "imAa"
                },
                {
                  "valueId" : "eAa"
                }]
              }]
            },
            {
              "name" : "mr1VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAa",
                "element" : "vaccineCode",
                "variable" : "vcAa"
              }],
              "rule" : [{
                "name" : "mr1Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAa",
                  "element" : "coding",
                  "variable" : "vccAa"
                }],
                "rule" : [{
                  "name" : "mr1System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAa",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "mr1Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAa",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "mr"
                    }]
                  }]
                },
                {
                  "name" : "mr1Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAa",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Measles-rubella vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "mr1Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAa",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "MR 1"
                  }]
                }]
              }]
            },
            {
              "name" : "mr1Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAa",
                "element" : "protocolApplied",
                "variable" : "paAa"
              }],
              "rule" : [{
                "name" : "mr1Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAa",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Measles-Rubella"
                  }]
                }]
              },
              {
                "name" : "mr1Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAa",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "yfRule",
        "source" : [{
          "context" : "gMrYf",
          "element" : "item",
          "variable" : "itAb",
          "condition" : "linkId = 'IMM-VAX-AB-yf'"
        }],
        "rule" : [{
          "name" : "yfAnswer",
          "source" : [{
            "context" : "itAb",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aAb"
          }],
          "rule" : [{
            "name" : "yfImmunization",
            "source" : [{
              "context" : "aAb"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eAb"
            },
            {
              "context" : "eAb",
              "element" : "resource",
              "variable" : "imAb",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "yfBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAb"
              },
              {
                "context" : "eAb"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itAb"
                },
                {
                  "valueId" : "aAb"
                },
                {
                  "valueId" : "imAb"
                },
                {
                  "valueId" : "eAb"
                }]
              }]
            },
            {
              "name" : "yfVaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAb",
                "element" : "vaccineCode",
                "variable" : "vcAb"
              }],
              "rule" : [{
                "name" : "yfCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAb",
                  "element" : "coding",
                  "variable" : "vccAb"
                }],
                "rule" : [{
                  "name" : "yfSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAb",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "yfCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAb",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "yf"
                    }]
                  }]
                },
                {
                  "name" : "yfDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAb",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Yellow fever vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "yfText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAb",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Yellow Fever"
                  }]
                }]
              }]
            },
            {
              "name" : "yfProtocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAb",
                "element" : "protocolApplied",
                "variable" : "paAb"
              }],
              "rule" : [{
                "name" : "yfSeries",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAb",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Yellow Fever"
                  }]
                }]
              },
              {
                "name" : "yfDose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAb",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "1"
                  }]
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------ AA-AB MR1 + Yellow Fever"
    },
    {
      "name" : "ficGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gFic",
        "condition" : "linkId = 'IMM-group-fic'"
      }],
      "rule" : [{
        "name" : "ficRule",
        "source" : [{
          "context" : "gFic",
          "element" : "item",
          "variable" : "itAc",
          "condition" : "linkId = 'IMM-FIC-AC-date'"
        }],
        "rule" : [{
          "name" : "ficAnswer",
          "source" : [{
            "context" : "itAc",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aAc"
          }],
          "rule" : [{
            "name" : "ficObservation",
            "source" : [{
              "context" : "aAc"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eAc"
            },
            {
              "context" : "eAc",
              "element" : "resource",
              "variable" : "obAc",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "ficBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAc"
              },
              {
                "context" : "eAc"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obAc"
                },
                {
                  "valueId" : "eAc"
                }]
              }]
            },
            {
              "name" : "ficCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAc"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obAc"
                }]
              }]
            },
            {
              "name" : "ficCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAc",
                "element" : "code",
                "variable" : "cdAc"
              }],
              "rule" : [{
                "name" : "ficCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdAc",
                  "element" : "coding",
                  "variable" : "ccAc"
                }],
                "rule" : [{
                  "name" : "ficSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAc",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "ficCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAc",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "11369-6"
                    }]
                  }]
                },
                {
                  "name" : "ficDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAc",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Immunisation completion status"
                    }]
                  }]
                }]
              },
              {
                "name" : "ficCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdAc",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Fully Immunised Child (FIC) completion date"
                  }]
                }]
              }]
            },
            {
              "name" : "ficValue",
              "source" : [{
                "context" : "aAc",
                "element" : "value",
                "variable" : "dv"
              }],
              "target" : [{
                "context" : "obAc",
                "element" : "value",
                "transform" : "cast",
                "parameter" : [{
                  "valueId" : "dv"
                },
                {
                  "valueString" : "dateTime"
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------------- AC FIC date"
    },
    {
      "name" : "mr2Group",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gMr2",
        "condition" : "linkId = 'IMM-group-mr2'"
      }],
      "rule" : [{
        "name" : "mr2Rule",
        "source" : [{
          "context" : "gMr2",
          "element" : "item",
          "variable" : "itAd",
          "condition" : "linkId = 'IMM-VAX-AD-mr2'"
        }],
        "rule" : [{
          "name" : "mr2Answer",
          "source" : [{
            "context" : "itAd",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aAd"
          }],
          "rule" : [{
            "name" : "mr2Immunization",
            "source" : [{
              "context" : "aAd"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eAd"
            },
            {
              "context" : "eAd",
              "element" : "resource",
              "variable" : "imAd",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }],
            "rule" : [{
              "name" : "mr2Base",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAd"
              },
              {
                "context" : "eAd"
              }],
              "dependent" : [{
                "name" : "BuildImm",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "itAd"
                },
                {
                  "valueId" : "aAd"
                },
                {
                  "valueId" : "imAd"
                },
                {
                  "valueId" : "eAd"
                }]
              }]
            },
            {
              "name" : "mr2VaccineCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAd",
                "element" : "vaccineCode",
                "variable" : "vcAd"
              }],
              "rule" : [{
                "name" : "mr2Coding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAd",
                  "element" : "coding",
                  "variable" : "vccAd"
                }],
                "rule" : [{
                  "name" : "mr2System",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAd",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "https://fhir.slade360.co.ke/fhir/CodeSystem/kepi-antigen"
                    }]
                  }]
                },
                {
                  "name" : "mr2Code",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAd",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "mr"
                    }]
                  }]
                },
                {
                  "name" : "mr2Display",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "vccAd",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Measles-rubella vaccine"
                    }]
                  }]
                }]
              },
              {
                "name" : "mr2Text",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "vcAd",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "MR 2"
                  }]
                }]
              }]
            },
            {
              "name" : "mr2Protocol",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "imAd",
                "element" : "protocolApplied",
                "variable" : "paAd"
              }],
              "rule" : [{
                "name" : "mr2Series",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAd",
                  "element" : "series",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Measles-Rubella"
                  }]
                }]
              },
              {
                "name" : "mr2Dose",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "paAd",
                  "element" : "doseNumber",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "2"
                  }]
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------------------ AD MR2"
    },
    {
      "name" : "dangerSignsGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gDs",
        "condition" : "linkId = 'IMM-group-danger-signs'"
      }],
      "rule" : [{
        "name" : "feverRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD1",
          "condition" : "linkId = 'IMM-DS-Q1-fever'"
        }],
        "rule" : [{
          "name" : "feverAnswer",
          "source" : [{
            "context" : "itD1",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD1"
          }],
          "rule" : [{
            "name" : "feverObservation",
            "source" : [{
              "context" : "aD1"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD1"
            },
            {
              "context" : "eD1",
              "element" : "resource",
              "variable" : "obD1",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "feverBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD1"
              },
              {
                "context" : "eD1"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD1"
                },
                {
                  "valueId" : "eD1"
                }]
              }]
            },
            {
              "name" : "feverCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD1"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD1"
                }]
              }]
            },
            {
              "name" : "feverCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD1",
                "element" : "code",
                "variable" : "cdD1"
              }],
              "rule" : [{
                "name" : "feverCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD1",
                  "element" : "coding",
                  "variable" : "ccD1"
                }],
                "rule" : [{
                  "name" : "feverSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD1",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "feverCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD1",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "8310-5"
                    }]
                  }]
                },
                {
                  "name" : "feverDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD1",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Body temperature"
                    }]
                  }]
                }]
              },
              {
                "name" : "feverCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD1",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Fever reported"
                  }]
                }]
              }]
            },
            {
              "name" : "feverValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD1"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD1"
                },
                {
                  "valueId" : "obD1"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "feedingRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD2",
          "condition" : "linkId = 'IMM-DS-Q2-feeding'"
        }],
        "rule" : [{
          "name" : "feedingAnswer",
          "source" : [{
            "context" : "itD2",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD2"
          }],
          "rule" : [{
            "name" : "feedingObservation",
            "source" : [{
              "context" : "aD2"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD2"
            },
            {
              "context" : "eD2",
              "element" : "resource",
              "variable" : "obD2",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "feedingBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD2"
              },
              {
                "context" : "eD2"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD2"
                },
                {
                  "valueId" : "eD2"
                }]
              }]
            },
            {
              "name" : "feedingCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD2"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD2"
                }]
              }]
            },
            {
              "name" : "feedingCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD2",
                "element" : "code",
                "variable" : "cdD2"
              }],
              "rule" : [{
                "name" : "feedingCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD2",
                  "element" : "coding",
                  "variable" : "ccD2"
                }],
                "rule" : [{
                  "name" : "feedingSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD2",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "feedingCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD2",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "75890-1"
                    }]
                  }]
                },
                {
                  "name" : "feedingDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD2",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Feeding status"
                    }]
                  }]
                }]
              },
              {
                "name" : "feedingCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD2",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Child is feeding"
                  }]
                }],
                "documentation" : "Polarity is inverted relative to the other danger signs: \"Yes\"\r\nhere is reassuring, not alarming."
              }]
            },
            {
              "name" : "feedingValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD2"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD2"
                },
                {
                  "valueId" : "obD2"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "convulsionsRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD3",
          "condition" : "linkId = 'IMM-DS-Q3-convulsions'"
        }],
        "rule" : [{
          "name" : "convulsionsAnswer",
          "source" : [{
            "context" : "itD3",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD3"
          }],
          "rule" : [{
            "name" : "convulsionsObservation",
            "source" : [{
              "context" : "aD3"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD3"
            },
            {
              "context" : "eD3",
              "element" : "resource",
              "variable" : "obD3",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "convulsionsBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD3"
              },
              {
                "context" : "eD3"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD3"
                },
                {
                  "valueId" : "eD3"
                }]
              }]
            },
            {
              "name" : "convulsionsCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD3"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD3"
                }]
              }]
            },
            {
              "name" : "convulsionsCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD3",
                "element" : "code",
                "variable" : "cdD3"
              }],
              "rule" : [{
                "name" : "convulsionsCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD3",
                  "element" : "coding",
                  "variable" : "ccD3"
                }],
                "rule" : [{
                  "name" : "convulsionsSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD3",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "convulsionsCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD3",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "31398-4"
                    }]
                  }]
                },
                {
                  "name" : "convulsionsDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD3",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Convulsions"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "convulsionsValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD3"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD3"
                },
                {
                  "valueId" : "obD3"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "coughRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD4",
          "condition" : "linkId = 'IMM-DS-Q4-cough'"
        }],
        "rule" : [{
          "name" : "coughAnswer",
          "source" : [{
            "context" : "itD4",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD4"
          }],
          "rule" : [{
            "name" : "coughObservation",
            "source" : [{
              "context" : "aD4"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD4"
            },
            {
              "context" : "eD4",
              "element" : "resource",
              "variable" : "obD4",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "coughBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD4"
              },
              {
                "context" : "eD4"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD4"
                },
                {
                  "valueId" : "eD4"
                }]
              }]
            },
            {
              "name" : "coughCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD4"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD4"
                }]
              }]
            },
            {
              "name" : "coughCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD4",
                "element" : "code",
                "variable" : "cdD4"
              }],
              "rule" : [{
                "name" : "coughCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD4",
                  "element" : "coding",
                  "variable" : "ccD4"
                }],
                "rule" : [{
                  "name" : "coughSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD4",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "coughCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD4",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "28238-4"
                    }]
                  }]
                },
                {
                  "name" : "coughDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD4",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Cough"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "coughValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD4"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD4"
                },
                {
                  "valueId" : "obD4"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "diarrhoeaRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD5",
          "condition" : "linkId = 'IMM-DS-Q5-diarrhoea'"
        }],
        "rule" : [{
          "name" : "diarrhoeaAnswer",
          "source" : [{
            "context" : "itD5",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD5"
          }],
          "rule" : [{
            "name" : "diarrhoeaObservation",
            "source" : [{
              "context" : "aD5"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD5"
            },
            {
              "context" : "eD5",
              "element" : "resource",
              "variable" : "obD5",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "diarrhoeaBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD5"
              },
              {
                "context" : "eD5"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD5"
                },
                {
                  "valueId" : "eD5"
                }]
              }]
            },
            {
              "name" : "diarrhoeaCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD5"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD5"
                }]
              }]
            },
            {
              "name" : "diarrhoeaCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD5",
                "element" : "code",
                "variable" : "cdD5"
              }],
              "rule" : [{
                "name" : "diarrhoeaCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD5",
                  "element" : "coding",
                  "variable" : "ccD5"
                }],
                "rule" : [{
                  "name" : "diarrhoeaSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD5",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://snomed.info/sct"
                    }]
                  }]
                },
                {
                  "name" : "diarrhoeaCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD5",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "28229008"
                    }]
                  }]
                },
                {
                  "name" : "diarrhoeaDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD5",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Diarrhoea"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "diarrhoeaValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD5"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD5"
                },
                {
                  "valueId" : "obD5"
                }]
              }]
            }]
          }]
        }],
        "documentation" : "The questionnaire declares this SNOMED CT concept id under the LOINC\r\nsystem; emitted here against the SNOMED CT system it actually belongs to."
      },
      {
        "name" : "vomitingRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD6",
          "condition" : "linkId = 'IMM-DS-Q6-vomiting'"
        }],
        "rule" : [{
          "name" : "vomitingAnswer",
          "source" : [{
            "context" : "itD6",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD6"
          }],
          "rule" : [{
            "name" : "vomitingObservation",
            "source" : [{
              "context" : "aD6"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD6"
            },
            {
              "context" : "eD6",
              "element" : "resource",
              "variable" : "obD6",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "vomitingBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD6"
              },
              {
                "context" : "eD6"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD6"
                },
                {
                  "valueId" : "eD6"
                }]
              }]
            },
            {
              "name" : "vomitingCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD6"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD6"
                }]
              }]
            },
            {
              "name" : "vomitingCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD6",
                "element" : "code",
                "variable" : "cdD6"
              }],
              "rule" : [{
                "name" : "vomitingCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD6",
                  "element" : "coding",
                  "variable" : "ccD6"
                }],
                "rule" : [{
                  "name" : "vomitingSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD6",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://snomed.info/sct"
                    }]
                  }]
                },
                {
                  "name" : "vomitingCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD6",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "21522001"
                    }]
                  }]
                },
                {
                  "name" : "vomitingDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD6",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Vomiting"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "vomitingValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD6"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itD6"
                },
                {
                  "valueId" : "obD6"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "dsNotesRule",
        "source" : [{
          "context" : "gDs",
          "element" : "item",
          "variable" : "itD7",
          "condition" : "linkId = 'IMM-DS-Q7-notes'"
        }],
        "rule" : [{
          "name" : "dsNotesAnswer",
          "source" : [{
            "context" : "itD7",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aD7"
          }],
          "rule" : [{
            "name" : "dsNotesObservation",
            "source" : [{
              "context" : "aD7"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eD7"
            },
            {
              "context" : "eD7",
              "element" : "resource",
              "variable" : "obD7",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "dsNotesBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD7"
              },
              {
                "context" : "eD7"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD7"
                },
                {
                  "valueId" : "eD7"
                }]
              }]
            },
            {
              "name" : "dsNotesCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD7"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obD7"
                }]
              }]
            },
            {
              "name" : "dsNotesCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obD7",
                "element" : "code",
                "variable" : "cdD7"
              }],
              "rule" : [{
                "name" : "dsNotesCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD7",
                  "element" : "coding",
                  "variable" : "ccD7"
                }],
                "rule" : [{
                  "name" : "dsNotesSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD7",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "dsNotesCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD7",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "48767-8"
                    }]
                  }]
                },
                {
                  "name" : "dsNotesDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccD7",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Annotation comment"
                    }]
                  }]
                }]
              },
              {
                "name" : "dsNotesCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdD7",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Danger signs clinical notes"
                  }]
                }]
              }]
            },
            {
              "name" : "dsNotesValue",
              "source" : [{
                "context" : "aD7",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "obD7",
                "element" : "value",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "v"
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "------------------------------------------------------------- Danger signs"
    },
    {
      "name" : "educationGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gEd",
        "condition" : "linkId = 'IMM-group-education'"
      }],
      "rule" : [{
        "name" : "eduGivenRule",
        "source" : [{
          "context" : "gEd",
          "element" : "item",
          "variable" : "itE1",
          "condition" : "linkId = 'IMM-ED-Q1-education-given'"
        }],
        "rule" : [{
          "name" : "eduGivenAnswer",
          "source" : [{
            "context" : "itE1",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aE1"
          }],
          "rule" : [{
            "name" : "eduGivenObservation",
            "source" : [{
              "context" : "aE1"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eE1"
            },
            {
              "context" : "eE1",
              "element" : "resource",
              "variable" : "obE1",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "eduGivenBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE1"
              },
              {
                "context" : "eE1"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE1"
                },
                {
                  "valueId" : "eE1"
                }]
              }]
            },
            {
              "name" : "eduGivenCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE1"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE1"
                }]
              }]
            },
            {
              "name" : "eduGivenCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE1",
                "element" : "code",
                "variable" : "cdE1"
              }],
              "rule" : [{
                "name" : "eduGivenCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdE1",
                  "element" : "coding",
                  "variable" : "ccE1"
                }],
                "rule" : [{
                  "name" : "eduGivenSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE1",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "eduGivenCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE1",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "61144-2"
                    }]
                  }]
                },
                {
                  "name" : "eduGivenDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE1",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Patient education provided"
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "eduGivenValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE1"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itE1"
                },
                {
                  "valueId" : "obE1"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "eduTopicsRule",
        "source" : [{
          "context" : "gEd",
          "element" : "item",
          "variable" : "itE2",
          "condition" : "linkId = 'IMM-ED-Q2-topics'"
        }],
        "rule" : [{
          "name" : "eduTopicsAnswer",
          "source" : [{
            "context" : "itE2",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aE2"
          }],
          "rule" : [{
            "name" : "eduTopicsObservation",
            "source" : [{
              "context" : "aE2"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eE2"
            },
            {
              "context" : "eE2",
              "element" : "resource",
              "variable" : "obE2",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "eduTopicsBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE2"
              },
              {
                "context" : "eE2"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE2"
                },
                {
                  "valueId" : "eE2"
                }]
              }]
            },
            {
              "name" : "eduTopicsCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE2"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE2"
                }]
              }]
            },
            {
              "name" : "eduTopicsCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE2",
                "element" : "code",
                "variable" : "cdE2"
              }],
              "rule" : [{
                "name" : "eduTopicsCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdE2",
                  "element" : "coding",
                  "variable" : "ccE2"
                }],
                "rule" : [{
                  "name" : "eduTopicsSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE2",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "eduTopicsCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE2",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "61144-2"
                    }]
                  }]
                },
                {
                  "name" : "eduTopicsDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE2",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Education topics covered"
                    }]
                  }]
                }]
              },
              {
                "name" : "eduTopicsCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdE2",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Education topics covered"
                  }]
                }]
              }]
            },
            {
              "name" : "eduTopicsValue",
              "source" : [{
                "context" : "aE2",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "obE2",
                "element" : "value",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "v"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "nextVisitToldRule",
        "source" : [{
          "context" : "gEd",
          "element" : "item",
          "variable" : "itE3",
          "condition" : "linkId = 'IMM-ED-Q3-next-visit'"
        }],
        "rule" : [{
          "name" : "nextVisitToldAnswer",
          "source" : [{
            "context" : "itE3",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aE3"
          }],
          "rule" : [{
            "name" : "nextVisitToldObservation",
            "source" : [{
              "context" : "aE3"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eE3"
            },
            {
              "context" : "eE3",
              "element" : "resource",
              "variable" : "obE3",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "nextVisitToldBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE3"
              },
              {
                "context" : "eE3"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE3"
                },
                {
                  "valueId" : "eE3"
                }]
              }]
            },
            {
              "name" : "nextVisitToldCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE3"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obE3"
                }]
              }]
            },
            {
              "name" : "nextVisitToldCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE3",
                "element" : "code",
                "variable" : "cdE3"
              }],
              "rule" : [{
                "name" : "nextVisitToldCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdE3",
                  "element" : "coding",
                  "variable" : "ccE3"
                }],
                "rule" : [{
                  "name" : "nextVisitToldSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE3",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "nextVisitToldCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE3",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "57177-3"
                    }]
                  }]
                },
                {
                  "name" : "nextVisitToldDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccE3",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Follow-up plan"
                    }]
                  }]
                }]
              },
              {
                "name" : "nextVisitToldCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdE3",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "Next visit date communicated to caregiver"
                  }]
                }]
              }]
            },
            {
              "name" : "nextVisitToldValue",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obE3"
              }],
              "dependent" : [{
                "name" : "SetCodedValue",
                "parameter" : [{
                  "valueId" : "itE3"
                },
                {
                  "valueId" : "obE3"
                }]
              }]
            }]
          }]
        }]
      },
      {
        "name" : "nextVisitDateRule",
        "source" : [{
          "context" : "gEd",
          "element" : "item",
          "variable" : "itE4",
          "condition" : "linkId = 'IMM-ED-Q4-next-visit-date'"
        }],
        "rule" : [{
          "name" : "nextVisitDateAnswer",
          "source" : [{
            "context" : "itE4",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aE4"
          }],
          "rule" : [{
            "name" : "appointmentResource",
            "source" : [{
              "context" : "aE4"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eE4"
            },
            {
              "context" : "eE4",
              "element" : "resource",
              "variable" : "appt",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Appointment"
              }]
            }],
            "rule" : [{
              "name" : "apptCellIdentifier",
              "source" : [{
                "context" : "aE4",
                "element" : "value",
                "variable" : "dvAp"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "identifier",
                "variable" : "idAp"
              }],
              "rule" : [{
                "name" : "apptCellSystem",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "idAp",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell"
                  }]
                }]
              },
              {
                "name" : "apptCellValue",
                "source" : [{
                  "context" : "dvAp"
                }],
                "target" : [{
                  "context" : "idAp",
                  "element" : "value",
                  "transform" : "append",
                  "parameter" : [{
                    "valueString" : "IMM-ED-Q4-next-visit-date@"
                  },
                  {
                    "valueId" : "dvAp"
                  }]
                }]
              }],
              "documentation" : "One proposed appointment per (child, requested date)."
            },
            {
              "name" : "apptSubject",
              "source" : [{
                "context" : "qr",
                "element" : "subject",
                "variable" : "subjAp"
              }],
              "rule" : [{
                "name" : "apptPatientRef",
                "source" : [{
                  "context" : "subjAp",
                  "element" : "reference",
                  "variable" : "prefAp"
                }],
                "rule" : [{
                  "name" : "apptReq",
                  "source" : [{
                    "context" : "aE4",
                    "element" : "value",
                    "variable" : "dvAp2"
                  }],
                  "target" : [{
                    "context" : "eE4",
                    "element" : "request",
                    "variable" : "rqAp"
                  }],
                  "rule" : [{
                    "name" : "apptReqMethod",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "rqAp",
                      "element" : "method",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "POST"
                      }]
                    }]
                  },
                  {
                    "name" : "apptReqUrl",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "rqAp",
                      "element" : "url",
                      "transform" : "copy",
                      "parameter" : [{
                        "valueString" : "Appointment"
                      }]
                    }]
                  },
                  {
                    "name" : "apptIfNoneExist",
                    "source" : [{
                      "context" : "qr"
                    }],
                    "target" : [{
                      "context" : "rqAp",
                      "element" : "ifNoneExist",
                      "transform" : "append",
                      "parameter" : [{
                        "valueString" : "actor="
                      },
                      {
                        "valueId" : "prefAp"
                      },
                      {
                        "valueString" : "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|IMM-ED-Q4-next-visit-date@"
                      },
                      {
                        "valueId" : "dvAp2"
                      }]
                    }]
                  }]
                }]
              }]
            },
            {
              "name" : "apptId",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "id",
                "transform" : "uuid"
              }]
            },
            {
              "name" : "apptStatus",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "status",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "proposed"
                }]
              }]
            },
            {
              "name" : "apptDescription",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "description",
                "transform" : "copy",
                "parameter" : [{
                  "valueString" : "Next scheduled immunisation visit (MOH 510)"
                }]
              }]
            },
            {
              "name" : "apptSubject",
              "source" : [{
                "context" : "qr",
                "element" : "subject",
                "variable" : "s"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "subject",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "s"
                }]
              }]
            },
            {
              "name" : "apptParticipant",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "participant",
                "variable" : "prt"
              }],
              "rule" : [{
                "name" : "apptParticipantStatus",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "prt",
                  "element" : "status",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "needs-action"
                  }]
                }]
              },
              {
                "name" : "apptParticipantActor",
                "source" : [{
                  "context" : "qr",
                  "element" : "subject",
                  "variable" : "s"
                }],
                "target" : [{
                  "context" : "prt",
                  "element" : "actor",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueId" : "s"
                  }]
                }]
              }]
            },
            {
              "name" : "apptRequestedPeriod",
              "source" : [{
                "context" : "aE4",
                "element" : "value",
                "variable" : "dv"
              }],
              "target" : [{
                "context" : "appt",
                "element" : "requestedPeriod",
                "variable" : "rp"
              }],
              "rule" : [{
                "name" : "apptRequestedStart",
                "source" : [{
                  "context" : "dv"
                }],
                "target" : [{
                  "context" : "rp",
                  "element" : "start",
                  "transform" : "cast",
                  "parameter" : [{
                    "valueId" : "dv"
                  },
                  {
                    "valueString" : "dateTime"
                  }]
                }]
              }]
            }]
          }]
        }],
        "documentation" : "Appointment.start is an instant, so a date-only answer is carried on\r\nrequestedPeriod instead."
      }],
      "documentation" : "---------------------------------------------------------- Patient education"
    },
    {
      "name" : "remarksGroup",
      "source" : [{
        "context" : "qr",
        "element" : "item",
        "variable" : "gRem",
        "condition" : "linkId = 'IMM-group-remarks'"
      }],
      "rule" : [{
        "name" : "remarksRule",
        "source" : [{
          "context" : "gRem",
          "element" : "item",
          "variable" : "itAe",
          "condition" : "linkId = '48767-8'"
        }],
        "rule" : [{
          "name" : "remarksAnswer",
          "source" : [{
            "context" : "itAe",
            "element" : "answer",
            "listMode" : "first",
            "variable" : "aAe"
          }],
          "rule" : [{
            "name" : "remarksObservation",
            "source" : [{
              "context" : "aAe"
            }],
            "target" : [{
              "context" : "bundle",
              "element" : "entry",
              "variable" : "eAe"
            },
            {
              "context" : "eAe",
              "element" : "resource",
              "variable" : "obAe",
              "transform" : "create",
              "parameter" : [{
                "valueString" : "Observation"
              }]
            }],
            "rule" : [{
              "name" : "remarksBase",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAe"
              },
              {
                "context" : "eAe"
              }],
              "dependent" : [{
                "name" : "BuildObsBase",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obAe"
                },
                {
                  "valueId" : "eAe"
                }]
              }]
            },
            {
              "name" : "remarksCategory",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAe"
              }],
              "dependent" : [{
                "name" : "SurveyCategory",
                "parameter" : [{
                  "valueId" : "qr"
                },
                {
                  "valueId" : "obAe"
                }]
              }]
            },
            {
              "name" : "remarksCode",
              "source" : [{
                "context" : "qr"
              }],
              "target" : [{
                "context" : "obAe",
                "element" : "code",
                "variable" : "cdAe"
              }],
              "rule" : [{
                "name" : "remarksCodeCoding",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdAe",
                  "element" : "coding",
                  "variable" : "ccAe"
                }],
                "rule" : [{
                  "name" : "remarksSystem",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAe",
                    "element" : "system",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "http://loinc.org"
                    }]
                  }]
                },
                {
                  "name" : "remarksCode",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAe",
                    "element" : "code",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "48767-8"
                    }]
                  }]
                },
                {
                  "name" : "remarksDisplay",
                  "source" : [{
                    "context" : "qr"
                  }],
                  "target" : [{
                    "context" : "ccAe",
                    "element" : "display",
                    "transform" : "copy",
                    "parameter" : [{
                      "valueString" : "Annotation comment"
                    }]
                  }]
                }]
              },
              {
                "name" : "remarksCodeText",
                "source" : [{
                  "context" : "qr"
                }],
                "target" : [{
                  "context" : "cdAe",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [{
                    "valueString" : "MOH 510 register remarks"
                  }]
                }]
              }]
            },
            {
              "name" : "remarksValue",
              "source" : [{
                "context" : "aAe",
                "element" : "value",
                "variable" : "v"
              }],
              "target" : [{
                "context" : "obAe",
                "element" : "value",
                "transform" : "copy",
                "parameter" : [{
                  "valueId" : "v"
                }]
              }]
            }]
          }]
        }]
      }],
      "documentation" : "---------------------------------------------------------------- AE Remarks"
    }]
  },
  {
    "name" : "BuildObsBase",
    "documentation" : "---------------------------------------------------------------- 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.",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "obs",
      "type" : "Observation",
      "mode" : "target"
    },
    {
      "name" : "entry",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "obsReq",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "entry",
        "element" : "request",
        "variable" : "rq"
      }],
      "rule" : [{
        "name" : "obsReqMethod",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "rq",
          "element" : "method",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "POST"
          }]
        }]
      },
      {
        "name" : "obsReqUrl",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "rq",
          "element" : "url",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "Observation"
          }]
        }]
      }]
    },
    {
      "name" : "obsId",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "id",
        "transform" : "uuid"
      }]
    },
    {
      "name" : "obsStatus",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "status",
        "transform" : "copy",
        "parameter" : [{
          "valueString" : "final"
        }]
      }]
    },
    {
      "name" : "obsSubject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "subject",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    },
    {
      "name" : "obsEncounter",
      "source" : [{
        "context" : "qr",
        "element" : "encounter",
        "variable" : "e"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "encounter",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "e"
        }]
      }]
    },
    {
      "name" : "obsEffective",
      "source" : [{
        "context" : "qr",
        "element" : "authored",
        "variable" : "t"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "effective",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "t"
        }]
      }]
    },
    {
      "name" : "obsDerivedFrom",
      "source" : [{
        "context" : "qr",
        "element" : "id",
        "variable" : "qid"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "derivedFrom",
        "variable" : "dr",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "Reference"
        }]
      }],
      "rule" : [{
        "name" : "obsDerivedRef",
        "source" : [{
          "context" : "qid"
        }],
        "target" : [{
          "context" : "dr",
          "element" : "reference",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "qid"
          }]
        }]
      }],
      "documentation" : "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."
    }]
  },
  {
    "name" : "BuildImm",
    "documentation" : "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.",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "it",
      "mode" : "source"
    },
    {
      "name" : "a",
      "mode" : "source"
    },
    {
      "name" : "imm",
      "type" : "Immunization",
      "mode" : "target"
    },
    {
      "name" : "entry",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "immCellIdentifier",
      "source" : [{
        "context" : "it",
        "element" : "linkId",
        "variable" : "lk"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "identifier",
        "variable" : "idc"
      }],
      "rule" : [{
        "name" : "immCellSystem",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "system",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell"
          }]
        }]
      },
      {
        "name" : "immCellValue",
        "source" : [{
          "context" : "lk"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "value",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "lk"
          }]
        }]
      }]
    },
    {
      "name" : "immSubject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "subjImm"
      }],
      "rule" : [{
        "name" : "immPatientRef",
        "source" : [{
          "context" : "subjImm",
          "element" : "reference",
          "variable" : "pref"
        }],
        "rule" : [{
          "name" : "immReq",
          "source" : [{
            "context" : "it",
            "element" : "linkId",
            "variable" : "lk2"
          }],
          "target" : [{
            "context" : "entry",
            "element" : "request",
            "variable" : "rq"
          }],
          "rule" : [{
            "name" : "immReqMethod",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "method",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "POST"
              }]
            }]
          },
          {
            "name" : "immReqUrl",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "url",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "Immunization"
              }]
            }]
          },
          {
            "name" : "immIfNoneExist",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "ifNoneExist",
              "transform" : "append",
              "parameter" : [{
                "valueString" : "patient="
              },
              {
                "valueId" : "pref"
              },
              {
                "valueString" : "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|"
              },
              {
                "valueId" : "lk2"
              }]
            }]
          }]
        }]
      }]
    },
    {
      "name" : "immId",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "id",
        "transform" : "uuid"
      }]
    },
    {
      "name" : "immStatus",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "status",
        "transform" : "copy",
        "parameter" : [{
          "valueString" : "completed"
        }]
      }]
    },
    {
      "name" : "immPrimarySource",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "primarySource",
        "transform" : "copy",
        "parameter" : [{
          "valueBoolean" : false
        }]
      }],
      "documentation" : "Register entries are transcribed from the child's card, so the recording\r\nfacility is not necessarily the administering one."
    },
    {
      "name" : "immPatient",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "patient",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    },
    {
      "name" : "immEncounter",
      "source" : [{
        "context" : "qr",
        "element" : "encounter",
        "variable" : "e"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "encounter",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "e"
        }]
      }]
    },
    {
      "name" : "immOccurrence",
      "source" : [{
        "context" : "a",
        "element" : "value",
        "variable" : "dv"
      }],
      "target" : [{
        "context" : "imm",
        "element" : "occurrence",
        "transform" : "cast",
        "parameter" : [{
          "valueId" : "dv"
        },
        {
          "valueString" : "dateTime"
        }]
      }]
    }]
  },
  {
    "name" : "BuildMedAdmin",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "it",
      "mode" : "source"
    },
    {
      "name" : "a",
      "mode" : "source"
    },
    {
      "name" : "ma",
      "type" : "MedicationAdministration",
      "mode" : "target"
    },
    {
      "name" : "entry",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "maCellIdentifier",
      "source" : [{
        "context" : "it",
        "element" : "linkId",
        "variable" : "lk"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "identifier",
        "variable" : "idc"
      }],
      "rule" : [{
        "name" : "maCellSystem",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "system",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell"
          }]
        }]
      },
      {
        "name" : "maCellValue",
        "source" : [{
          "context" : "lk"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "value",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "lk"
          }]
        }]
      }]
    },
    {
      "name" : "maSubject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "subjMa"
      }],
      "rule" : [{
        "name" : "maPatientRef",
        "source" : [{
          "context" : "subjMa",
          "element" : "reference",
          "variable" : "pref"
        }],
        "rule" : [{
          "name" : "maReq",
          "source" : [{
            "context" : "it",
            "element" : "linkId",
            "variable" : "lk2"
          }],
          "target" : [{
            "context" : "entry",
            "element" : "request",
            "variable" : "rq"
          }],
          "rule" : [{
            "name" : "maReqMethod",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "method",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "POST"
              }]
            }]
          },
          {
            "name" : "maReqUrl",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "url",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "MedicationAdministration"
              }]
            }]
          },
          {
            "name" : "maIfNoneExist",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "ifNoneExist",
              "transform" : "append",
              "parameter" : [{
                "valueString" : "subject="
              },
              {
                "valueId" : "pref"
              },
              {
                "valueString" : "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|"
              },
              {
                "valueId" : "lk2"
              }]
            }]
          }]
        }]
      }]
    },
    {
      "name" : "maId",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "id",
        "transform" : "uuid"
      }]
    },
    {
      "name" : "maStatus",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "status",
        "transform" : "copy",
        "parameter" : [{
          "valueString" : "completed"
        }]
      }]
    },
    {
      "name" : "maSubject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "subject",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    },
    {
      "name" : "maEncounter",
      "source" : [{
        "context" : "qr",
        "element" : "encounter",
        "variable" : "e"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "encounter",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "e"
        }]
      }]
    },
    {
      "name" : "maOccurence",
      "source" : [{
        "context" : "a",
        "element" : "value",
        "variable" : "dv"
      }],
      "target" : [{
        "context" : "ma",
        "element" : "occurence",
        "transform" : "cast",
        "parameter" : [{
          "valueId" : "dv"
        },
        {
          "valueString" : "dateTime"
        }]
      }]
    }]
  },
  {
    "name" : "BuildRelatedPerson",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "it",
      "mode" : "source"
    },
    {
      "name" : "rp",
      "type" : "RelatedPerson",
      "mode" : "target"
    },
    {
      "name" : "entry",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "rpCellIdentifier",
      "source" : [{
        "context" : "it",
        "element" : "linkId",
        "variable" : "lk"
      }],
      "target" : [{
        "context" : "rp",
        "element" : "identifier",
        "variable" : "idc"
      }],
      "rule" : [{
        "name" : "rpCellSystem",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "system",
          "transform" : "copy",
          "parameter" : [{
            "valueString" : "https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell"
          }]
        }]
      },
      {
        "name" : "rpCellValue",
        "source" : [{
          "context" : "lk"
        }],
        "target" : [{
          "context" : "idc",
          "element" : "value",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "lk"
          }]
        }]
      }]
    },
    {
      "name" : "rpSubject",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "subjRp"
      }],
      "rule" : [{
        "name" : "rpPatientRef",
        "source" : [{
          "context" : "subjRp",
          "element" : "reference",
          "variable" : "pref"
        }],
        "rule" : [{
          "name" : "rpReq",
          "source" : [{
            "context" : "it",
            "element" : "linkId",
            "variable" : "lk2"
          }],
          "target" : [{
            "context" : "entry",
            "element" : "request",
            "variable" : "rq"
          }],
          "rule" : [{
            "name" : "rpReqMethod",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "method",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "POST"
              }]
            }]
          },
          {
            "name" : "rpReqUrl",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "url",
              "transform" : "copy",
              "parameter" : [{
                "valueString" : "RelatedPerson"
              }]
            }]
          },
          {
            "name" : "rpIfNoneExist",
            "source" : [{
              "context" : "qr"
            }],
            "target" : [{
              "context" : "rq",
              "element" : "ifNoneExist",
              "transform" : "append",
              "parameter" : [{
                "valueString" : "patient="
              },
              {
                "valueId" : "pref"
              },
              {
                "valueString" : "&identifier=https://fhir.slade360.co.ke/fhir/Identifier/moh510-register-cell|"
              },
              {
                "valueId" : "lk2"
              }]
            }]
          }]
        }]
      }]
    },
    {
      "name" : "rpId",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "rp",
        "element" : "id",
        "transform" : "uuid"
      }]
    },
    {
      "name" : "rpActive",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "rp",
        "element" : "active",
        "transform" : "copy",
        "parameter" : [{
          "valueBoolean" : true
        }]
      }]
    },
    {
      "name" : "rpPatient",
      "source" : [{
        "context" : "qr",
        "element" : "subject",
        "variable" : "s"
      }],
      "target" : [{
        "context" : "rp",
        "element" : "patient",
        "transform" : "copy",
        "parameter" : [{
          "valueId" : "s"
        }]
      }]
    }]
  },
  {
    "name" : "VitalSignsCategory",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "obs",
      "type" : "Observation",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "vsCat",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "category",
        "variable" : "cat"
      }],
      "rule" : [{
        "name" : "vsCatCoding",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "cat",
          "element" : "coding",
          "variable" : "c"
        }],
        "rule" : [{
          "name" : "vsCatSystem",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "system",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
            }]
          }]
        },
        {
          "name" : "vsCatCode",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "code",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "vital-signs"
            }]
          }]
        },
        {
          "name" : "vsCatDisplay",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "display",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Vital Signs"
            }]
          }]
        }]
      }]
    }]
  },
  {
    "name" : "SurveyCategory",
    "input" : [{
      "name" : "qr",
      "type" : "QR",
      "mode" : "source"
    },
    {
      "name" : "obs",
      "type" : "Observation",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "svCat",
      "source" : [{
        "context" : "qr"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "category",
        "variable" : "cat"
      }],
      "rule" : [{
        "name" : "svCatCoding",
        "source" : [{
          "context" : "qr"
        }],
        "target" : [{
          "context" : "cat",
          "element" : "coding",
          "variable" : "c"
        }],
        "rule" : [{
          "name" : "svCatSystem",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "system",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "http://terminology.hl7.org/CodeSystem/observation-category"
            }]
          }]
        },
        {
          "name" : "svCatCode",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "code",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "survey"
            }]
          }]
        },
        {
          "name" : "svCatDisplay",
          "source" : [{
            "context" : "qr"
          }],
          "target" : [{
            "context" : "c",
            "element" : "display",
            "transform" : "copy",
            "parameter" : [{
              "valueString" : "Survey"
            }]
          }]
        }]
      }]
    }]
  },
  {
    "name" : "SetCodedValue",
    "input" : [{
      "name" : "it",
      "type" : "Element",
      "mode" : "source"
    },
    {
      "name" : "obs",
      "type" : "Observation",
      "mode" : "target"
    }],
    "rule" : [{
      "name" : "setCodedValue",
      "source" : [{
        "context" : "it",
        "element" : "answer",
        "variable" : "a"
      }],
      "target" : [{
        "context" : "obs",
        "element" : "value",
        "variable" : "c",
        "transform" : "create",
        "parameter" : [{
          "valueString" : "CodeableConcept"
        }]
      }],
      "rule" : [{
        "name" : "copyCoding",
        "source" : [{
          "context" : "a",
          "element" : "value",
          "variable" : "coding"
        }],
        "target" : [{
          "context" : "c",
          "element" : "coding",
          "variable" : "nc",
          "transform" : "copy",
          "parameter" : [{
            "valueId" : "coding"
          }]
        }]
      }]
    }]
  }]
}