SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build
SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. 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/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions
| Active as of 2026-09-14 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="ExtractNewbornObservationChart"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap ExtractNewbornObservationChart</b></p><a name="ExtractNewbornObservationChart"> </a><a name="hcExtractNewbornObservationChart"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractNewbornObservationChart'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'ExtractNewbornObservationChart'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'Newborn Observation Chart Extraction'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>
<span style="color: #cc00cc">/// <b>description</b> = </span><span style="color: blue">'The newborn chart out as: one Observation per Apgar time point, coded to the LOINC panel with the five weighted signs as components and the total as its value, computed by the map when the client submits none; one Observation per timed skin-to-skin round; one Observation per follow-up round over the first four days; the birth and discharge weights as their own Observations; the immediate newborn care given as one panel rather than as Immunization or MedicationAdministration resources, which the chart gives no doses or times for; and a Procedure for resuscitation when it was done.'</span>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/questionnaireresponse.html" title="QuestionnaireResponse">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style="color: navy">" </span><b>alias </b>QR <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> "</span><a href="http://hl7.org/fhir/R5/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/R5/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/R5/procedure.html" title="Procedure">http://hl7.org/fhir/StructureDefinition/Procedure</a><span style="color: navy">" </span><b>alias </b>Procedure <b>as </b><b>target</b>
<b>group </b>ExtractNewbornObservationChart<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <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> qr<span style="color: navy"><b> -> </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>"setBundleType"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Birth details ───────────────────────────────────────────────────────</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>linkId = 'bio'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'bio/birth-weight') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8339-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Birth weight Measured'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>obs.value = <span style="color: maroon">v</span> <i>"set"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"measure_8339_4"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'bio/gestational-age') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'11884-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Gestational age Estimated'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>obs.value = <span style="color: maroon">v</span> <i>"set"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"measure_11884_4"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'bio/delivery') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'cord-mode-of-delivery'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Mode of delivery'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </b></span>obs.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coded_cord_condition"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'bio/meconium-stained-liquor') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetExamCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'sign-meconium-stained-liquor'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Meconium stained liquor'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </b></span>obs.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"meconiumObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"bioGroup"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Apgar, one Observation per time point ───────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Coded to the LOINC panel for its time point, with the five signs as</span>
<span style="color: navy">// </span><span style="color: green">components under their own time-specific LOINC codes -- LOINC publishes</span>
<span style="color: navy">// </span><span style="color: green">separate codes for the one-, five- and ten-minute variants of each sign, so</span>
<span style="color: navy">// </span><span style="color: green">a five-minute colour is never mistaken for a one-minute one.</span>
<span style="color: navy">// </span><span style="color: green">The total is the Observation's value, taken from the form's calculated</span>
<span style="color: navy">// </span><span style="color: green">field if the client filled it, and otherwise summed from the answer codes.</span>
<span style="color: navy">// </span><span style="color: green">The weight is the tail of the code: apgar-colour-2 scores two. A client</span>
<span style="color: navy">// </span><span style="color: green">without a FHIRPath engine -- the questionnaire tester among them -- submits</span>
<span style="color: navy">// </span><span style="color: green">the total empty, and this is what makes such a submission still usable.</span>
<span style="color: navy">// </span><span style="color: green">Guarded on all five signs being answered at that time point. An Apgar of 6</span>
<span style="color: navy">// </span><span style="color: green">out of three signs assessed is not a lower Apgar, it is a different number,</span>
<span style="color: navy">// </span><span style="color: green">and nothing in the resource would say which it was.</span>
qr.item<b> as </b><span style="color: maroon">ag</span><b> where </b><span style="color: navy">(</span>linkId = 'apgar'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> ag.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute') and (item.answer.value.ofType(Coding).count() = 5)<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'48334-7'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar panel'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.value = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))<span style="color: navy">)</span> <i>"totalValue"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Seven or more is normal, four to six needs support, three or less is</span>
<span style="color: navy">// </span><span style="color: green">critically low. The chart prints those bands at its foot, so the</span>
<span style="color: navy">// </span><span style="color: green">interpretation says which band the total fell in rather than leaving a</span>
<span style="color: navy">// </span><span style="color: green">reader to remember them.</span>
g<span style="color: navy"><b> -> </b></span>obs.interpretation<b> as </b><span style="color: maroon">interp</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>interp.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span> <i>"interpSystem"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.code = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))<span style="color: navy">)</span> <i>"interpCode"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.display = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))<span style="color: navy">)</span> <i>"interpDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpretation"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32406-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar Appearance'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32406_1"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute/pulse') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32407-9'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar Pulse'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32407_9"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute/grimace') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32409-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar Grimace'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32409_5"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute/activity') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32408-7'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar Activity'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32408_7"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/1-minute/respiration') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32410-3'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'1 minute Apgar Respiration'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32410_3"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"apgarPanel"</i><span style="color: navy">;</span>
ag.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes') and (item.answer.value.ofType(Coding).count() = 5)<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'48333-9'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar panel'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.value = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))<span style="color: navy">)</span> <i>"totalValue"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Seven or more is normal, four to six needs support, three or less is</span>
<span style="color: navy">// </span><span style="color: green">critically low. The chart prints those bands at its foot, so the</span>
<span style="color: navy">// </span><span style="color: green">interpretation says which band the total fell in rather than leaving a</span>
<span style="color: navy">// </span><span style="color: green">reader to remember them.</span>
g<span style="color: navy"><b> -> </b></span>obs.interpretation<b> as </b><span style="color: maroon">interp</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>interp.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span> <i>"interpSystem"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.code = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))<span style="color: navy">)</span> <i>"interpCode"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.display = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))<span style="color: navy">)</span> <i>"interpDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpretation"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32411-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar Appearance'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32411_1"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes/pulse') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32412-9'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar Pulse'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32412_9"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes/grimace') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32414-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar Grimace'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32414_5"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes/activity') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32413-7'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar Activity'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32413_7"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/5-minutes/respiration') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32415-2'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'5 minutes Apgar Respiration'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32415_2"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"apgarPanel2"</i><span style="color: navy">;</span>
ag.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes') and (item.answer.value.ofType(Coding).count() = 5)<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'48332-1'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar panel'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.value = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))<span style="color: navy">)</span> <i>"totalValue"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Seven or more is normal, four to six needs support, three or less is</span>
<span style="color: navy">// </span><span style="color: green">critically low. The chart prints those bands at its foot, so the</span>
<span style="color: navy">// </span><span style="color: green">interpretation says which band the total fell in rather than leaving a</span>
<span style="color: navy">// </span><span style="color: green">reader to remember them.</span>
g<span style="color: navy"><b> -> </b></span>obs.interpretation<b> as </b><span style="color: maroon">interp</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>interp.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation'</span> <i>"interpSystem"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.code = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))<span style="color: navy">)</span> <i>"interpCode"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>coding.display = evaluate<span style="color: navy">(</span>ag<span style="color: navy">, </span>iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))<span style="color: navy">)</span> <i>"interpDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"interpretation"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32401-2'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar Appearance'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32401_2"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes/pulse') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32402-0'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar Pulse'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32402_0"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes/grimace') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32404-6'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar Grimace'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32404_6"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes/activity') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32403-8'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar Activity'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32403_8"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'apgar/10-minutes/respiration') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'32405-3'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'10 minutes Apgar Respiration'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_32405_3"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"apgarPanel3"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"apgarGroup"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Skin-to-skin, one Observation per timed round ───────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Four rounds in the first two hours. One Observation each rather than one</span>
<span style="color: navy">// </span><span style="color: green">panel of twenty components, because these are a time series: the point of</span>
<span style="color: navy">// </span><span style="color: green">charting a heart rate at fifteen and thirty minutes and one and two hours is</span>
<span style="color: navy">// </span><span style="color: green">to see it change, and a single Observation cannot hold four effective times.</span>
<span style="color: navy">// </span><span style="color: green">Each carries its offset from birth as the code text, since the chart gives</span>
<span style="color: navy">// </span><span style="color: green">the offset rather than a clock time and the response's authored time is when</span>
<span style="color: navy">// </span><span style="color: green">the form was written, not when the reading was taken.</span>
qr.item<b> as </b><span style="color: maroon">sg</span><b> where </b><span style="color: navy">(</span>linkId = 'skin-to-skin'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> sg.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-observation'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Skin-to-skin observation'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Skin-to-skin observation — at 15 minutes'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes/heart-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8867-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Heart rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8867_4"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes/temperature') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8310-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body temperature'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8310_5"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes/respiratory-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'9279-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Respiratory rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_9279_1"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-colour'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Colour'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_colour"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/15-minutes/position-sniffing') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-position-sniffing'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Position: sniffing'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_position_sniffing"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"skinToSkinRound"</i><span style="color: navy">;</span>
sg.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-observation'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Skin-to-skin observation'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Skin-to-skin observation — at 30 minutes'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes/heart-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8867-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Heart rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8867_42"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes/temperature') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8310-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body temperature'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8310_52"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes/respiratory-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'9279-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Respiratory rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_9279_12"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-colour'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Colour'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_colour2"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/30-minutes/position-sniffing') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-position-sniffing'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Position: sniffing'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_position_sniffing2"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"skinToSkinRound2"</i><span style="color: navy">;</span>
sg.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-observation'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Skin-to-skin observation'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Skin-to-skin observation — at 1 hour'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour/heart-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8867-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Heart rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8867_43"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour/temperature') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8310-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body temperature'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8310_53"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour/respiratory-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'9279-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Respiratory rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_9279_13"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-colour'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Colour'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_colour3"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/1-hour/position-sniffing') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-position-sniffing'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Position: sniffing'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_position_sniffing3"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"skinToSkinRound3"</i><span style="color: navy">;</span>
sg.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-observation'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Skin-to-skin observation'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Skin-to-skin observation — at 2 hours'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours/heart-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8867-4'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Heart rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8867_44"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours/temperature') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'8310-5'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body temperature'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_8310_54"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours/respiratory-rate') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'9279-1'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Respiratory rate'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_9279_14"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours/colour') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-colour'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Colour'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_colour4"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/2-hours/position-sniffing') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'skin-to-skin-position-sniffing'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Position: sniffing'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_skin_to_skin_position_sniffing4"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"skinToSkinRound4"</i><span style="color: navy">;</span>
sg.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'skin-to-skin/breast-fed-first-hour') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'63895-7'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Breastfeeding status'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Breast fed in the first hour'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </b></span>obs.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"breastFedObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"skinToSkinGroup"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Immediate newborn care given ────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">One panel, not Immunization or MedicationAdministration resources. The</span>
<span style="color: navy">// </span><span style="color: green">chart ticks that vitamin K, eye ointment, chlorhexidine cord care, delayed</span>
<span style="color: navy">// </span><span style="color: green">clamping and ARVs were given and records no dose, no route and no time.</span>
<span style="color: navy">// </span><span style="color: green">A MedicationAdministration built from a tick claims a dose nobody gave.</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'essential-newborn-care-given'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Essential newborn care given'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/obvious-malformation') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-obvious-malformation'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Obvious malformation'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_obvious_malformation"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/delayed-cord-clamp') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-delayed-cord-clamp'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Delayed cord clamp'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_delayed_cord_clamp"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/sero-exposed') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-sero-exposed'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Sero-exposed'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_sero_exposed"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/arvs-started') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-arvs-started'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'ARVs started'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_arvs_started"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/eye-care') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-eye-care'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Eye care'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_eye_care"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/vitamin-k') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-vitamin-k'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Vitamin K'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_vitamin_k"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'immediate-care/cord-care-with-chx') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-care-cord-care-with-chlorhexidine'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Cord care with chlorhexidine'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_care_cord_care_with_chlorhexidine"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"immediateCarePanel"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Newborn follow-up, one Observation per round ────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">The chart is a grid of morning, evening and night over four days. The</span>
<span style="color: navy">// </span><span style="color: green">questionnaire takes it as a repeating group, and each repeat becomes one</span>
<span style="color: navy">// </span><span style="color: green">Observation whose effective time is the round's own date -- not the</span>
<span style="color: navy">// </span><span style="color: green">response's authored time, which would collapse twelve rounds onto one</span>
<span style="color: navy">// </span><span style="color: green">instant and make the chart unreadable.</span>
qr.item<b> as </b><span style="color: maroon">fg</span><b> where </b><span style="color: navy">(</span>linkId = 'follow-up'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> fg.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round') and item.answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetExamCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> g<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-follow-up-round'</span> <i>"cd"</i><span style="color: navy">;</span>
g<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Newborn follow-up round'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">The round's own date overrides the base group's effective time.</span>
g.item<b> as </b><span style="color: maroon">d</span><b> where </b><span style="color: navy">(</span>linkId = 'follow-up/round/date'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> d.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> <span style="color: navy">// </span><span style="color: green">Observation.effective[x] takes dateTime, Period, Timing or instant</span>
<span style="color: navy">// </span><span style="color: green">and no date, so the round's date is cast rather than copied.</span>
a.value<b> as </b><span style="color: maroon">dt</span><span style="color: navy"><b> -> </b></span>obs.effective = <b>cast</b><span style="color: navy">(</span><span style="color: maroon">dt</span><span style="color: navy">, </span><span style="color: blue">'dateTime'</span><span style="color: navy">)</span> <i>"roundDate"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"roundDateRule"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Which staff member did the round overrides the response's source, so a</span>
<span style="color: navy">// </span><span style="color: green">chart filled in at the end of a shift still attributes each round.</span>
g.item<b> as </b><span style="color: maroon">s</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/staff') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> s.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">ref</span><span style="color: navy"><b> -> </b></span>obs.performer = <span style="color: maroon">ref</span> <i>"roundPerformer"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"roundPerformerRule"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/shift') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-round-of-the-day'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Round of the day'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_round_of_the_day"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/day-of-life') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-day-of-life'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Day of life'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_day_of_life"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/respiratory') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-respiratory'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Respiratory'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_respiratory"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/breastfeeding') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-breastfeeding'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Breastfeeding'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_breastfeeding"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/cord') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'cord-condition'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Cord condition'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_cord_condition"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/jaundice') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'grade-jaundice-grade'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Jaundice grade'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_grade_jaundice_grade"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/tone') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-tone'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Tone'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_tone"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/fontanelle') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-fontanelle'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Fontanelle'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_fontanelle"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/urine') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-urine'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Urine'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_urine"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/stool') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-stool'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Stool'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_stool"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/eyes') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-round-eyes'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Eyes'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_newborn_round_eyes"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'follow-up/round/weight') and answer.value.exists()<span style="color: navy">)</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> it<span style="color: navy"><b> -> </b></span>comp.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'29463-7'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body weight'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>comp<b> then </b>SetComponentValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>"value"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"comp_29463_7"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>linkId = 'follow-up/round/remarks'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </b></span> obs.note<b> as </b><span style="color: maroon">n</span><span style="color: navy">, </span> n.text = <span style="color: maroon">txt</span> <i>"text"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"note"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"followUpRound"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"followUpGroup"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Resuscitation ───────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">A Procedure, and only when it was actually done. `status = 'completed'`</span>
<span style="color: navy">// </span><span style="color: green">because the chart is written after the event, and the duration becomes</span>
<span style="color: navy">// </span><span style="color: green">Procedure.occurrenceTiming.repeat.duration rather than a note, so it can be</span>
<span style="color: navy">// </span><span style="color: green">audited across births.</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>linkId = 'resuscitation'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'resuscitation/done') and (answer.value.ofType(Coding).code = 'Y')<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Procedure'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">proc</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> proc<span style="color: navy">, </span> entry<b> then </b>BuildProcedureBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">proc</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>proc.status = <span style="color: blue">'completed'</span> <i>"status"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">A local code, not SNOMED. SNOMED almost certainly has a concept for</span>
<span style="color: navy">// </span><span style="color: green">newborn resuscitation, but tx.fhir.org's expansion endpoint ignores a</span>
<span style="color: navy">// </span><span style="color: green">text filter on the SNOMED implicit value set, so it could only have</span>
<span style="color: navy">// </span><span style="color: green">been guessed at -- and a guessed SNOMED code is worse than a local one,</span>
<span style="color: navy">// </span><span style="color: green">because everyone downstream trusts SNOMED and nobody re-checks it.</span>
it<span style="color: navy"><b> -> </b></span>proc.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'newborn-resuscitation'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Resuscitation of a newborn'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -> </b></span>proc.occurrence = <span style="color: maroon">t</span> <i>"occurrence"</i><span style="color: navy">;</span>
qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -> </b></span>proc.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -> </b></span> proc.performer<b> as </b><span style="color: maroon">p</span><span style="color: navy">, </span> p.actor = <span style="color: maroon">src</span> <i>"performer"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">sp</span><b> where </b><span style="color: navy">(</span>linkId = 'resuscitation/specify'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> sp.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -> </b></span> proc.note<b> as </b><span style="color: maroon">n</span><span style="color: navy">, </span> n.text = <span style="color: maroon">txt</span> <i>"specifyNote"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"specifyRule"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">du</span><b> where </b><span style="color: navy">(</span>(linkId = 'resuscitation/duration') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> du.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span> proc.report<b> as </b><span style="color: maroon">rep</span><span style="color: navy">, </span> rep.display = <span style="color: blue">'Resuscitation duration recorded on the newborn observation chart'</span> <i>"durationRef"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"durationRule"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"resuscitationProcedure"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"resuscitationGroup"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">── Discharge ───────────────────────────────────────────────────────────</span>
qr.item<b> as </b><span style="color: maroon">g</span><b> where </b><span style="color: navy">(</span>linkId = 'discharge'<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'discharge/weight') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetVitalSignsCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'29463-7'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'Body weight'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>obs.value = <span style="color: maroon">v</span> <i>"set"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"measure_29463_7"</i><span style="color: navy">;</span>
g.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'discharge/immunisation-given') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.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><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span> obs<span style="color: navy">, </span> entry<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"base"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"category"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>obs.code<b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cc.coding<b> as </b><span style="color: maroon">cg</span><b> then</b><span style="color: navy"> {
</span> it<span style="color: navy"><b> -> </b></span>cg.system = <span style="color: blue">'http://loinc.org'</span> <i>"sys"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.code = <span style="color: blue">'11369-6'</span> <i>"cd"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cg.display = <span style="color: blue">'History of Immunization note'</span> <i>"dsp"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"coding"</i><span style="color: navy">;</span>
it<span style="color: navy"><b> -> </b></span>cc.text = <span style="color: blue">'Immunisation given before discharge'</span> <i>"codeText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"code"</i><span style="color: navy">;</span>
it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </b></span>obs.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"dischargeImmunisationObservation"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"dischargeGroup"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Shared scaffolding. Repeated in each map rather than imported: the transform</span>
<span style="color: navy">// </span><span style="color: green">engine resolves `imports` against whatever StructureMaps happen to be on the</span>
<span style="color: navy">// </span><span style="color: green">server, and a form that stops extracting because a shared map was not</span>
<span style="color: navy">// </span><span style="color: green">uploaded is a worse failure than a duplicated group.</span>
<span style="color: navy">// </span><span style="color: green">Two notes on what the publisher's StructureMap validator says about this file.</span>
<span style="color: navy">// </span><span style="color: green">Source parameters below are left untyped on purpose. Writing `: Element` makes</span>
<span style="color: navy">// </span><span style="color: green">the validator compare QuestionnaireResponse.item against the literal 'Element'</span>
<span style="color: navy">// </span><span style="color: green">and report them as incompatible with each other, which is noise, not a finding.</span>
<span style="color: navy">// </span><span style="color: green">`evaluate(context, expression)` is flagged as "takes 1 parameter but 2 were</span>
<span style="color: navy">// </span><span style="color: green">found". Leave it. The FML parser in the same jar refuses the one-argument form</span>
<span style="color: navy">// </span><span style="color: green">outright -- it wants a parameter, a comma, then the FHIRPath -- so the</span>
<span style="color: navy">// </span><span style="color: green">publisher is objecting to what its own compiler emits. Two arguments is the</span>
<span style="color: navy">// </span><span style="color: green">only form that compiles, and it is what the R5 transform engine executes.</span>
<span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<b>group </b>BuildObsBase<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>obs<b> then </b>SetResponseProvenance<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">)</span> <i>"responseProvenance"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span><b> then </b>SetObservationFullUrl<span style="color: navy">(</span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"idAndFullUrl"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>request.method = <span style="color: blue">'POST'</span> <i>"requestMethod"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>request.url = <span style="color: blue">'Observation'</span> <i>"requestUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"entryRequest"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>obs.status = <span style="color: blue">'final'</span> <i>"status"</i><span style="color: navy">;</span>
qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -> </b></span>obs.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -> </b></span>obs.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -> </b></span>obs.effective = <span style="color: maroon">t</span> <i>"effective"</i><span style="color: navy">;</span>
qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -> </b></span>obs.performer = <span style="color: maroon">src</span> <i>"performerFromSource"</i><span style="color: navy">;</span>
qr<b> where </b><span style="color: navy">(</span>source.exists().not()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span> qr.author<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -> </b></span>obs.performer = <span style="color: maroon">a</span> <i>"performerFromAuthor"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"performerFallback"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">A stored response's id already reads "QuestionnaireResponse/<id>", so it is</span>
<span style="color: navy">// </span><span style="color: green">a relative reference as it stands. The hasValue() guard is what stops an</span>
<span style="color: navy">// </span><span style="color: green">unsaved response -- one posted straight to $extract rather than saved first</span>
<span style="color: navy">// </span><span style="color: green">-- from writing "QuestionnaireResponse/null" into the record.</span>
qr.id<b> as </b><span style="color: maroon">qid</span><b> where </b><span style="color: navy">(</span>$this.hasValue()<span style="color: navy">)</span><span style="color: navy"><b> -> </b></span> obs.derivedFrom = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Reference'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ref</span><span style="color: navy">, </span> ref.reference = <span style="color: maroon">qid</span> <i>"linkQuestionnaireResponse"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetObservationFullUrl<span style="color: navy">(</span><b>source</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span> obs.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -> </b></span>entry.fullUrl = <b>append</b><span style="color: navy">(</span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/Observation/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>"assignFullUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">The two answer shapes a component can carry. Both read the answer through the</span>
<span style="color: navy">// </span><span style="color: green">untyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its</span>
<span style="color: navy">// </span><span style="color: green">typed property name fails at transform time on HAPI R5 with "Attempt to read</span>
<span style="color: navy">// </span><span style="color: green">invalid property ... on QuestionnaireResponse.item.answer".</span>
<b>group </b>SetComponentCodedValue<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span>, <b>target</b> <span style="color: maroon">comp</span><span style="color: navy">)</span><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -> </b></span>comp.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span> cv<span style="color: navy"><b> -> </b></span>cc.coding = <span style="color: maroon">cv</span> <i>"valueCoding"</i><span style="color: navy">;</span>
cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -> </b></span>cc.text = <span style="color: maroon">d</span> <i>"valueText"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"codedValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"componentAnswer"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetComponentValue<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span>, <b>target</b> <span style="color: maroon">comp</span><span style="color: navy">)</span><span style="color: navy"> {
</span> it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span> a.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -> </b></span>comp.value = <span style="color: maroon">v</span> <i>"plainValue"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"componentAnswer"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetSurveyCategory<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <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> qr<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> qr<span style="color: navy"><b> -> </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"categorySystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.code = <span style="color: blue">'survey'</span> <i>"categoryCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.display = <span style="color: blue">'Survey'</span> <i>"categoryDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"categoryCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetVitalSignsCategory<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <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> qr<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> qr<span style="color: navy"><b> -> </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"categorySystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.code = <span style="color: blue">'vital-signs'</span> <i>"categoryCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.display = <span style="color: blue">'Vital Signs'</span> <i>"categoryDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"categoryCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetExamCategory<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <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> qr<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> qr<span style="color: navy"><b> -> </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>"categorySystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.code = <span style="color: blue">'exam'</span> <i>"categoryCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>coding.display = <span style="color: blue">'Exam'</span> <i>"categoryDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"categoryCoding"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"category"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>BuildProcedureBase<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">r</span><span style="color: navy"> : </span>Procedure, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>r<b> then </b>SetResponseProvenance<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">r</span><span style="color: navy">)</span> <i>"responseProvenance"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>r.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span><b> then </b>SetProcedureFullUrl<span style="color: navy">(</span><span style="color: maroon">r</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>"idAndFullUrl"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>request.method = <span style="color: blue">'POST'</span> <i>"requestMethod"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>request.url = <span style="color: blue">'Procedure'</span> <i>"requestUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"entryRequest"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">The response's own time, as a floor, the way BuildObsBase does it. A rule</span>
<span style="color: navy">// </span><span style="color: green">that reads a time off the form overwrites this; without it a procedure whose</span>
<span style="color: navy">// </span><span style="color: green">date column was taken off on review has no time at all, and a procedure with</span>
<span style="color: navy">// </span><span style="color: green">no time cannot be ordered against the rest of the admission.</span>
qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -> </b></span>r.occurrence = <span style="color: maroon">t</span> <i>"occurrenceFallback"</i><span style="color: navy">;</span>
qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -> </b></span>r.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
<span style="color: navy">}
</span><b>group </b>SetProcedureFullUrl<span style="color: navy">(</span><b>source</b> <span style="color: maroon">r</span><span style="color: navy"> : </span>Procedure, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span> r.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -> </b></span>entry.fullUrl = <b>append</b><span style="color: navy">(</span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/Procedure/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>"assignFullUrl"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span><span style="color: navy">// </span><span style="color: green">── Provenance and tenancy ───────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Two tags on everything this map creates. The first says which questionnaire</span>
<span style="color: navy">// </span><span style="color: green">produced it, so a form that reopens mid-admission recalls its own earlier</span>
<span style="color: navy">// </span><span style="color: green">entries and not another form's. The second copies the tenant tags off the</span>
<span style="color: navy">// </span><span style="color: green">response, because nothing else on the path puts them there.</span>
<span style="color: navy">// </span><span style="color: green">The code is the form's document type, not the questionnaire's id: every</span>
<span style="color: navy">// </span><span style="color: green">environment mints its own ids, and there is only one set of maps, so an id</span>
<span style="color: navy">// </span><span style="color: green">here would tie the tag to whichever environment stamped it.</span>
<span style="color: navy">// </span><span style="color: green">── Provenance and tenancy ───────────────────────────────────────────────────</span>
<b>group </b>SetResponseProvenance<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">r</span><span style="color: navy">)</span><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>r.meta<b> as </b><span style="color: maroon">m</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>m.tag<b> as </b><span style="color: maroon">t</span><b> then</b><span style="color: navy"> {
</span> qr<span style="color: navy"><b> -> </b></span>t.system = <span style="color: blue">'http://slade360edi.com/questionnaire-provenance'</span> <i>"provenanceSystem"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>t.code = <span style="color: blue">'newborn-observation-chart'</span> <i>"provenanceCode"</i><span style="color: navy">;</span>
qr<span style="color: navy"><b> -> </b></span>t.display = <span style="color: blue">'Newborn observation chart'</span> <i>"provenanceDisplay"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"provenanceTag"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"provenanceMeta"</i><span style="color: navy">;</span>
<span style="color: navy">// </span><span style="color: green">Every tag the response carries, onto the resource. `meta` is 0..1, so this</span>
<span style="color: navy">// </span><span style="color: green">lands on the same meta the rule above created rather than a second one.</span>
qr.meta<b> as </b><span style="color: maroon">qm</span><b> then</b><span style="color: navy"> {
</span> qm.tag<b> as </b><span style="color: maroon">qt</span><span style="color: navy"><b> -> </b></span> r.meta<b> as </b><span style="color: maroon">m</span><span style="color: navy">, </span> m.tag = <span style="color: maroon">qt</span> <i>"copyTag"</i><span style="color: navy">;</span>
<span style="color: navy">}</span> <i>"tenantTags"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<url
value="https://fhir.slade360.co.ke/fhir/StructureMap/ExtractNewbornObservationChart"/>
<version value="0.1.0"/>
<name value="ExtractNewbornObservationChart"/>
<title value="Newborn Observation Chart Extraction"/>
<status value="active"/>
<date value="2026-09-14T06:31:13+00:00"/>
<publisher value="Kathurima Kimathi"/>
<contact>
<name value="Kathurima Kimathi"/>
<telecom>
<system value="url"/>
<value value="https://www.linkedin.com/in/kathurima-kimathi/"/>
</telecom>
<telecom>
<system value="email"/>
<value value="kathurimakimathi415@gmail.com"/>
</telecom>
</contact>
<contact>
<name value="Oscar John"/>
<telecom>
<system value="email"/>
<value value="oscarjohnotieno@gmail.com"/>
<use value="work"/>
</telecom>
</contact>
<contact>
<name value="Kennedy Omondi"/>
<telecom>
<system value="email"/>
<value value="kennankole@gmail.com"/>
<use value="work"/>
</telecom>
</contact>
<description
value="The newborn chart out as: one Observation per Apgar time point, coded to the LOINC panel with the five weighted signs as components and the total as its value, computed by the map when the client submits none; one Observation per timed skin-to-skin round; one Observation per follow-up round over the first four days; the birth and discharge weights as their own Observations; the immediate newborn care given as one panel rather than as Immunization or MedicationAdministration resources, which the chart gives no doses or times for; and a Procedure for resuscitation when it was done."/>
<structure>
<url
value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
<mode value="source"/>
<alias value="QR"/>
</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/Procedure"/>
<mode value="target"/>
<alias value="Procedure"/>
</structure>
<group>
<name value="ExtractNewbornObservationChart"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="setBundleType"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="transaction"/>
</parameter>
</target>
</rule>
<rule>
<name value="bioGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition value="linkId = 'bio'"/>
</source>
<rule>
<name value="measure_8339_4"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'bio/birth-weight') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8339-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Birth weight Measured"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="set"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="measure_11884_4"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'bio/gestational-age') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="11884-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Gestational age Estimated"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="set"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="coded_cord_condition"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'bio/delivery') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="cord-mode-of-delivery"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Mode of delivery"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="meconiumObservation"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'bio/meconium-stained-liquor') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetExamCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="sign-meconium-stained-liquor"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Meconium stained liquor"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation
value="── Birth details ───────────────────────────────────────────────────────"/>
</rule>
<rule>
<name value="apgarGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="ag"/>
<condition value="linkId = 'apgar'"/>
</source>
<rule>
<name value="apgarPanel"/>
<source>
<context value="ag"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'apgar/1-minute') and (item.answer.value.ofType(Coding).count() = 5)"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="48334-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar panel"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="totalValue"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpretation"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="interpretation"/>
<variable value="interp"/>
</target>
<rule>
<name value="interpCoding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="interp"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="interpSystem"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpCode"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpDisplay"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.exists(), item.where(linkId = 'apgar/1-minute').item.where(linkId = 'apgar/1-minute/total').answer.value.truncate(), item.where(linkId = 'apgar/1-minute').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="Seven or more is normal, four to six needs support, three or less is
critically low. The chart prints those bands at its foot, so the
interpretation says which band the total fell in rather than leaving a
reader to remember them."/>
</rule>
<rule>
<name value="comp_32406_1"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/1-minute/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32406-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar Appearance"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32407_9"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/1-minute/pulse') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32407-9"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar Pulse"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32409_5"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/1-minute/grimace') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32409-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar Grimace"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32408_7"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/1-minute/activity') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32408-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar Activity"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32410_3"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/1-minute/respiration') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32410-3"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="1 minute Apgar Respiration"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="apgarPanel2"/>
<source>
<context value="ag"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'apgar/5-minutes') and (item.answer.value.ofType(Coding).count() = 5)"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="48333-9"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar panel"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="totalValue"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpretation"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="interpretation"/>
<variable value="interp"/>
</target>
<rule>
<name value="interpCoding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="interp"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="interpSystem"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpCode"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpDisplay"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/5-minutes').item.where(linkId = 'apgar/5-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/5-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="Seven or more is normal, four to six needs support, three or less is
critically low. The chart prints those bands at its foot, so the
interpretation says which band the total fell in rather than leaving a
reader to remember them."/>
</rule>
<rule>
<name value="comp_32411_1"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/5-minutes/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32411-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar Appearance"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32412_9"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/5-minutes/pulse') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32412-9"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar Pulse"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32414_5"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/5-minutes/grimace') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32414-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar Grimace"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32413_7"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/5-minutes/activity') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32413-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar Activity"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32415_2"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/5-minutes/respiration') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32415-2"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="5 minutes Apgar Respiration"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="apgarPanel3"/>
<source>
<context value="ag"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'apgar/10-minutes') and (item.answer.value.ofType(Coding).count() = 5)"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="48332-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar panel"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="totalValue"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpretation"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="interpretation"/>
<variable value="interp"/>
</target>
<rule>
<name value="interpCoding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="interp"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="interpSystem"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpCode"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'N', iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'A', 'LL'))"/>
</parameter>
</target>
</rule>
<rule>
<name value="interpDisplay"/>
<source>
<context value="g"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueId value="ag"/>
</parameter>
<parameter>
<valueString
value="iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 7, 'Normal', iif(iif(item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.exists(), item.where(linkId = 'apgar/10-minutes').item.where(linkId = 'apgar/10-minutes/total').answer.value.truncate(), item.where(linkId = 'apgar/10-minutes').item.answer.value.ofType(Coding).code.select(iif($this.endsWith('-2'), 2, iif($this.endsWith('-1'), 1, 0))).aggregate($this + $total, 0)) >= 4, 'Abnormal', 'Critically low'))"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="Seven or more is normal, four to six needs support, three or less is
critically low. The chart prints those bands at its foot, so the
interpretation says which band the total fell in rather than leaving a
reader to remember them."/>
</rule>
<rule>
<name value="comp_32401_2"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/10-minutes/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32401-2"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar Appearance"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32402_0"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/10-minutes/pulse') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32402-0"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar Pulse"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32404_6"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/10-minutes/grimace') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32404-6"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar Grimace"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32403_8"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/10-minutes/activity') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32403-8"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar Activity"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_32405_3"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'apgar/10-minutes/respiration') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="32405-3"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="10 minutes Apgar Respiration"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<documentation
value="── Apgar, one Observation per time point ───────────────────────────────
Coded to the LOINC panel for its time point, with the five signs as
components under their own time-specific LOINC codes -- LOINC publishes
separate codes for the one-, five- and ten-minute variants of each sign, so
a five-minute colour is never mistaken for a one-minute one.
The total is the Observation's value, taken from the form's calculated
field if the client filled it, and otherwise summed from the answer codes.
The weight is the tail of the code: apgar-colour-2 scores two. A client
without a FHIRPath engine -- the questionnaire tester among them -- submits
the total empty, and this is what makes such a submission still usable.
Guarded on all five signs being answered at that time point. An Apgar of 6
out of three signs assessed is not a lower Apgar, it is a different number,
and nothing in the resource would say which it was."/>
</rule>
<rule>
<name value="skinToSkinGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="sg"/>
<condition value="linkId = 'skin-to-skin'"/>
</source>
<rule>
<name value="skinToSkinRound"/>
<source>
<context value="sg"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-observation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Skin-to-skin observation — at 15 minutes"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="comp_8867_4"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes/heart-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8867-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Heart rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_8310_5"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes/temperature') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8310-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body temperature"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_9279_1"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes/respiratory-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="9279-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Respiratory rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_colour"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-colour"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Colour"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_position_sniffing"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/15-minutes/position-sniffing') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-position-sniffing"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Position: sniffing"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="skinToSkinRound2"/>
<source>
<context value="sg"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-observation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString
value="Skin-to-skin observation — at 30 minutes"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="comp_8867_42"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes/heart-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8867-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Heart rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_8310_52"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes/temperature') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8310-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body temperature"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_9279_12"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes/respiratory-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="9279-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Respiratory rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_colour2"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-colour"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Colour"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_position_sniffing2"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/30-minutes/position-sniffing') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-position-sniffing"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Position: sniffing"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="skinToSkinRound3"/>
<source>
<context value="sg"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'skin-to-skin/1-hour') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-observation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation — at 1 hour"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="comp_8867_43"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/1-hour/heart-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8867-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Heart rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_8310_53"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/1-hour/temperature') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8310-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body temperature"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_9279_13"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/1-hour/respiratory-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="9279-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Respiratory rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_colour3"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/1-hour/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-colour"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Colour"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_position_sniffing3"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/1-hour/position-sniffing') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-position-sniffing"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Position: sniffing"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="skinToSkinRound4"/>
<source>
<context value="sg"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'skin-to-skin/2-hours') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-observation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Skin-to-skin observation — at 2 hours"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="comp_8867_44"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/2-hours/heart-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8867-4"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Heart rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_8310_54"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/2-hours/temperature') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="8310-5"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body temperature"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_9279_14"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/2-hours/respiratory-rate') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="9279-1"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Respiratory rate"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_colour4"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/2-hours/colour') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-colour"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Colour"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_skin_to_skin_position_sniffing4"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/2-hours/position-sniffing') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="skin-to-skin-position-sniffing"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Position: sniffing"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="breastFedObservation"/>
<source>
<context value="sg"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'skin-to-skin/breast-fed-first-hour') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="63895-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Breastfeeding status"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Breast fed in the first hour"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation
value="── Skin-to-skin, one Observation per timed round ───────────────────────
Four rounds in the first two hours. One Observation each rather than one
panel of twenty components, because these are a time series: the point of
charting a heart rate at fifteen and thirty minutes and one and two hours is
to see it change, and a single Observation cannot hold four effective times.
Each carries its offset from birth as the code text, since the chart gives
the offset rather than a clock time and the response's authored time is when
the form was written, not when the reading was taken."/>
</rule>
<rule>
<name value="immediateCarePanel"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'immediate-care') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="essential-newborn-care-given"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Essential newborn care given"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_obvious_malformation"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/obvious-malformation') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-obvious-malformation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Obvious malformation"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_delayed_cord_clamp"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/delayed-cord-clamp') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-delayed-cord-clamp"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Delayed cord clamp"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_sero_exposed"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/sero-exposed') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-sero-exposed"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Sero-exposed"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_arvs_started"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/arvs-started') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-arvs-started"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="ARVs started"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_eye_care"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/eye-care') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-eye-care"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Eye care"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_vitamin_k"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/vitamin-k') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-care-vitamin-k"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Vitamin K"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_care_cord_care_with_chlorhexidine"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'immediate-care/cord-care-with-chx') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="newborn-care-cord-care-with-chlorhexidine"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Cord care with chlorhexidine"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<documentation
value="── Immediate newborn care given ────────────────────────────────────────
One panel, not Immunization or MedicationAdministration resources. The
chart ticks that vitamin K, eye ointment, chlorhexidine cord care, delayed
clamping and ARVs were given and records no dose, no route and no time.
A MedicationAdministration built from a tick claims a dose nobody gave."/>
</rule>
<rule>
<name value="followUpGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="fg"/>
<condition value="linkId = 'follow-up'"/>
</source>
<rule>
<name value="followUpRound"/>
<source>
<context value="fg"/>
<element value="item"/>
<variable value="g"/>
<condition
value="(linkId = 'follow-up/round') and item.answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetExamCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="g"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-follow-up-round"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="g"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Newborn follow-up round"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="roundDateRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="d"/>
<condition value="linkId = 'follow-up/round/date'"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="d"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="roundDate"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="dt"/>
</source>
<target>
<context value="obs"/>
<element value="effective"/>
<transform value="cast"/>
<parameter>
<valueId value="dt"/>
</parameter>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<documentation
value="Observation.effective[x] takes dateTime, Period, Timing or instant
and no date, so the round's date is cast rather than copied."/>
</rule>
</rule>
<documentation
value="The round's own date overrides the base group's effective time."/>
</rule>
<rule>
<name value="roundPerformerRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="s"/>
<condition
value="(linkId = 'follow-up/round/staff') and answer.value.exists()"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="s"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="roundPerformer"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="ref"/>
</source>
<target>
<context value="obs"/>
<element value="performer"/>
<transform value="copy"/>
<parameter>
<valueId value="ref"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="Which staff member did the round overrides the response's source, so a
chart filled in at the end of a shift still attributes each round."/>
</rule>
<rule>
<name value="comp_newborn_round_round_of_the_day"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/shift') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-round-of-the-day"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Round of the day"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_day_of_life"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/day-of-life') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-day-of-life"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Day of life"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_respiratory"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/respiratory') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-respiratory"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Respiratory"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_breastfeeding"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/breastfeeding') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-breastfeeding"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Breastfeeding"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_cord_condition"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/cord') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="cord-condition"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Cord condition"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_grade_jaundice_grade"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/jaundice') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="grade-jaundice-grade"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Jaundice grade"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentCodedValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_tone"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/tone') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-tone"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Tone"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_fontanelle"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/fontanelle') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-fontanelle"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Fontanelle"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_urine"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/urine') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-urine"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Urine"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_stool"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/stool') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-stool"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Stool"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_newborn_round_eyes"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/eyes') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-round-eyes"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Eyes"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="comp_29463_7"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'follow-up/round/weight') and answer.value.exists()"/>
</source>
<target>
<context value="obs"/>
<element value="component"/>
<variable value="comp"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="29463-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body weight"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="it"/>
</source>
<target>
<context value="comp"/>
</target>
<dependent>
<name value="SetComponentValue"/>
<parameter>
<valueId value="it"/>
</parameter>
<parameter>
<valueId value="comp"/>
</parameter>
</dependent>
</rule>
</rule>
<rule>
<name value="note"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition value="linkId = 'follow-up/round/remarks'"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="obs"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation
value="── Newborn follow-up, one Observation per round ────────────────────────
The chart is a grid of morning, evening and night over four days. The
questionnaire takes it as a repeating group, and each repeat becomes one
Observation whose effective time is the round's own date -- not the
response's authored time, which would collapse twelve rounds onto one
instant and make the chart unreadable."/>
</rule>
<rule>
<name value="resuscitationGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition value="linkId = 'resuscitation'"/>
</source>
<rule>
<name value="resuscitationProcedure"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'resuscitation/done') and (answer.value.ofType(Coding).code = 'Y')"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="proc"/>
<transform value="create"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="proc"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildProcedureBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="proc"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="status"/>
<source>
<context value="it"/>
</source>
<target>
<context value="proc"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="completed"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="proc"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="https://fhir.slade360.co.ke/fhir/CodeSystem/concept-codesystem"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-resuscitation"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Resuscitation of a newborn"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="A local code, not SNOMED. SNOMED almost certainly has a concept for
newborn resuscitation, but tx.fhir.org's expansion endpoint ignores a
text filter on the SNOMED implicit value set, so it could only have
been guessed at -- and a guessed SNOMED code is worse than a local one,
because everyone downstream trusts SNOMED and nobody re-checks it."/>
</rule>
<rule>
<name value="occurrence"/>
<source>
<context value="qr"/>
<element value="authored"/>
<variable value="t"/>
</source>
<target>
<context value="proc"/>
<element value="occurrence"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
<rule>
<name value="encounter"/>
<source>
<context value="qr"/>
<element value="encounter"/>
<variable value="e"/>
</source>
<target>
<context value="proc"/>
<element value="encounter"/>
<transform value="copy"/>
<parameter>
<valueId value="e"/>
</parameter>
</target>
</rule>
<rule>
<name value="performer"/>
<source>
<context value="qr"/>
<element value="source"/>
<variable value="src"/>
</source>
<target>
<context value="proc"/>
<element value="performer"/>
<variable value="p"/>
</target>
<target>
<context value="p"/>
<element value="actor"/>
<transform value="copy"/>
<parameter>
<valueId value="src"/>
</parameter>
</target>
</rule>
<rule>
<name value="specifyRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="sp"/>
<condition value="linkId = 'resuscitation/specify'"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="sp"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="specifyNote"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="txt"/>
</source>
<target>
<context value="proc"/>
<element value="note"/>
<variable value="n"/>
</target>
<target>
<context value="n"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="durationRule"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="du"/>
<condition
value="(linkId = 'resuscitation/duration') and answer.value.exists()"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="du"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="durationRef"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="proc"/>
<element value="report"/>
<variable value="rep"/>
</target>
<target>
<context value="rep"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString
value="Resuscitation duration recorded on the newborn observation chart"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation
value="── Resuscitation ───────────────────────────────────────────────────────
A Procedure, and only when it was actually done. `status = 'completed'`
because the chart is written after the event, and the duration becomes
Procedure.occurrenceTiming.repeat.duration rather than a note, so it can be
audited across births."/>
</rule>
<rule>
<name value="dischargeGroup"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="g"/>
<condition value="linkId = 'discharge'"/>
</source>
<rule>
<name value="measure_29463_7"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'discharge/weight') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetVitalSignsCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="29463-7"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Body weight"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="set"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="dischargeImmunisationObservation"/>
<source>
<context value="g"/>
<element value="item"/>
<variable value="it"/>
<condition
value="(linkId = 'discharge/immunisation-given') and answer.value.exists()"/>
</source>
<target>
<context value="bundle"/>
<element value="entry"/>
<variable value="entry"/>
</target>
<target>
<context value="entry"/>
<element value="resource"/>
<variable value="obs"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<rule>
<name value="base"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<target>
<context value="entry"/>
</target>
<dependent>
<name value="BuildObsBase"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetSurveyCategory"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="it"/>
</source>
<target>
<context value="obs"/>
<element value="code"/>
<variable value="cc"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<variable value="cg"/>
</target>
<rule>
<name value="sys"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
</rule>
<rule>
<name value="cd"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="11369-6"/>
</parameter>
</target>
</rule>
<rule>
<name value="dsp"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cg"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="History of Immunization note"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="codeText"/>
<source>
<context value="it"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueString value="Immunisation given before discharge"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="answer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="obs"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation
value="── Discharge ───────────────────────────────────────────────────────────"/>
</rule>
</group>
<group>
<name value="BuildObsBase"/>
<documentation
value="─────────────────────────────────────────────────────────────────────────────
Shared scaffolding. Repeated in each map rather than imported: the transform
engine resolves `imports` against whatever StructureMaps happen to be on the
server, and a form that stops extracting because a shared map was not
uploaded is a worse failure than a duplicated group.
Two notes on what the publisher's StructureMap validator says about this file.
Source parameters below are left untyped on purpose. Writing `: Element` makes
the validator compare QuestionnaireResponse.item against the literal 'Element'
and report them as incompatible with each other, which is noise, not a finding.
`evaluate(context, expression)` is flagged as "takes 1 parameter but 2 were
found". Leave it. The FML parser in the same jar refuses the one-argument form
outright -- it wants a parameter, a comma, then the FHIRPath -- so the
publisher is objecting to what its own compiler emits. Two arguments is the
only form that compiles, and it is what the R5 transform engine executes.
─────────────────────────────────────────────────────────────────────────────"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="responseProvenance"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
</target>
<dependent>
<name value="SetResponseProvenance"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="obs"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="idAndFullUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="id"/>
<transform value="uuid"/>
</target>
<dependent>
<name value="SetObservationFullUrl"/>
<parameter>
<valueId value="obs"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="entryRequest"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="entry"/>
<element value="request"/>
<variable value="request"/>
</target>
<rule>
<name value="requestMethod"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
</rule>
<rule>
<name value="requestUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="qr"/>
<element value="subject"/>
<variable value="s"/>
</source>
<target>
<context value="obs"/>
<element value="subject"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="encounter"/>
<source>
<context value="qr"/>
<element value="encounter"/>
<variable value="e"/>
</source>
<target>
<context value="obs"/>
<element value="encounter"/>
<transform value="copy"/>
<parameter>
<valueId value="e"/>
</parameter>
</target>
</rule>
<rule>
<name value="effective"/>
<source>
<context value="qr"/>
<element value="authored"/>
<variable value="t"/>
</source>
<target>
<context value="obs"/>
<element value="effective"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
<rule>
<name value="performerFromSource"/>
<source>
<context value="qr"/>
<element value="source"/>
<variable value="src"/>
</source>
<target>
<context value="obs"/>
<element value="performer"/>
<transform value="copy"/>
<parameter>
<valueId value="src"/>
</parameter>
</target>
</rule>
<rule>
<name value="performerFallback"/>
<source>
<context value="qr"/>
<condition value="source.exists().not()"/>
</source>
<rule>
<name value="performerFromAuthor"/>
<source>
<context value="qr"/>
<element value="author"/>
<variable value="a"/>
</source>
<target>
<context value="obs"/>
<element value="performer"/>
<transform value="copy"/>
<parameter>
<valueId value="a"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="linkQuestionnaireResponse"/>
<source>
<context value="qr"/>
<element value="id"/>
<variable value="qid"/>
<condition value="$this.hasValue()"/>
</source>
<target>
<context value="obs"/>
<element value="derivedFrom"/>
<variable value="ref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="ref"/>
<element value="reference"/>
<transform value="copy"/>
<parameter>
<valueId value="qid"/>
</parameter>
</target>
<documentation
value="A stored response's id already reads "QuestionnaireResponse/<id>", so it is
a relative reference as it stands. The hasValue() guard is what stops an
unsaved response -- one posted straight to $extract rather than saved first
-- from writing "QuestionnaireResponse/null" into the record."/>
</rule>
</group>
<group>
<name value="SetObservationFullUrl"/>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="source"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="assignFullUrl"/>
<source>
<context value="obs"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="entry"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://fhir.slade360.co.ke/fhir/Observation/"/>
</parameter>
<parameter>
<valueId value="id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetComponentCodedValue"/>
<documentation
value="The two answer shapes a component can carry. Both read the answer through the
untyped `.value` accessor: reading `valueCoding` or `valueQuantity` by its
typed property name fails at transform time on HAPI R5 with "Attempt to read
invalid property ... on QuestionnaireResponse.item.answer"."/>
<input>
<name value="it"/>
<mode value="source"/>
</input>
<input>
<name value="comp"/>
<mode value="target"/>
</input>
<rule>
<name value="componentAnswer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="codedValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="cv"/>
</source>
<target>
<context value="comp"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="valueCoding"/>
<source>
<context value="cv"/>
</source>
<target>
<context value="cc"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="cv"/>
</parameter>
</target>
</rule>
<rule>
<name value="valueText"/>
<source>
<context value="cv"/>
<element value="display"/>
<variable value="d"/>
</source>
<target>
<context value="cc"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="d"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="SetComponentValue"/>
<input>
<name value="it"/>
<mode value="source"/>
</input>
<input>
<name value="comp"/>
<mode value="target"/>
</input>
<rule>
<name value="componentAnswer"/>
<source>
<context value="it"/>
<element value="answer"/>
<listMode value="first"/>
<variable value="a"/>
</source>
<rule>
<name value="plainValue"/>
<source>
<context value="a"/>
<element value="value"/>
<variable value="v"/>
</source>
<target>
<context value="comp"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="v"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="SetSurveyCategory"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="categoryCoding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cat"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="categorySystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="survey"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Survey"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="SetVitalSignsCategory"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="categoryCoding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cat"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="categorySystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="vital-signs"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Vital Signs"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="SetExamCategory"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="obs"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<rule>
<name value="category"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="obs"/>
<element value="category"/>
<variable value="cat"/>
</target>
<rule>
<name value="categoryCoding"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="cat"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="categorySystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="exam"/>
</parameter>
</target>
</rule>
<rule>
<name value="categoryDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="coding"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Exam"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="BuildProcedureBase"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="r"/>
<type value="Procedure"/>
<mode value="target"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="responseProvenance"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
</target>
<dependent>
<name value="SetResponseProvenance"/>
<parameter>
<valueId value="qr"/>
</parameter>
<parameter>
<valueId value="r"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="idAndFullUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
<element value="id"/>
<transform value="uuid"/>
</target>
<dependent>
<name value="SetProcedureFullUrl"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueId value="entry"/>
</parameter>
</dependent>
</rule>
<rule>
<name value="entryRequest"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="entry"/>
<element value="request"/>
<variable value="request"/>
</target>
<rule>
<name value="requestMethod"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
</rule>
<rule>
<name value="requestUrl"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="request"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="occurrenceFallback"/>
<source>
<context value="qr"/>
<element value="authored"/>
<variable value="t"/>
</source>
<target>
<context value="r"/>
<element value="occurrence"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
<documentation
value="The response's own time, as a floor, the way BuildObsBase does it. A rule
that reads a time off the form overwrites this; without it a procedure whose
date column was taken off on review has no time at all, and a procedure with
no time cannot be ordered against the rest of the admission."/>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="qr"/>
<element value="subject"/>
<variable value="s"/>
</source>
<target>
<context value="r"/>
<element value="subject"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetProcedureFullUrl"/>
<input>
<name value="r"/>
<type value="Procedure"/>
<mode value="source"/>
</input>
<input>
<name value="entry"/>
<mode value="target"/>
</input>
<rule>
<name value="assignFullUrl"/>
<source>
<context value="r"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="entry"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://fhir.slade360.co.ke/fhir/Procedure/"/>
</parameter>
<parameter>
<valueId value="id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SetResponseProvenance"/>
<documentation
value="── Provenance and tenancy ───────────────────────────────────────────────────
Two tags on everything this map creates. The first says which questionnaire
produced it, so a form that reopens mid-admission recalls its own earlier
entries and not another form's. The second copies the tenant tags off the
response, because nothing else on the path puts them there.
The code is the form's document type, not the questionnaire's id: every
environment mints its own ids, and there is only one set of maps, so an id
here would tie the tag to whichever environment stamped it.
── Provenance and tenancy ───────────────────────────────────────────────────"/>
<input>
<name value="qr"/>
<type value="QR"/>
<mode value="source"/>
</input>
<input>
<name value="r"/>
<mode value="target"/>
</input>
<rule>
<name value="provenanceMeta"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="r"/>
<element value="meta"/>
<variable value="m"/>
</target>
<rule>
<name value="provenanceTag"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="m"/>
<element value="tag"/>
<variable value="t"/>
</target>
<rule>
<name value="provenanceSystem"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://slade360edi.com/questionnaire-provenance"/>
</parameter>
</target>
</rule>
<rule>
<name value="provenanceCode"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="newborn-observation-chart"/>
</parameter>
</target>
</rule>
<rule>
<name value="provenanceDisplay"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="t"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Newborn observation chart"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="tenantTags"/>
<source>
<context value="qr"/>
<element value="meta"/>
<variable value="qm"/>
</source>
<rule>
<name value="copyTag"/>
<source>
<context value="qm"/>
<element value="tag"/>
<variable value="qt"/>
</source>
<target>
<context value="r"/>
<element value="meta"/>
<variable value="m"/>
</target>
<target>
<context value="m"/>
<element value="tag"/>
<transform value="copy"/>
<parameter>
<valueId value="qt"/>
</parameter>
</target>
</rule>
<documentation
value="Every tag the response carries, onto the resource. `meta` is 0..1, so this
lands on the same meta the rule above created rather than a second one."/>
</rule>
</group>
</StructureMap>