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 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="Moh505SectionABMap"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap Moh505SectionABMap</b></p><a name="Moh505SectionABMap"> </a><a name="hcMoh505SectionABMap"> </a><pre class="fml">
<b>map</b><span style="color: navy"> "</span>http://example.org/StructureMap/Moh505SectionABMap<span style="color: navy">" = "</span>Moh505SectionABMap<span style="color: navy">"
</span><span style="color: navy">// </span><span style="color: green">MOH 505 Section A and B QuestionnaireResponse to FHIR resources</span>
<span style="color: navy">// </span><span style="color: green">Maps disease tally counts to Observation resources (one per disease per reporting period)</span>
<span style="color: navy">// </span><span style="color: green">Observation.component encodes: under-5 cases, under-5 deaths, over-5 cases, over-5 deaths</span>
<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>
<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>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R4/observation.html" title="Observation">http://hl7.org/fhir/StructureDefinition/Observation</a><span style="color: navy">" </span><b>alias </b>Observation <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R4/datatypes.html#BackboneElement" title="BackboneElement">http://hl7.org/fhir/StructureDefinition/BackboneElement</a><span style="color: navy">" </span><b>alias </b>BackboneElement <b>as </b><b>source</b>
<b>group </b>Moh505SectionABMap<span style="color: navy">(</span><b>source</b> <span style="color: maroon">src</span><span style="color: navy"> : </span>QuestionnaireResponse, <b>target</b> <span style="color: maroon">bundle</span><span style="color: navy"> : </span>Bundle<span style="color: navy">)</span><span style="color: navy"> {
</span> src<span style="color: navy"><b> -> </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>
src<span style="color: navy"><b> -> </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>"bundleType"</i><span style="color: navy">;</span>
src.item<b> as </b><span style="color: maroon">page</span><b> where </b>linkId = '306799299'<b> then</b><span style="color: navy"> {
</span> <span style="color: navy">// </span><span style="color: green">── AEFI ──────────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = '745196148424'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"aefiObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"aefi"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Acute Jaundice ────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'acute-jaundice'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'acute-jaundice-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'acute-jaundice-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'acute-jaundice-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'acute-jaundice-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"ajObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"acuteJaundice"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Acute Malnutrition ────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'acute-malnutrition'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'acute-malnutrition-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'acute-malnutrition-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'acute-malnutrition-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'acute-malnutrition-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"amObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"acuteMalnutrition"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── AFP (Poliomyelitis) ───────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'afp-poliomyelitis'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'afp-poliomyelitis-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'afp-poliomyelitis-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'afp-poliomyelitis-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'afp-poliomyelitis-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"afpObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"afp"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Anthrax ───────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'anthrax'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'anthrax-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'anthrax-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'anthrax-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'anthrax-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"anthraxObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"anthrax"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Cholera ───────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'cholera'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'cholera-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'cholera-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'cholera-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'cholera-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"choleraObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"cholera"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Chikungunya ───────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'chikungunya'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'chikungunya-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'chikungunya-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'chikungunya-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'chikungunya-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"chikungunyaObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"chikungunya"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── COVID-19 ──────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'covid-19'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'covid-19-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'covid-19-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'covid-19-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'covid-19-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"covidObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"covid19"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Dengue ────────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'dengue'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'dengue-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'dengue-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'dengue-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'dengue-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"dengueObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"dengue"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Dysentery (Bacillary) ─────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'dysentery-bacillary'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'dysentery-bacillary-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'dysentery-bacillary-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'dysentery-bacillary-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'dysentery-bacillary-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"dysenteryObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"dysenteryBacillary"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Guinea Worm Disease ───────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'guinea-worm-disease'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'guinea-worm-disease-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'guinea-worm-disease-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'guinea-worm-disease-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'guinea-worm-disease-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"guineaWormObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"guineaWorm"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Measles ───────────────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'measles'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'measles-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'measles-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'measles-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'measles-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"measlesObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"measlesSectionAB"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Suspected Malaria ─────────────────────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = 'suspected-malaria'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = 'suspected-malaria-under5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = 'suspected-malaria-under5-deaths'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = 'suspected-malaria-over5-cases'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = 'suspected-malaria-over5-deaths'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"malariaObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"suspectedMalaria"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Bacterial Meningitis (numeric linkIds) ────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = '912271576972'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = '871055915491'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = '388760057096'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = '483347883552'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = '983942974596'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"bactMenObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"bacterialMeningitis"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Neonatal Tetanus (numeric linkIds) ────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = '328118347844'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = '535840524666'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = '703609548617'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObsPartial<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"neonatalTetObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"neonatalTetanus"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Onchocerciasis (numeric linkIds) ──────────────────────────────────────</span>
page.item<b> as </b><span style="color: maroon">cb</span><b> where </b>linkId = '579664664652'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5c</span><b> where </b>linkId = '327509292099'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">u5d</span><b> where </b>linkId = '928912977066'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5c</span><b> where </b>linkId = '456099214566'<b> then</b><span style="color: navy"> {
</span> page.item<b> as </b><span style="color: maroon">o5d</span><b> where </b>linkId = '749207004486'<b> then</b><span style="color: navy"> {
</span> cb<b> where </b>answer.exists()<span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">e</span><span style="color: navy">, </span> e.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Observation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">obs</span><b> then </b>CreateSectionABObs<span style="color: navy">(</span><span style="color: maroon">cb</span><span style="color: navy">, </span><span style="color: maroon">u5c</span><span style="color: navy">, </span><span style="color: maroon">u5d</span><span style="color: navy">, </span><span style="color: maroon">o5c</span><span style="color: navy">, </span><span style="color: maroon">o5d</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"onchocerciasisObs"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5d"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5c"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"onchocerciasis"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"diseasesPage"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">Helper: create a disease Observation with 4 components (under-5 cases/deaths, over-5 cases/deaths)</span>
<b>group </b>CreateSectionABObs<span style="color: navy">(</span><b>source</b> <span style="color: maroon">cb</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">u5CasesItem</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">u5DeathsItem</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">o5CasesItem</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">o5DeathsItem</span><span style="color: navy"> : </span>BackboneElement, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation<span style="color: navy">)</span><span style="color: navy"> {
</span> cb<span style="color: navy"><b> -> </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>"obsId"</i><span style="color: navy">;</span>
cb<span style="color: navy"><b> -> </b></span>obs.status = <span style="color: blue">'final'</span> <i>"status"</i><span style="color: navy">;</span>
cb<span style="color: navy"><b> -> </b></span>obs.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span> cb<span style="color: navy"><b> -> </b></span> cat.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/observation-category'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'survey'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Survey'</span> <i>"cat"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Disease code from the checked answer</span>
cb.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> code.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/moh505-disease'</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>"codeCoding"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>code.text = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"diseaseCode"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Component: Under 5 Cases</span>
u5CasesItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Under 5 Cases'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5CasesComp"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Component: Under 5 Deaths</span>
u5DeathsItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Under 5 Deaths'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5DeathsComp"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Component: Over 5 Cases</span>
o5CasesItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Over 5 Cases'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5CasesComp"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Component: Over 5 Deaths</span>
o5DeathsItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Over 5 Deaths'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"o5DeathsComp"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">Helper: create an Observation with only under-5 components (for diseases like Neonatal Tetanus)</span>
<b>group </b>CreateSectionABObsPartial<span style="color: navy">(</span><b>source</b> <span style="color: maroon">cb</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">u5CasesItem</span><span style="color: navy"> : </span>BackboneElement, <b>source</b> <span style="color: maroon">u5DeathsItem</span><span style="color: navy"> : </span>BackboneElement, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation<span style="color: navy">)</span><span style="color: navy"> {
</span> cb<span style="color: navy"><b> -> </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span> <i>"obsId"</i><span style="color: navy">;</span>
cb<span style="color: navy"><b> -> </b></span>obs.status = <span style="color: blue">'final'</span> <i>"status"</i><span style="color: navy">;</span>
cb<span style="color: navy"><b> -> </b></span>obs.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span> cb<span style="color: navy"><b> -> </b></span> cat.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/observation-category'</span><span style="color: navy">, </span> cod.code = <span style="color: blue">'survey'</span><span style="color: navy">, </span> cod.display = <span style="color: blue">'Survey'</span> <i>"cat"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
cb.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> code.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/moh505-disease'</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>"codeCoding"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>code.text = <span style="color: navy">(</span>ans.valueCoding.display<span style="color: navy">)</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"diseaseCode"</i><span style="color: navy">;</span>
u5CasesItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Under 5 Cases'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5CasesComp"</i><span style="color: navy">;</span>
u5DeathsItem.answer first<b> as </b><span style="color: maroon">ans</span><span style="color: navy"><b> -> </b></span>obs.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span> ans<span style="color: navy"><b> -> </b></span> comp.code<b> as </b><span style="color: maroon">code</span><span style="color: navy">, </span> code.text = <span style="color: blue">'Under 5 Deaths'</span> <i>"compCode"</i><span style="color: navy">;</span>
ans<span style="color: navy"><b> -> </b></span>comp.valueInteger = <span style="color: maroon">ans.valueInteger</span> <i>"compValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"u5DeathsComp"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url value="http://example.org/StructureMap/Moh505SectionABMap"/>
<version value="0.1.0"/>
<name value="Moh505SectionABMap"/>
<status value="draft"/>
<date value="2026-05-04T06:19:40+00:00"/>
<publisher value="Kenya National Public Health Institute"/>
<contact>
<name value="Kenya National Public Health Institute"/>
<telecom>
<system value="url"/>
<value value="https://www.nphi.go.ke/"/>
</telecom>
</contact>
<contact>
<name value="Kenya National Public Health Institute"/>
<telecom>
<system value="url"/>
<value value="https://www.nphi.go.ke/"/>
<use value="work"/>
</telecom>
</contact>
<description
value="MOH 505 Section A and B QuestionnaireResponse to FHIR resources
Maps disease tally counts to Observation resources (one per disease per reporting period)
Observation.component encodes: under-5 cases, under-5 deaths, over-5 cases, over-5 deaths"/>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="KE"/>
<display value="Kenya"/>
</coding>
</jurisdiction>
<structure>
<url
value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
<mode value="source"/>
<alias value="QuestionnaireResponse"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
<mode value="target"/>
<alias value="Bundle"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Observation"/>
<mode value="target"/>
<alias value="Observation"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/BackboneElement"/>
<mode value="source"/>
<alias value="BackboneElement"/>
</structure>
<group>
<name value="Moh505SectionABMap"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="QuestionnaireResponse"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="bundleId"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="uuid"/>
</target>
</rule>
<rule>
<name value="bundleType"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="transaction"/>
</parameter>
</target>
</rule>
<rule>
<name value="diseasesPage"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="page"/>
<condition value="linkId = '306799299'"/>
</source>
<rule>
<name value="aefi"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = '745196148424'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'over5-deaths'"/>
</source>
<rule>
<name value="aefiObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="acuteJaundice"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'acute-jaundice'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'acute-jaundice-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'acute-jaundice-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'acute-jaundice-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'acute-jaundice-over5-deaths'"/>
</source>
<rule>
<name value="ajObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="acuteMalnutrition"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'acute-malnutrition'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'acute-malnutrition-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'acute-malnutrition-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'acute-malnutrition-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition
value="linkId = 'acute-malnutrition-over5-deaths'"/>
</source>
<rule>
<name value="amObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="afp"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'afp-poliomyelitis'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'afp-poliomyelitis-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'afp-poliomyelitis-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'afp-poliomyelitis-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition
value="linkId = 'afp-poliomyelitis-over5-deaths'"/>
</source>
<rule>
<name value="afpObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="anthrax"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'anthrax'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'anthrax-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'anthrax-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'anthrax-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'anthrax-over5-deaths'"/>
</source>
<rule>
<name value="anthraxObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="cholera"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'cholera'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'cholera-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'cholera-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'cholera-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'cholera-over5-deaths'"/>
</source>
<rule>
<name value="choleraObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="chikungunya"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'chikungunya'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'chikungunya-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'chikungunya-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'chikungunya-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'chikungunya-over5-deaths'"/>
</source>
<rule>
<name value="chikungunyaObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="covid19"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'covid-19'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'covid-19-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'covid-19-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'covid-19-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'covid-19-over5-deaths'"/>
</source>
<rule>
<name value="covidObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="dengue"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'dengue'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'dengue-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'dengue-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'dengue-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'dengue-over5-deaths'"/>
</source>
<rule>
<name value="dengueObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="dysenteryBacillary"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'dysentery-bacillary'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'dysentery-bacillary-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition
value="linkId = 'dysentery-bacillary-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition
value="linkId = 'dysentery-bacillary-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition
value="linkId = 'dysentery-bacillary-over5-deaths'"/>
</source>
<rule>
<name value="dysenteryObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="guineaWorm"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'guinea-worm-disease'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'guinea-worm-disease-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition
value="linkId = 'guinea-worm-disease-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition
value="linkId = 'guinea-worm-disease-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition
value="linkId = 'guinea-worm-disease-over5-deaths'"/>
</source>
<rule>
<name value="guineaWormObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="measlesSectionAB"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'measles'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'measles-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'measles-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'measles-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = 'measles-over5-deaths'"/>
</source>
<rule>
<name value="measlesObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="suspectedMalaria"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = 'suspected-malaria'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = 'suspected-malaria-under5-cases'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = 'suspected-malaria-under5-deaths'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = 'suspected-malaria-over5-cases'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition
value="linkId = 'suspected-malaria-over5-deaths'"/>
</source>
<rule>
<name value="malariaObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="bacterialMeningitis"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = '912271576972'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = '871055915491'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = '388760057096'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = '483347883552'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = '983942974596'"/>
</source>
<rule>
<name value="bactMenObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="neonatalTetanus"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = '328118347844'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = '535840524666'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = '703609548617'"/>
</source>
<rule>
<name value="neonatalTetObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObsPartial"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="onchocerciasis"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="cb"/>
<condition value="linkId = '579664664652'"/>
</source>
<rule>
<name value="u5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5c"/>
<condition value="linkId = '327509292099'"/>
</source>
<rule>
<name value="u5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="u5d"/>
<condition value="linkId = '928912977066'"/>
</source>
<rule>
<name value="o5c"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5c"/>
<condition value="linkId = '456099214566'"/>
</source>
<rule>
<name value="o5d"/>
<source>
<context value="page"/>
<element value="item"/>
<variable value="o5d"/>
<condition value="linkId = '749207004486'"/>
</source>
<rule>
<name value="onchocerciasisObs"/>
<source>
<context value="cb"/>
<condition value="answer.exists()"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<dependent>
<name value="CreateSectionABObs"/>
<variable value="cb"/>
<variable value="u5c"/>
<variable value="u5d"/>
<variable value="o5c"/>
<variable value="o5d"/>
<variable value="obs"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="CreateSectionABObs"/>
<typeMode value="none"/>
<documentation
value="Helper: create a disease Observation with 4 components (under-5 cases/deaths, over-5 cases/deaths)"/>
<input>
<name value="cb"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="u5CasesItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="u5DeathsItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="o5CasesItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="o5DeathsItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="obsId"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="uuid"/>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="category"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="cat"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="cat"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="cod"/>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="survey"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Survey"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="diseaseCode"/>
<source>
<context value="cb"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<rule>
<name value="codeCoding"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="cod"/>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://example.org/CodeSystem/moh505-disease"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.code"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.display"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.display"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="u5CasesComp"/>
<source>
<context value="u5CasesItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Under 5 Cases"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="u5DeathsComp"/>
<source>
<context value="u5DeathsItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Under 5 Deaths"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="o5CasesComp"/>
<source>
<context value="o5CasesItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Over 5 Cases"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="o5DeathsComp"/>
<source>
<context value="o5DeathsItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Over 5 Deaths"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="CreateSectionABObsPartial"/>
<typeMode value="none"/>
<documentation
value="Helper: create an Observation with only under-5 components (for diseases like Neonatal Tetanus)"/>
<input>
<name value="cb"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="u5CasesItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="u5DeathsItem"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="obsId"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="uuid"/>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="category"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="cat"/>
<source>
<context value="cb"/>
</source>
<target>
<context value="cat"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="cod"/>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="survey"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Survey"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="diseaseCode"/>
<source>
<context value="cb"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<rule>
<name value="codeCoding"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="cod"/>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://example.org/CodeSystem/moh505-disease"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.code"/>
</parameter>
</target>
<target>
<context value="cod"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.display"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ans.valueCoding.display"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="u5CasesComp"/>
<source>
<context value="u5CasesItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Under 5 Cases"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="u5DeathsComp"/>
<source>
<context value="u5DeathsItem"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="ans"/>
</source>
<target>
<context value="obs"/>
<contextType value="variable"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="compCode"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Under 5 Deaths"/>
</parameter>
</target>
</rule>
<rule>
<name value="compValue"/>
<source>
<context value="ans"/>
</source>
<target>
<context value="comp"/>
<contextType value="variable"/>
<element value="valueInteger"/>
<transform value="copy"/>
<parameter>
<valueId value="ans.valueInteger"/>
</parameter>
</target>
</rule>
</rule>
</group>
</StructureMap>