Kenya Disease Surveillance FHIR Implementation Guide.
0.1.0 - ci-build Kenya flag

Kenya Disease Surveillance FHIR Implementation Guide., published by Kenya National Public Health Institute. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/Surveillance-FHIR-IG/ and changes regularly. See the Directory of published versions

: AfpCaseReportMap - JSON Representation

Draft as of 2026-05-04

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "AfpCaseReportMap",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap AfpCaseReportMap</b></p><a name=\"AfpCaseReportMap\"> </a><a name=\"hcAfpCaseReportMap\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>http://example.org/StructureMap/AfpCaseReportMap<span style=\"color: navy\">&quot; = &quot;</span>AfpCaseReportMap<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">AFP Case Report QuestionnaireResponse to FHIR resources</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Maps to: Patient, Encounter, Condition (AFP), Immunization (OPV), Specimen (stool)</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">&quot; </span><b>alias </b>QuestionnaireResponse <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/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/R4/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">&quot; </span><b>alias </b>Patient <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/encounter.html\" title=\"Encounter\">http://hl7.org/fhir/StructureDefinition/Encounter</a><span style=\"color: navy\">&quot; </span><b>alias </b>Encounter <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">&quot; </span><b>alias </b>Condition <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/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/R4/specimen.html\" title=\"Specimen\">http://hl7.org/fhir/StructureDefinition/Specimen</a><span style=\"color: navy\">&quot; </span><b>alias </b>Specimen <b>as </b><b>target</b>\r\n\r\n<b>group </b>AfpCaseReportMap<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;bundleId&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.type = <span style=\"color: blue\">'transaction'</span> <i>&quot;bundleType&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">e</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>e.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">patient</span><b> then </b>MapAfpPatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">)</span> <i>&quot;execPatient&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> e.request<b> as </b><span style=\"color: maroon\">req</span><span style=\"color: navy\">, </span> req.method = <span style=\"color: blue\">'PUT'</span><span style=\"color: navy\">, </span> req.url = <span style=\"color: navy\">(</span>'Patient/' + %src.subject.reference<span style=\"color: navy\">)</span> <i>&quot;patientReq&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;patientEntry&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">e</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>e.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Encounter'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">encounter</span><b> then </b>MapAfpEncounter<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">)</span> <i>&quot;execEncounter&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> e.request<b> as </b><span style=\"color: maroon\">req</span><span style=\"color: navy\">, </span> req.method = <span style=\"color: blue\">'POST'</span><span style=\"color: navy\">, </span> req.url = <span style=\"color: blue\">'Encounter'</span> <i>&quot;encounterReq&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;encounterEntry&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">e</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>e.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Condition'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">condition</span><b> then </b>MapAfpCondition<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">)</span> <i>&quot;execCondition&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> e.request<b> as </b><span style=\"color: maroon\">req</span><span style=\"color: navy\">, </span> req.method = <span style=\"color: blue\">'POST'</span><span style=\"color: navy\">, </span> req.url = <span style=\"color: blue\">'Condition'</span> <i>&quot;conditionReq&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;conditionEntry&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">e</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>e.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\">immunization</span><b> then </b>MapAfpImmunization<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">immunization</span><span style=\"color: navy\">)</span> <i>&quot;execImmunization&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> e.request<b> as </b><span style=\"color: maroon\">req</span><span style=\"color: navy\">, </span> req.method = <span style=\"color: blue\">'POST'</span><span style=\"color: navy\">, </span> req.url = <span style=\"color: blue\">'Immunization'</span> <i>&quot;immunizationReq&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;immunizationEntry&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>bundle.entry<b> as </b><span style=\"color: maroon\">e</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>e.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Specimen'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">specimen</span><b> then </b>MapAfpSpecimen<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">specimen</span><span style=\"color: navy\">)</span> <i>&quot;execSpecimen&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span> e.request<b> as </b><span style=\"color: maroon\">req</span><span style=\"color: navy\">, </span> req.method = <span style=\"color: blue\">'POST'</span><span style=\"color: navy\">, </span> req.url = <span style=\"color: blue\">'Specimen'</span> <i>&quot;specimenReq&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;specimenEntry&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MapAfpPatient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>Patient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>patient.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;patientId&quot;</i><span style=\"color: navy\">;</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">demographics</span><b> where </b>linkId = '359809652429'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">Given name</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '873240407472'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.name<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\">, </span> name.given = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;givenName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;firstName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Middle name (appended to given)</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '246751846436'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.name<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\">, </span> name.given = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;middleName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;middleName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Family name</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '486402457213'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.name<b> as </b><span style=\"color: maroon\">name</span><span style=\"color: navy\">, </span> name.family = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;familyName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;familyName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Gender</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '929966324957'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>patient.gender = <span style=\"color: navy\">(</span>ans.valueCoding.code<span style=\"color: navy\">)</span> <i>&quot;gender&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;gender&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of birth</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '257830485990'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>patient.birthDate = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;birthDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;birthDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Parent / Guardian name as contact</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '856448027666'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>patient.contact<b> as </b><span style=\"color: maroon\">contact</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span> contact.name<b> as </b><span style=\"color: maroon\">cname</span><span style=\"color: navy\">, </span> cname.text = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;contactName&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;parentContact&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;parentName&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Parent / Guardian phone</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '576318206363'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.telecom<b> as </b><span style=\"color: maroon\">tel</span><span style=\"color: navy\">, </span> tel.system = <span style=\"color: blue\">'phone'</span><span style=\"color: navy\">, </span> tel.value = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;phone&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;phone&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Residence address</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = 'residence-details'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.address<b> as </b><span style=\"color: maroon\">addr</span><span style=\"color: navy\">, </span> addr.text = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;address&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;address&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Neighborhood landmark</span>\r\n    demographics.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '946232932304'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> patient.address<b> as </b><span style=\"color: maroon\">addr</span><span style=\"color: navy\">, </span> addr.district = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;landmark&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;landmark&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;demographics&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MapAfpEncounter<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">encounter</span><span style=\"color: navy\"> : </span>Encounter<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>encounter.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;encounterId&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>encounter.status = <span style=\"color: blue\">'finished'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>encounter.class<b> as </b><span style=\"color: maroon\">cls</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>cls.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/v3-ActCode'</span> <i>&quot;clsSys&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>cls.code = <span style=\"color: blue\">'AMB'</span> <i>&quot;clsCode&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;class&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Subject reference</span>\r\n  src.subject<b> as </b><span style=\"color: maroon\">subj</span><span style=\"color: navy\"><b> -&gt; </b></span> encounter.subject<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\">, </span> ref.reference = <span style=\"color: navy\">(</span>'Patient/' + subj.reference<span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Reporting site page</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">reportSite</span><b> where </b>linkId = '151479012557'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">EPID No as identifier</span>\r\n    reportSite.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '992818778559'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>encounter.identifier<b> as </b><span style=\"color: maroon\">id</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>id.system = <span style=\"color: blue\">'http://example.org/identifier/epid'</span> <i>&quot;epidSys&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>id.value = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;epidValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;epidId&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;epidNo&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;reportSite&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Case information page</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">caseInfo</span><b> where </b>linkId = '451840456960'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of investigation as period start</span>\r\n    caseInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '502488184403'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> encounter.period<b> as </b><span style=\"color: maroon\">period</span><span style=\"color: navy\">, </span> period.start = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;periodStart&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;investigationDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of notification extension</span>\r\n    caseInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '426321975477'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>encounter.extension<b> as </b><span style=\"color: maroon\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.url = <span style=\"color: blue\">'http://example.org/StructureDefinition/notificationDate'</span> <i>&quot;extUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.valueDate = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;extValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;notificationExt&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;notificationDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Notified by</span>\r\n    caseInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '171292274939'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>encounter.extension<b> as </b><span style=\"color: maroon\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.url = <span style=\"color: blue\">'http://example.org/StructureDefinition/notifiedBy'</span> <i>&quot;extUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.valueString = <span style=\"color: navy\">(</span>ans.valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;extValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;notifiedByExt&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;notifiedBy&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Admission date</span>\r\n    caseInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '507199621281'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>encounter.hospitalization<b> as </b><span style=\"color: maroon\">hosp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span> hosp.admitSource<b> as </b><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span> src.coding<b> as </b><span style=\"color: maroon\">cod</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          ans<span style=\"color: navy\"><b> -&gt; </b></span>cod.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/admit-source'</span> <i>&quot;admitSys&quot;</i><span style=\"color: navy\">;</span>\r\n          ans<span style=\"color: navy\"><b> -&gt; </b></span>cod.code = <span style=\"color: blue\">'hosp-trans'</span> <i>&quot;admitCode&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;admitSource&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;hospitalization&quot;</i><span style=\"color: navy\">;</span>\r\n      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> encounter.period<b> as </b><span style=\"color: maroon\">period</span><span style=\"color: navy\">, </span> period.start = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;admitDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;admissionDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">IP/OP number</span>\r\n    caseInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '525996604810'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>encounter.identifier<b> as </b><span style=\"color: maroon\">id</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>id.system = <span style=\"color: blue\">'http://example.org/identifier/ip-op'</span> <i>&quot;ipopSys&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>id.value = <span style=\"color: maroon\">ans.valueString</span> <i>&quot;ipopValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;ipopId&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;ipopNo&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;caseInfo&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MapAfpCondition<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">condition</span><span style=\"color: navy\"> : </span>Condition<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>condition.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;conditionId&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">AFP SNOMED code</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>condition.code<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>code.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>&quot;snomedSys&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'398102009'</span> <i>&quot;afpCode&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Acute flaccid paralysis'</span> <i>&quot;afpDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;afpCoding&quot;</i><span style=\"color: navy\">;</span>\r\n    src<span style=\"color: navy\"><b> -&gt; </b></span>code.text = <span style=\"color: blue\">'Acute Flaccid Paralysis (AFP)'</span> <i>&quot;afpText&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;afpCodeBlock&quot;</i><span style=\"color: navy\">;</span>\r\n  src.subject<b> as </b><span style=\"color: maroon\">subj</span><span style=\"color: navy\"><b> -&gt; </b></span> condition.subject<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\">, </span> ref.reference = <span style=\"color: navy\">(</span>'Patient/' + subj.reference<span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">clinicalInfo</span><b> where </b>linkId = '735342695013'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of onset of paralysis</span>\r\n    clinicalInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '728034137219'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>condition.onset = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;onsetDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;onsetDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Outcome → clinical status</span>\r\n    clinicalInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '212304573462'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>condition.clinicalStatus<b> as </b><span style=\"color: maroon\">status</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans.valueCoding<b> as </b><span style=\"color: maroon\">val</span><b> where </b>code = 'dead'<span style=\"color: navy\"><b> -&gt; </b></span> status.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-clinical'</span><span style=\"color: navy\">, </span> cod.code = <span style=\"color: blue\">'inactive'</span> <i>&quot;deadStatus&quot;</i><span style=\"color: navy\">;</span>\r\n        ans.valueCoding<b> as </b><span style=\"color: maroon\">val</span><b> where </b>code = 'alive'<span style=\"color: navy\"><b> -&gt; </b></span> status.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-clinical'</span><span style=\"color: navy\">, </span> cod.code = <span style=\"color: blue\">'active'</span> <i>&quot;aliveStatus&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;clinicalStatus&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;outcome&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Fever at onset as note</span>\r\n    clinicalInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '932108244312'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> condition.note<b> as </b><span style=\"color: maroon\">note</span><span style=\"color: navy\">, </span> note.text = <span style=\"color: navy\">(</span>iif(ans.valueCoding.code = 'yes', 'Fever at onset: Yes', 'Fever at onset: No')<span style=\"color: navy\">)</span> <i>&quot;feverNote&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;fever&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Site of paralysis as body site</span>\r\n    clinicalInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '828001350323'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>condition.bodySite<b> as </b><span style=\"color: maroon\">bodySite</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span> bodySite.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://snomed.info/sct'</span><span style=\"color: navy\">, </span> cod.display = <span style=\"color: navy\">(</span>ans.valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;bodySiteCoding&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;paralysisBodySite&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;paralysisBodySites&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">True AFP confirmation</span>\r\n    clinicalInfo.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '564450145870'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>condition.verificationStatus<b> as </b><span style=\"color: maroon\">vs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans.valueCoding<b> as </b><span style=\"color: maroon\">val</span><b> where </b>code = 'yes'<span style=\"color: navy\"><b> -&gt; </b></span> vs.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-ver-status'</span><span style=\"color: navy\">, </span> cod.code = <span style=\"color: blue\">'confirmed'</span> <i>&quot;confirmed&quot;</i><span style=\"color: navy\">;</span>\r\n        ans.valueCoding<b> as </b><span style=\"color: maroon\">val</span><b> where </b>code = 'no'<span style=\"color: navy\"><b> -&gt; </b></span> vs.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/condition-ver-status'</span><span style=\"color: navy\">, </span> cod.code = <span style=\"color: blue\">'refuted'</span> <i>&quot;refuted&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;verificationStatus&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;trueAfp&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;clinicalInfo&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MapAfpImmunization<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">immunization</span><span style=\"color: navy\"> : </span>Immunization<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>immunization.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;immunizationId&quot;</i><span style=\"color: navy\">;</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>immunization.status = <span style=\"color: blue\">'completed'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">OPV vaccine code</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>immunization.vaccineCode<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>code.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://hl7.org/fhir/sid/cvx'</span> <i>&quot;cvxSys&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'02'</span> <i>&quot;opvCode&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Oral Poliovirus Vaccine (OPV)'</span> <i>&quot;opvDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opvCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;vaccineCode&quot;</i><span style=\"color: navy\">;</span>\r\n  src.subject<b> as </b><span style=\"color: maroon\">subj</span><span style=\"color: navy\"><b> -&gt; </b></span> immunization.patient<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\">, </span> ref.reference = <span style=\"color: navy\">(</span>'Patient/' + subj.reference<span style=\"color: navy\">)</span> <i>&quot;patient&quot;</i><span style=\"color: navy\">;</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">vaccination</span><b> where </b>linkId = '446305443608'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">Vaccination status</span>\r\n    vaccination.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '970455623029'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><b> where </b>valueCoding.code = 'no'<span style=\"color: navy\"><b> -&gt; </b></span>immunization.status = <span style=\"color: blue\">'not-done'</span> <i>&quot;notVaccinated&quot;</i><span style=\"color: navy\">;</span>\r\n      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><b> where </b>valueCoding.code = 'unknown'<span style=\"color: navy\"><b> -&gt; </b></span> immunization.statusReason<b> as </b><span style=\"color: maroon\">reason</span><span style=\"color: navy\">, </span> reason.text = <span style=\"color: blue\">'Unknown vaccination status'</span> <i>&quot;unknownStatus&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;vaccinationStatus&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Number of doses</span>\r\n    vaccination.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '886125589225'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>immunization.protocolApplied<b> as </b><span style=\"color: maroon\">protocol</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>protocol.doseNumber = <span style=\"color: maroon\">ans.valueInteger</span> <i>&quot;doseNumber&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;protocol&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;doses&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of OPV at birth</span>\r\n    vaccination.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '413372430071'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>immunization.occurrenceDateTime = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;opvBirthDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;opvBirth&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of last OPV dose through SIA</span>\r\n    vaccination.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '910678978959'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>immunization.extension<b> as </b><span style=\"color: maroon\">ext</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.url = <span style=\"color: blue\">'http://example.org/StructureDefinition/lastSIADate'</span> <i>&quot;extUrl&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>ext.valueDate = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;extValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;lastSIADate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;siaDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Source of vaccination information</span>\r\n    vaccination.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '650080600932'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>immunization.reportOrigin<b> as </b><span style=\"color: maroon\">origin</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span> origin.coding<b> as </b><span style=\"color: maroon\">cod</span><span style=\"color: navy\">, </span> cod.system = <span style=\"color: blue\">'http://example.org/CodeSystem/vaccination-info-source'</span><span style=\"color: navy\">, </span> cod.code = <span style=\"color: navy\">(</span>ans.valueCoding.code<span style=\"color: navy\">)</span><span style=\"color: navy\">, </span> cod.display = <span style=\"color: navy\">(</span>ans.valueCoding.display<span style=\"color: navy\">)</span> <i>&quot;origin&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;reportOrigin&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;infoSource&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;vaccination&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>MapAfpSpecimen<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>QuestionnaireResponse, <b>target</b> <span style=\"color: maroon\">specimen</span><span style=\"color: navy\"> : </span>Specimen<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  src<span style=\"color: navy\"><b> -&gt; </b></span>specimen.id = <b>uuid</b><span style=\"color: navy\">(</span><span style=\"color: navy\">)</span> <i>&quot;specimenId&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Stool specimen type</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>specimen.type<b> as </b><span style=\"color: maroon\">type</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src<span style=\"color: navy\"><b> -&gt; </b></span>type.coding<b> as </b><span style=\"color: maroon\">coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.system = <span style=\"color: blue\">'http://snomed.info/sct'</span> <i>&quot;snomedSys&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.code = <span style=\"color: blue\">'119339001'</span> <i>&quot;stoolCode&quot;</i><span style=\"color: navy\">;</span>\r\n      src<span style=\"color: navy\"><b> -&gt; </b></span>coding.display = <span style=\"color: blue\">'Stool specimen'</span> <i>&quot;stoolDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;stoolCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;specimenType&quot;</i><span style=\"color: navy\">;</span>\r\n  src.subject<b> as </b><span style=\"color: maroon\">subj</span><span style=\"color: navy\"><b> -&gt; </b></span> specimen.subject<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\">, </span> ref.reference = <span style=\"color: navy\">(</span>'Patient/' + subj.reference<span style=\"color: navy\">)</span><span style=\"color: navy\">;</span>\r\n  src.item<b> as </b><span style=\"color: maroon\">stoolCollection</span><b> where </b>linkId = '350784256533'<b> then</b><span style=\"color: navy\"> {\r\n</span>    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of first specimen collection</span>\r\n    stoolCollection.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '737703942433'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span> specimen.collection<b> as </b><span style=\"color: maroon\">coll</span><span style=\"color: navy\">, </span> coll.collectedDateTime = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;firstSpecimen&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;firstSpecimenDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date of second specimen (as processing step)</span>\r\n    stoolCollection.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '711388438654'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>specimen.processing<b> as </b><span style=\"color: maroon\">proc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>proc.description = <span style=\"color: blue\">'2nd specimen collected'</span> <i>&quot;procDesc&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>proc.timeDateTime = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;procTime&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;secondSpecimen&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;secondSpecimenDate&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">// </span><span style=\"color: green\">Date sent to national level</span>\r\n    stoolCollection.item<b> as </b><span style=\"color: maroon\">item</span><b> where </b>linkId = '808177332790'<b> then</b><span style=\"color: navy\"> {\r\n</span>      item.answer first<b> as </b><span style=\"color: maroon\">ans</span><span style=\"color: navy\"><b> -&gt; </b></span>specimen.processing<b> as </b><span style=\"color: maroon\">proc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        ans<span style=\"color: navy\"><b> -&gt; </b></span>proc.description = <span style=\"color: blue\">'Specimen sent to national level'</span> <i>&quot;procDesc&quot;</i><span style=\"color: navy\">;</span>\r\n        ans<span style=\"color: navy\"><b> -&gt; </b></span>proc.timeDateTime = <span style=\"color: maroon\">ans.valueDate</span> <i>&quot;procTime&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;sentToNational&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;sentToNationalDate&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;stoolCollection&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "http://example.org/StructureMap/AfpCaseReportMap",
  "version" : "0.1.0",
  "name" : "AfpCaseReportMap",
  "status" : "draft",
  "date" : "2026-05-04T06:19:40+00:00",
  "publisher" : "Kenya National Public Health Institute",
  "contact" : [
    {
      "name" : "Kenya National Public Health Institute",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.nphi.go.ke/"
        }
      ]
    },
    {
      "name" : "Kenya National Public Health Institute",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://www.nphi.go.ke/",
          "use" : "work"
        }
      ]
    }
  ],
  "description" : "AFP Case Report QuestionnaireResponse to FHIR resources\r\nMaps to: Patient, Encounter, Condition (AFP), Immunization (OPV), Specimen (stool)",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "KE",
          "display" : "Kenya"
        }
      ]
    }
  ],
  "structure" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "mode" : "source",
      "alias" : "QuestionnaireResponse"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode" : "target",
      "alias" : "Bundle"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Patient",
      "mode" : "target",
      "alias" : "Patient"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Encounter",
      "mode" : "target",
      "alias" : "Encounter"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Condition",
      "mode" : "target",
      "alias" : "Condition"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Immunization",
      "mode" : "target",
      "alias" : "Immunization"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Specimen",
      "mode" : "target",
      "alias" : "Specimen"
    }
  ],
  "group" : [
    {
      "name" : "AfpCaseReportMap",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "bundle",
          "type" : "Bundle",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "bundleId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "bundleType",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "type",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "transaction"
                }
              ]
            }
          ]
        },
        {
          "name" : "patientEntry",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "entry",
              "variable" : "e"
            }
          ],
          "rule" : [
            {
              "name" : "execPatient",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "resource",
                  "variable" : "patient",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Patient"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "MapAfpPatient",
                  "variable" : [
                    "src",
                    "patient"
                  ]
                }
              ]
            },
            {
              "name" : "patientReq",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "request",
                  "variable" : "req"
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "PUT"
                    }
                  ]
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "evaluate",
                  "parameter" : [
                    {
                      "valueString" : "'Patient/' + %src.subject.reference"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "encounterEntry",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "entry",
              "variable" : "e"
            }
          ],
          "rule" : [
            {
              "name" : "execEncounter",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "resource",
                  "variable" : "encounter",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Encounter"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "MapAfpEncounter",
                  "variable" : [
                    "src",
                    "encounter"
                  ]
                }
              ]
            },
            {
              "name" : "encounterReq",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "request",
                  "variable" : "req"
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Encounter"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "conditionEntry",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "entry",
              "variable" : "e"
            }
          ],
          "rule" : [
            {
              "name" : "execCondition",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "resource",
                  "variable" : "condition",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Condition"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "MapAfpCondition",
                  "variable" : [
                    "src",
                    "condition"
                  ]
                }
              ]
            },
            {
              "name" : "conditionReq",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "request",
                  "variable" : "req"
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Condition"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "immunizationEntry",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "entry",
              "variable" : "e"
            }
          ],
          "rule" : [
            {
              "name" : "execImmunization",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "resource",
                  "variable" : "immunization",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Immunization"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "MapAfpImmunization",
                  "variable" : [
                    "src",
                    "immunization"
                  ]
                }
              ]
            },
            {
              "name" : "immunizationReq",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "request",
                  "variable" : "req"
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Immunization"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "specimenEntry",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "bundle",
              "contextType" : "variable",
              "element" : "entry",
              "variable" : "e"
            }
          ],
          "rule" : [
            {
              "name" : "execSpecimen",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "resource",
                  "variable" : "specimen",
                  "transform" : "create",
                  "parameter" : [
                    {
                      "valueString" : "Specimen"
                    }
                  ]
                }
              ],
              "dependent" : [
                {
                  "name" : "MapAfpSpecimen",
                  "variable" : [
                    "src",
                    "specimen"
                  ]
                }
              ]
            },
            {
              "name" : "specimenReq",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "e",
                  "contextType" : "variable",
                  "element" : "request",
                  "variable" : "req"
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "method",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "POST"
                    }
                  ]
                },
                {
                  "context" : "req",
                  "contextType" : "variable",
                  "element" : "url",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Specimen"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "MapAfpPatient",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "patient",
          "type" : "Patient",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "patientId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "patient",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "demographics",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "demographics",
              "condition" : "linkId = '359809652429'"
            }
          ],
          "rule" : [
            {
              "name" : "firstName",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '873240407472'"
                }
              ],
              "rule" : [
                {
                  "name" : "givenName",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "name",
                      "variable" : "name"
                    },
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "given",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "middleName",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '246751846436'"
                }
              ],
              "rule" : [
                {
                  "name" : "middleName",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "name",
                      "variable" : "name"
                    },
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "given",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "familyName",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '486402457213'"
                }
              ],
              "rule" : [
                {
                  "name" : "familyName",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "name",
                      "variable" : "name"
                    },
                    {
                      "context" : "name",
                      "contextType" : "variable",
                      "element" : "family",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "gender",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '929966324957'"
                }
              ],
              "rule" : [
                {
                  "name" : "gender",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "gender",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueString" : "ans.valueCoding.code"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "birthDate",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '257830485990'"
                }
              ],
              "rule" : [
                {
                  "name" : "birthDate",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "birthDate",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "parentName",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '856448027666'"
                }
              ],
              "rule" : [
                {
                  "name" : "parentContact",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "contact",
                      "variable" : "contact"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "contactName",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "contact",
                          "contextType" : "variable",
                          "element" : "name",
                          "variable" : "cname"
                        },
                        {
                          "context" : "cname",
                          "contextType" : "variable",
                          "element" : "text",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueString"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "phone",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '576318206363'"
                }
              ],
              "rule" : [
                {
                  "name" : "phone",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "telecom",
                      "variable" : "tel"
                    },
                    {
                      "context" : "tel",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "phone"
                        }
                      ]
                    },
                    {
                      "context" : "tel",
                      "contextType" : "variable",
                      "element" : "value",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "address",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = 'residence-details'"
                }
              ],
              "rule" : [
                {
                  "name" : "address",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "address",
                      "variable" : "addr"
                    },
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "landmark",
              "source" : [
                {
                  "context" : "demographics",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '946232932304'"
                }
              ],
              "rule" : [
                {
                  "name" : "landmark",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "patient",
                      "contextType" : "variable",
                      "element" : "address",
                      "variable" : "addr"
                    },
                    {
                      "context" : "addr",
                      "contextType" : "variable",
                      "element" : "district",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueString"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "MapAfpEncounter",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "encounter",
          "type" : "Encounter",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "encounterId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "encounter",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "status",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "encounter",
              "contextType" : "variable",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "finished"
                }
              ]
            }
          ]
        },
        {
          "name" : "class",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "encounter",
              "contextType" : "variable",
              "element" : "class",
              "variable" : "cls"
            }
          ],
          "rule" : [
            {
              "name" : "clsSys",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "cls",
                  "contextType" : "variable",
                  "element" : "system",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "http://terminology.hl7.org/CodeSystem/v3-ActCode"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "clsCode",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "cls",
                  "contextType" : "variable",
                  "element" : "code",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "AMB"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "src",
              "element" : "subject",
              "variable" : "subj"
            }
          ],
          "target" : [
            {
              "context" : "encounter",
              "contextType" : "variable",
              "element" : "subject",
              "variable" : "ref"
            },
            {
              "context" : "ref",
              "contextType" : "variable",
              "element" : "reference",
              "transform" : "evaluate",
              "parameter" : [
                {
                  "valueString" : "'Patient/' + subj.reference"
                }
              ]
            }
          ]
        },
        {
          "name" : "reportSite",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "reportSite",
              "condition" : "linkId = '151479012557'"
            }
          ],
          "rule" : [
            {
              "name" : "epidNo",
              "source" : [
                {
                  "context" : "reportSite",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '992818778559'"
                }
              ],
              "rule" : [
                {
                  "name" : "epidId",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "identifier",
                      "variable" : "id"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "epidSys",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "id",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/identifier/epid"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "epidValue",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "id",
                          "contextType" : "variable",
                          "element" : "value",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueString"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "caseInfo",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "caseInfo",
              "condition" : "linkId = '451840456960'"
            }
          ],
          "rule" : [
            {
              "name" : "investigationDate",
              "source" : [
                {
                  "context" : "caseInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '502488184403'"
                }
              ],
              "rule" : [
                {
                  "name" : "periodStart",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "period",
                      "variable" : "period"
                    },
                    {
                      "context" : "period",
                      "contextType" : "variable",
                      "element" : "start",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "notificationDate",
              "source" : [
                {
                  "context" : "caseInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '426321975477'"
                }
              ],
              "rule" : [
                {
                  "name" : "notificationExt",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "extension",
                      "variable" : "ext"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "extUrl",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "url",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/StructureDefinition/notificationDate"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "extValue",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "valueDate",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueDate"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "notifiedBy",
              "source" : [
                {
                  "context" : "caseInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '171292274939'"
                }
              ],
              "rule" : [
                {
                  "name" : "notifiedByExt",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "extension",
                      "variable" : "ext"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "extUrl",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "url",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/StructureDefinition/notifiedBy"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "extValue",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "valueString",
                          "transform" : "evaluate",
                          "parameter" : [
                            {
                              "valueString" : "ans.valueCoding.display"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "admissionDate",
              "source" : [
                {
                  "context" : "caseInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '507199621281'"
                }
              ],
              "rule" : [
                {
                  "name" : "hospitalization",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "hospitalization",
                      "variable" : "hosp"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "admitSource",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "hosp",
                          "contextType" : "variable",
                          "element" : "admitSource",
                          "variable" : "src"
                        },
                        {
                          "context" : "src",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        }
                      ],
                      "rule" : [
                        {
                          "name" : "admitSys",
                          "source" : [
                            {
                              "context" : "ans"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cod",
                              "contextType" : "variable",
                              "element" : "system",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "http://terminology.hl7.org/CodeSystem/admit-source"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name" : "admitCode",
                          "source" : [
                            {
                              "context" : "ans"
                            }
                          ],
                          "target" : [
                            {
                              "context" : "cod",
                              "contextType" : "variable",
                              "element" : "code",
                              "transform" : "copy",
                              "parameter" : [
                                {
                                  "valueString" : "hosp-trans"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "admitDate",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "period",
                      "variable" : "period"
                    },
                    {
                      "context" : "period",
                      "contextType" : "variable",
                      "element" : "start",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "ipopNo",
              "source" : [
                {
                  "context" : "caseInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '525996604810'"
                }
              ],
              "rule" : [
                {
                  "name" : "ipopId",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "encounter",
                      "contextType" : "variable",
                      "element" : "identifier",
                      "variable" : "id"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "ipopSys",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "id",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/identifier/ip-op"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "ipopValue",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "id",
                          "contextType" : "variable",
                          "element" : "value",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueString"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "MapAfpCondition",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "condition",
          "type" : "Condition",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "conditionId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "condition",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "afpCodeBlock",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "condition",
              "contextType" : "variable",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "afpCoding",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "code",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "snomedSys",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://snomed.info/sct"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "afpCode",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "398102009"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "afpDisplay",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Acute flaccid paralysis"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "afpText",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "code",
                  "contextType" : "variable",
                  "element" : "text",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "Acute Flaccid Paralysis (AFP)"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "src",
              "element" : "subject",
              "variable" : "subj"
            }
          ],
          "target" : [
            {
              "context" : "condition",
              "contextType" : "variable",
              "element" : "subject",
              "variable" : "ref"
            },
            {
              "context" : "ref",
              "contextType" : "variable",
              "element" : "reference",
              "transform" : "evaluate",
              "parameter" : [
                {
                  "valueString" : "'Patient/' + subj.reference"
                }
              ]
            }
          ]
        },
        {
          "name" : "clinicalInfo",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "clinicalInfo",
              "condition" : "linkId = '735342695013'"
            }
          ],
          "rule" : [
            {
              "name" : "onsetDate",
              "source" : [
                {
                  "context" : "clinicalInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '728034137219'"
                }
              ],
              "rule" : [
                {
                  "name" : "onsetDate",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "condition",
                      "contextType" : "variable",
                      "element" : "onset",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "outcome",
              "source" : [
                {
                  "context" : "clinicalInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '212304573462'"
                }
              ],
              "rule" : [
                {
                  "name" : "clinicalStatus",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "condition",
                      "contextType" : "variable",
                      "element" : "clinicalStatus",
                      "variable" : "status"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "deadStatus",
                      "source" : [
                        {
                          "context" : "ans",
                          "element" : "valueCoding",
                          "variable" : "val",
                          "condition" : "code = 'dead'"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "status",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "inactive"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "aliveStatus",
                      "source" : [
                        {
                          "context" : "ans",
                          "element" : "valueCoding",
                          "variable" : "val",
                          "condition" : "code = 'alive'"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "status",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://terminology.hl7.org/CodeSystem/condition-clinical"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "active"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "fever",
              "source" : [
                {
                  "context" : "clinicalInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '932108244312'"
                }
              ],
              "rule" : [
                {
                  "name" : "feverNote",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "condition",
                      "contextType" : "variable",
                      "element" : "note",
                      "variable" : "note"
                    },
                    {
                      "context" : "note",
                      "contextType" : "variable",
                      "element" : "text",
                      "transform" : "evaluate",
                      "parameter" : [
                        {
                          "valueString" : "iif(ans.valueCoding.code = 'yes', 'Fever at onset: Yes', 'Fever at onset: No')"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "paralysisBodySites",
              "source" : [
                {
                  "context" : "clinicalInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '828001350323'"
                }
              ],
              "rule" : [
                {
                  "name" : "paralysisBodySite",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "condition",
                      "contextType" : "variable",
                      "element" : "bodySite",
                      "variable" : "bodySite"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "bodySiteCoding",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "bodySite",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://snomed.info/sct"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "display",
                          "transform" : "evaluate",
                          "parameter" : [
                            {
                              "valueString" : "ans.valueCoding.display"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "trueAfp",
              "source" : [
                {
                  "context" : "clinicalInfo",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '564450145870'"
                }
              ],
              "rule" : [
                {
                  "name" : "verificationStatus",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "condition",
                      "contextType" : "variable",
                      "element" : "verificationStatus",
                      "variable" : "vs"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "confirmed",
                      "source" : [
                        {
                          "context" : "ans",
                          "element" : "valueCoding",
                          "variable" : "val",
                          "condition" : "code = 'yes'"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "vs",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://terminology.hl7.org/CodeSystem/condition-ver-status"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "confirmed"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "refuted",
                      "source" : [
                        {
                          "context" : "ans",
                          "element" : "valueCoding",
                          "variable" : "val",
                          "condition" : "code = 'no'"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "vs",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://terminology.hl7.org/CodeSystem/condition-ver-status"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "code",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "refuted"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "MapAfpImmunization",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "immunization",
          "type" : "Immunization",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "immunizationId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "immunization",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "status",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "immunization",
              "contextType" : "variable",
              "element" : "status",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "completed"
                }
              ]
            }
          ]
        },
        {
          "name" : "vaccineCode",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "immunization",
              "contextType" : "variable",
              "element" : "vaccineCode",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "opvCoding",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "code",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "cvxSys",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://hl7.org/fhir/sid/cvx"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "opvCode",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "02"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "opvDisplay",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Oral Poliovirus Vaccine (OPV)"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "patient",
          "source" : [
            {
              "context" : "src",
              "element" : "subject",
              "variable" : "subj"
            }
          ],
          "target" : [
            {
              "context" : "immunization",
              "contextType" : "variable",
              "element" : "patient",
              "variable" : "ref"
            },
            {
              "context" : "ref",
              "contextType" : "variable",
              "element" : "reference",
              "transform" : "evaluate",
              "parameter" : [
                {
                  "valueString" : "'Patient/' + subj.reference"
                }
              ]
            }
          ]
        },
        {
          "name" : "vaccination",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "vaccination",
              "condition" : "linkId = '446305443608'"
            }
          ],
          "rule" : [
            {
              "name" : "vaccinationStatus",
              "source" : [
                {
                  "context" : "vaccination",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '970455623029'"
                }
              ],
              "rule" : [
                {
                  "name" : "notVaccinated",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans",
                      "condition" : "valueCoding.code = 'no'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "status",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "not-done"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "unknownStatus",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans",
                      "condition" : "valueCoding.code = 'unknown'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "statusReason",
                      "variable" : "reason"
                    },
                    {
                      "context" : "reason",
                      "contextType" : "variable",
                      "element" : "text",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Unknown vaccination status"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "doses",
              "source" : [
                {
                  "context" : "vaccination",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '886125589225'"
                }
              ],
              "rule" : [
                {
                  "name" : "protocol",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "protocolApplied",
                      "variable" : "protocol"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "doseNumber",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "protocol",
                          "contextType" : "variable",
                          "element" : "doseNumber",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueInteger"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "opvBirth",
              "source" : [
                {
                  "context" : "vaccination",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '413372430071'"
                }
              ],
              "rule" : [
                {
                  "name" : "opvBirthDate",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "occurrenceDateTime",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "siaDate",
              "source" : [
                {
                  "context" : "vaccination",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '910678978959'"
                }
              ],
              "rule" : [
                {
                  "name" : "lastSIADate",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "extension",
                      "variable" : "ext"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "extUrl",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "url",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/StructureDefinition/lastSIADate"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "extValue",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "ext",
                          "contextType" : "variable",
                          "element" : "valueDate",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueDate"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "infoSource",
              "source" : [
                {
                  "context" : "vaccination",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '650080600932'"
                }
              ],
              "rule" : [
                {
                  "name" : "reportOrigin",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "immunization",
                      "contextType" : "variable",
                      "element" : "reportOrigin",
                      "variable" : "origin"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "origin",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "origin",
                          "contextType" : "variable",
                          "element" : "coding",
                          "variable" : "cod"
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "system",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "http://example.org/CodeSystem/vaccination-info-source"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "code",
                          "transform" : "evaluate",
                          "parameter" : [
                            {
                              "valueString" : "ans.valueCoding.code"
                            }
                          ]
                        },
                        {
                          "context" : "cod",
                          "contextType" : "variable",
                          "element" : "display",
                          "transform" : "evaluate",
                          "parameter" : [
                            {
                              "valueString" : "ans.valueCoding.display"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name" : "MapAfpSpecimen",
      "typeMode" : "none",
      "input" : [
        {
          "name" : "src",
          "type" : "QuestionnaireResponse",
          "mode" : "source"
        },
        {
          "name" : "specimen",
          "type" : "Specimen",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "specimenId",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "specimen",
              "contextType" : "variable",
              "element" : "id",
              "transform" : "uuid"
            }
          ]
        },
        {
          "name" : "specimenType",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "specimen",
              "contextType" : "variable",
              "element" : "type",
              "variable" : "type"
            }
          ],
          "rule" : [
            {
              "name" : "stoolCoding",
              "source" : [
                {
                  "context" : "src"
                }
              ],
              "target" : [
                {
                  "context" : "type",
                  "contextType" : "variable",
                  "element" : "coding",
                  "variable" : "coding"
                }
              ],
              "rule" : [
                {
                  "name" : "snomedSys",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "system",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "http://snomed.info/sct"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "stoolCode",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "119339001"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "stoolDisplay",
                  "source" : [
                    {
                      "context" : "src"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "coding",
                      "contextType" : "variable",
                      "element" : "display",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "Stool specimen"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "subject",
          "source" : [
            {
              "context" : "src",
              "element" : "subject",
              "variable" : "subj"
            }
          ],
          "target" : [
            {
              "context" : "specimen",
              "contextType" : "variable",
              "element" : "subject",
              "variable" : "ref"
            },
            {
              "context" : "ref",
              "contextType" : "variable",
              "element" : "reference",
              "transform" : "evaluate",
              "parameter" : [
                {
                  "valueString" : "'Patient/' + subj.reference"
                }
              ]
            }
          ]
        },
        {
          "name" : "stoolCollection",
          "source" : [
            {
              "context" : "src",
              "element" : "item",
              "variable" : "stoolCollection",
              "condition" : "linkId = '350784256533'"
            }
          ],
          "rule" : [
            {
              "name" : "firstSpecimenDate",
              "source" : [
                {
                  "context" : "stoolCollection",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '737703942433'"
                }
              ],
              "rule" : [
                {
                  "name" : "firstSpecimen",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "specimen",
                      "contextType" : "variable",
                      "element" : "collection",
                      "variable" : "coll"
                    },
                    {
                      "context" : "coll",
                      "contextType" : "variable",
                      "element" : "collectedDateTime",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "ans.valueDate"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "secondSpecimenDate",
              "source" : [
                {
                  "context" : "stoolCollection",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '711388438654'"
                }
              ],
              "rule" : [
                {
                  "name" : "secondSpecimen",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "specimen",
                      "contextType" : "variable",
                      "element" : "processing",
                      "variable" : "proc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "procDesc",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "contextType" : "variable",
                          "element" : "description",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "2nd specimen collected"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "procTime",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "contextType" : "variable",
                          "element" : "timeDateTime",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueDate"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "sentToNationalDate",
              "source" : [
                {
                  "context" : "stoolCollection",
                  "element" : "item",
                  "variable" : "item",
                  "condition" : "linkId = '808177332790'"
                }
              ],
              "rule" : [
                {
                  "name" : "sentToNational",
                  "source" : [
                    {
                      "context" : "item",
                      "element" : "answer",
                      "listMode" : "first",
                      "variable" : "ans"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "specimen",
                      "contextType" : "variable",
                      "element" : "processing",
                      "variable" : "proc"
                    }
                  ],
                  "rule" : [
                    {
                      "name" : "procDesc",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "contextType" : "variable",
                          "element" : "description",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueString" : "Specimen sent to national level"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name" : "procTime",
                      "source" : [
                        {
                          "context" : "ans"
                        }
                      ],
                      "target" : [
                        {
                          "context" : "proc",
                          "contextType" : "variable",
                          "element" : "timeDateTime",
                          "transform" : "copy",
                          "parameter" : [
                            {
                              "valueId" : "ans.valueDate"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}