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 - XML Representation

Draft as of 2026-05-04

Raw xml | Download


<StructureMap xmlns="http://hl7.org/fhir">
  <id value="AfpCaseReportMap"/>
  <text>
    <status value="generated"/>
    <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">
<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;

</span><span style="color: navy">// </span><span style="color: green">AFP Case Report QuestionnaireResponse to FHIR resources</span>
<span style="color: navy">// </span><span style="color: green">Maps to: Patient, Encounter, Condition (AFP), Immunization (OPV), Specimen (stool)</span>

<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>
<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>
<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>
<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>
<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>
<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>
<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>

<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"> {
</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>
  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>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;patientEntry&quot;</i><span style="color: navy">;</span>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;encounterEntry&quot;</i><span style="color: navy">;</span>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;conditionEntry&quot;</i><span style="color: navy">;</span>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;immunizationEntry&quot;</i><span style="color: navy">;</span>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;specimenEntry&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</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"> {
</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>
  src.item<b> as </b><span style="color: maroon">demographics</span><b> where </b>linkId = '359809652429'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">Given name</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '873240407472'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;firstName&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Middle name (appended to given)</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '246751846436'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;middleName&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Family name</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '486402457213'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;familyName&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Gender</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '929966324957'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;gender&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date of birth</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '257830485990'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;birthDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Parent / Guardian name as contact</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '856448027666'<b> then</b><span style="color: navy"> {
</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"> {
</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>
      <span style="color: navy">}</span> <i>&quot;parentContact&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;parentName&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Parent / Guardian phone</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '576318206363'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;phone&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Residence address</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = 'residence-details'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;address&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Neighborhood landmark</span>
    demographics.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '946232932304'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;landmark&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;demographics&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</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"> {
</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>
  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>
  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"> {
</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>
    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>
  <span style="color: navy">}</span> <i>&quot;class&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Subject reference</span>
  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>
  <span style="color: navy">// </span><span style="color: green">Reporting site page</span>
  src.item<b> as </b><span style="color: maroon">reportSite</span><b> where </b>linkId = '151479012557'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">EPID No as identifier</span>
    reportSite.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '992818778559'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;epidId&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;epidNo&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;reportSite&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">Case information page</span>
  src.item<b> as </b><span style="color: maroon">caseInfo</span><b> where </b>linkId = '451840456960'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">Date of investigation as period start</span>
    caseInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '502488184403'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;investigationDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date of notification extension</span>
    caseInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '426321975477'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;notificationExt&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;notificationDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Notified by</span>
    caseInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '171292274939'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;notifiedByExt&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;notifiedBy&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Admission date</span>
    caseInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '507199621281'<b> then</b><span style="color: navy"> {
</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"> {
</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"> {
</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>
          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>
        <span style="color: navy">}</span> <i>&quot;admitSource&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;hospitalization&quot;</i><span style="color: navy">;</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;admitDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;admissionDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">IP/OP number</span>
    caseInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '525996604810'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;ipopId&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;ipopNo&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;caseInfo&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</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"> {
</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>
  <span style="color: navy">// </span><span style="color: green">AFP SNOMED code</span>
  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"> {
</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"> {
</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>
      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>
      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>
    <span style="color: navy">}</span> <i>&quot;afpCoding&quot;</i><span style="color: navy">;</span>
    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>
  <span style="color: navy">}</span> <i>&quot;afpCodeBlock&quot;</i><span style="color: navy">;</span>
  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>
  src.item<b> as </b><span style="color: maroon">clinicalInfo</span><b> where </b>linkId = '735342695013'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">Date of onset of paralysis</span>
    clinicalInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '728034137219'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;onsetDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Outcome → clinical status</span>
    clinicalInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '212304573462'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;clinicalStatus&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;outcome&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Fever at onset as note</span>
    clinicalInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '932108244312'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;fever&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Site of paralysis as body site</span>
    clinicalInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '828001350323'<b> then</b><span style="color: navy"> {
</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"> {
</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>
      <span style="color: navy">}</span> <i>&quot;paralysisBodySite&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;paralysisBodySites&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">True AFP confirmation</span>
    clinicalInfo.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '564450145870'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;verificationStatus&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;trueAfp&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;clinicalInfo&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</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"> {
</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>
  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>
  <span style="color: navy">// </span><span style="color: green">OPV vaccine code</span>
  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"> {
</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"> {
</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>
      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>
      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>
    <span style="color: navy">}</span> <i>&quot;opvCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;vaccineCode&quot;</i><span style="color: navy">;</span>
  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>
  src.item<b> as </b><span style="color: maroon">vaccination</span><b> where </b>linkId = '446305443608'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">Vaccination status</span>
    vaccination.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '970455623029'<b> then</b><span style="color: navy"> {
</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>
      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>
    <span style="color: navy">}</span> <i>&quot;vaccinationStatus&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Number of doses</span>
    vaccination.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '886125589225'<b> then</b><span style="color: navy"> {
</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"> {
</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>
      <span style="color: navy">}</span> <i>&quot;protocol&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;doses&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date of OPV at birth</span>
    vaccination.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '413372430071'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;opvBirth&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date of last OPV dose through SIA</span>
    vaccination.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '910678978959'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;lastSIADate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;siaDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Source of vaccination information</span>
    vaccination.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '650080600932'<b> then</b><span style="color: navy"> {
</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"> {
</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>
      <span style="color: navy">}</span> <i>&quot;reportOrigin&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;infoSource&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;vaccination&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</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"> {
</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>
  <span style="color: navy">// </span><span style="color: green">Stool specimen type</span>
  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"> {
</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"> {
</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>
      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>
      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>
    <span style="color: navy">}</span> <i>&quot;stoolCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;specimenType&quot;</i><span style="color: navy">;</span>
  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>
  src.item<b> as </b><span style="color: maroon">stoolCollection</span><b> where </b>linkId = '350784256533'<b> then</b><span style="color: navy"> {
</span>    <span style="color: navy">// </span><span style="color: green">Date of first specimen collection</span>
    stoolCollection.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '737703942433'<b> then</b><span style="color: navy"> {
</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>
    <span style="color: navy">}</span> <i>&quot;firstSpecimenDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date of second specimen (as processing step)</span>
    stoolCollection.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '711388438654'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;secondSpecimen&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;secondSpecimenDate&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">// </span><span style="color: green">Date sent to national level</span>
    stoolCollection.item<b> as </b><span style="color: maroon">item</span><b> where </b>linkId = '808177332790'<b> then</b><span style="color: navy"> {
</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"> {
</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>
        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>
      <span style="color: navy">}</span> <i>&quot;sentToNational&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;sentToNationalDate&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;stoolCollection&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

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