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
| Draft as of 2026-05-04 |
@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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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> -> </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" ] ] ) ] ) ] ) ] ) ] ) ] ) ] ) . #
IG © 2025+ Kenya National Public Health Institute. Package fhir.surveillanceIG#0.1.0 based on FHIR 4.0.1. Generated 2026-05-04
Links: Table of Contents |
QA Report