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

Draft as of 2026-05-04

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

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