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

: Vital Signs Extraction - XML Representation

Active as of 2025-11-27

Raw xml | Download


<StructureMap xmlns="http://hl7.org/fhir">
  <id value="VitalSignsExtract"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap VitalSignsExtract</b></p><a name="VitalSignsExtract"> </a><a name="hcVitalSignsExtract"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/VitalSignsExtract'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'VitalSignsExtract'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'Vital Signs Extraction'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>

<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R5/questionnaireresponse.html" title="QuestionnaireResponse">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style="color: navy">&quot; </span><b>alias </b>QR <b>as </b><b>source</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R5/bundle.html" title="Bundle">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style="color: navy">&quot; </span><b>alias </b>Bundle <b>as </b><b>target</b>
<b>uses</b><span style="color: navy"> &quot;</span><a href="http://hl7.org/fhir/R5/observation.html" title="Observation">http://hl7.org/fhir/StructureDefinition/Observation</a><span style="color: navy">&quot; </span><b>alias </b>Observation <b>as </b><b>target</b>

<b>group </b>VitalSignsExtract<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> -&gt; </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>&quot;setBundleType&quot;</i><span style="color: navy">;</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '834591352448'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eH</span><span style="color: navy">, </span> eH.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">oH</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oH.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oH</span><span style="color: navy">, </span><span style="color: maroon">eH</span><span style="color: navy">)</span> <i>&quot;baseH&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oH.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catH&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oH.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'8302-2'</span><span style="color: navy">, </span><span style="color: blue">'Body Height'</span><span style="color: navy">)</span> <i>&quot;codeH&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oH</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'cm'</span><span style="color: navy">, </span><span style="color: blue">'centimeter'</span><span style="color: navy">)</span> <i>&quot;valH&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oH</span><span style="color: navy">)</span> <i>&quot;noteH&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;heightObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Height, LOINC 8302-2, cm</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '612376851550'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eW</span><span style="color: navy">, </span> eW.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">oW</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oW.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oW</span><span style="color: navy">, </span><span style="color: maroon">eW</span><span style="color: navy">)</span> <i>&quot;baseW&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oW.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catW&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oW.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'29463-7'</span><span style="color: navy">, </span><span style="color: blue">'Body Weight'</span><span style="color: navy">)</span> <i>&quot;codeW&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oW</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'kg'</span><span style="color: navy">, </span><span style="color: blue">'kilogram'</span><span style="color: navy">)</span> <i>&quot;valW&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oW</span><span style="color: navy">)</span> <i>&quot;noteW&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;weightObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Weight, LOINC 29463-7, kg</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '118945747144'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eP</span><span style="color: navy">, </span> eP.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">oP</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oP.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oP</span><span style="color: navy">, </span><span style="color: maroon">eP</span><span style="color: navy">)</span> <i>&quot;baseP&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oP.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catP&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oP.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'8889-8'</span><span style="color: navy">, </span><span style="color: blue">'Heart rate by Pulse oximetry'</span><span style="color: navy">)</span> <i>&quot;codeP&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oP</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'/min'</span><span style="color: navy">, </span><span style="color: blue">'per minute'</span><span style="color: navy">)</span> <i>&quot;valP&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oP</span><span style="color: navy">)</span> <i>&quot;noteP&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;pulseObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Pulse rate, LOINC 8889-8, /min</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '961601071435'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eS</span><span style="color: navy">, </span> eS.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">oS</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oS.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oS</span><span style="color: navy">, </span><span style="color: maroon">eS</span><span style="color: navy">)</span> <i>&quot;baseS&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oS.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catS&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oS.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'8480-6'</span><span style="color: navy">, </span><span style="color: blue">'Systolic blood pressure'</span><span style="color: navy">)</span> <i>&quot;codeS&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oS</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'mm[Hg]'</span><span style="color: navy">, </span><span style="color: blue">'millimeter of mercury'</span><span style="color: navy">)</span> <i>&quot;valS&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oS</span><span style="color: navy">)</span> <i>&quot;noteS&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;systolicObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Systolic BP, LOINC 8480-6, mm[Hg]</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '354414349687'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eD</span><span style="color: navy">, </span> eD.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">oD</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oD.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oD</span><span style="color: navy">, </span><span style="color: maroon">eD</span><span style="color: navy">)</span> <i>&quot;baseD&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oD.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catD&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oD.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'8462-4'</span><span style="color: navy">, </span><span style="color: blue">'Diastolic blood pressure'</span><span style="color: navy">)</span> <i>&quot;codeD&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oD</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'mm[Hg]'</span><span style="color: navy">, </span><span style="color: blue">'millimeter of mercury'</span><span style="color: navy">)</span> <i>&quot;valD&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oD</span><span style="color: navy">)</span> <i>&quot;noteD&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;diastolicObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Diastolic BP, LOINC 8462-4, mm[Hg]</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '608221161831'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eT</span><span style="color: navy">, </span> eT.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">oT</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oT.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oT</span><span style="color: navy">, </span><span style="color: maroon">eT</span><span style="color: navy">)</span> <i>&quot;baseT&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oT.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catT&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oT.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'8310-5'</span><span style="color: navy">, </span><span style="color: blue">'Body Temperature'</span><span style="color: navy">)</span> <i>&quot;codeT&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oT</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'Cel'</span><span style="color: navy">, </span><span style="color: blue">'degree Celsius'</span><span style="color: navy">)</span> <i>&quot;valT&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oT</span><span style="color: navy">)</span> <i>&quot;noteT&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;tempObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Temperature, LOINC 8310-5, Cel</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '851250344540'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eO2</span><span style="color: navy">, </span> eO2.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">oO2</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oO2.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oO2</span><span style="color: navy">, </span><span style="color: maroon">eO2</span><span style="color: navy">)</span> <i>&quot;baseO2&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oO2.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catO2&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oO2.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'20564-1'</span><span style="color: navy">, </span><span style="color: blue">'Oxygen saturation in Blood'</span><span style="color: navy">)</span> <i>&quot;codeO2&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oO2</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'%'</span><span style="color: navy">, </span><span style="color: blue">'percent'</span><span style="color: navy">)</span> <i>&quot;valO2&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oO2</span><span style="color: navy">)</span> <i>&quot;noteO2&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;spo2Obs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Oxygen saturation, LOINC 20564-1, %</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '222626668435'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eR</span><span style="color: navy">, </span> eR.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">oR</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oR.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oR</span><span style="color: navy">, </span><span style="color: maroon">eR</span><span style="color: navy">)</span> <i>&quot;baseR&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oR.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catR&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oR.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'9279-1'</span><span style="color: navy">, </span><span style="color: blue">'Respiratory rate'</span><span style="color: navy">)</span> <i>&quot;codeR&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oR</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'/min'</span><span style="color: navy">, </span><span style="color: blue">'per minute'</span><span style="color: navy">)</span> <i>&quot;valR&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oR</span><span style="color: navy">)</span> <i>&quot;noteR&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;respObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Respiratory rate, LOINC 9279-1, /min</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '943347546713'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eM</span><span style="color: navy">, </span> eM.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">oM</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oM.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oM</span><span style="color: navy">, </span><span style="color: maroon">eM</span><span style="color: navy">)</span> <i>&quot;baseMUAC&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oM.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catMUAC&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oM.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'9847-5'</span><span style="color: navy">, </span><span style="color: blue">'Circumference'</span><span style="color: navy">)</span> <i>&quot;codeMUAC&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetQuantityValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oM</span><span style="color: navy">, </span><span style="color: blue">'http://unitsofmeasure.org'</span><span style="color: navy">, </span><span style="color: blue">'mm'</span><span style="color: navy">, </span><span style="color: blue">'millimeter'</span><span style="color: navy">)</span> <i>&quot;valMUAC&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oM</span><span style="color: navy">)</span> <i>&quot;noteMUAC&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;muacObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">MUAC, LOINC 9847-5, mm</span>
  qr.item<b> as </b><span style="color: maroon">it</span><b> where </b>linkId = '606919475524'<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eBMI</span><span style="color: navy">, </span> eBMI.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">oBMI</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>oBMI.id<b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oBMI</span><span style="color: navy">, </span><span style="color: maroon">eBMI</span><span style="color: navy">)</span> <i>&quot;baseBMI&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oBMI.category = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span><span style="color: navy">, </span><span style="color: blue">'vital-signs'</span><span style="color: navy">, </span><span style="color: blue">'Vital Signs'</span><span style="color: navy">)</span> <i>&quot;catBMI&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>oBMI.code = <b>cc</b><span style="color: navy">(</span><span style="color: blue">'http://loinc.org'</span><span style="color: navy">, </span><span style="color: blue">'39156-5'</span><span style="color: navy">, </span><span style="color: blue">'Body mass index (BMI) [Ratio]'</span><span style="color: navy">)</span> <i>&quot;codeBMI&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetStringValueFromItem<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oBMI</span><span style="color: navy">)</span> <i>&quot;valBMI&quot;</i><span style="color: navy">;</span>
    it<b> then </b>SetNoteFromNested<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">oBMI</span><span style="color: navy">)</span> <i>&quot;noteBMI&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bmiObs&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">BMI, LOINC 39156-5, as string if provided</span>
<span style="color: navy">}

</span><b>group </b>BuildBaseObs<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> -&gt; </b></span>entry.request<b> as </b><span style="color: maroon">req</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>req.method = <span style="color: blue">'POST'</span> <i>&quot;reqMethod&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>req.url = <span style="color: blue">'Observation'</span> <i>&quot;reqUrl&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;entryRequest&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>obs.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span><b> then </b>SetFullUrl<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>&quot;setIdAndFullUrl&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>obs.status = <span style="color: blue">'final'</span> <i>&quot;setStatus&quot;</i><span style="color: navy">;</span>
  qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -&gt; </b></span>obs.subject = <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">r</span><b> then</b><span style="color: navy"> {
</span>    s.reference<b> as </b><span style="color: maroon">ref</span><span style="color: navy"><b> -&gt; </b></span>r.reference = <span style="color: maroon">ref</span> <i>&quot;subRef&quot;</i><span style="color: navy">;</span>
    s.display<b> as </b><span style="color: maroon">disp</span><span style="color: navy"><b> -&gt; </b></span>r.display = <span style="color: maroon">disp</span> <i>&quot;subDisp&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setSubject&quot;</i><span style="color: navy">;</span>
  qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -&gt; </b></span>obs.effective = <span style="color: maroon">t</span> <i>&quot;setEffective&quot;</i><span style="color: navy">;</span>
  qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -&gt; </b></span>obs.issued = <span style="color: maroon">t</span> <i>&quot;setIssued&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </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">dr</span><b> then</b><span style="color: navy"> {
</span>    qr.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -&gt; </b></span>dr.reference = <b>append</b><span style="color: navy">(</span><span style="color: blue">'QuestionnaireResponse/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>&quot;derRef&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setDerivedFrom&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetQuantityValueFromItem<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span><span style="color: navy"> : </span>Element, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>source</b> <span style="color: maroon">sys</span><span style="color: navy"> : </span>string, <b>source</b> <span style="color: maroon">ucode</span><span style="color: navy"> : </span>string, <b>source</b> <span style="color: maroon">utext</span><span style="color: navy"> : </span>string<span style="color: navy">)</span><span style="color: navy"> {
</span>  it.answer<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -&gt; </b></span>obs.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Quantity'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">q</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> -&gt; </b></span>q.value = <span style="color: maroon">v</span> <i>&quot;qVal&quot;</i><span style="color: navy">;</span>
    sys<span style="color: navy"><b> -&gt; </b></span>q.system = <span style="color: maroon">sys</span> <i>&quot;qSys&quot;</i><span style="color: navy">;</span>
    ucode<span style="color: navy"><b> -&gt; </b></span>q.code = <span style="color: maroon">ucode</span> <i>&quot;qCode&quot;</i><span style="color: navy">;</span>
    utext<span style="color: navy"><b> -&gt; </b></span>q.unit = <span style="color: maroon">utext</span> <i>&quot;qUnit&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;setQuantity&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetStringValueFromItem<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span><span style="color: navy"> : </span>Element, <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>  it.answer<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -&gt; </b></span>obs.value = <span style="color: maroon">a.value</span> <i>&quot;setString&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetNoteFromNested<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span><span style="color: navy"> : </span>Element, <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>  it.answer<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span>    a.item<b> as </b><span style="color: maroon">ni</span><b> then</b><span style="color: navy"> {
</span>      ni.answer<b> as </b><span style="color: maroon">na</span><b> where </b>na.value.exists()<span style="color: navy"><b> -&gt; </b></span>obs.note = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Annotation'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">an</span><b> then</b><span style="color: navy"> {
</span>        na.value<b> as </b><span style="color: maroon">txt</span><span style="color: navy"><b> -&gt; </b></span>an.text = <span style="color: maroon">txt</span> <i>&quot;noteTxt&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;addNote&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;scanNested&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;ifNested&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetFullUrl<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> -&gt; </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>&quot;assignFullUrl&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span></pre></div>
  </text>
  <url
       value="https://fhir.slade360.co.ke/fhir/StructureMap/VitalSignsExtract"/>
  <version value="0.1.0"/>
  <name value="VitalSignsExtract"/>
  <title value="Vital Signs Extraction"/>
  <status value="active"/>
  <date value="2025-11-27T07:06:33+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="Extracts Observation resources from a QuestionnaireResponse to the Vital Signs questionnaire."/>
  <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>
  <group>
    <name value="VitalSignsExtract"/>
    <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="heightObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '834591352448'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eH"/>
      </target>
      <target>
        <context value="eH"/>
        <element value="resource"/>
        <variable value="oH"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseH"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oH"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oH"/>
          </parameter>
          <parameter>
            <valueId value="eH"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catH"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oH"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeH"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oH"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="8302-2"/>
          </parameter>
          <parameter>
            <valueString value="Body Height"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valH"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oH"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="cm"/>
          </parameter>
          <parameter>
            <valueString value="centimeter"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteH"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oH"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Height, LOINC 8302-2, cm"/>
    </rule>
    <rule>
      <name value="weightObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '612376851550'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eW"/>
      </target>
      <target>
        <context value="eW"/>
        <element value="resource"/>
        <variable value="oW"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseW"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oW"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oW"/>
          </parameter>
          <parameter>
            <valueId value="eW"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catW"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oW"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeW"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oW"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="29463-7"/>
          </parameter>
          <parameter>
            <valueString value="Body Weight"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valW"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oW"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="kg"/>
          </parameter>
          <parameter>
            <valueString value="kilogram"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteW"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oW"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Weight, LOINC 29463-7, kg"/>
    </rule>
    <rule>
      <name value="pulseObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '118945747144'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eP"/>
      </target>
      <target>
        <context value="eP"/>
        <element value="resource"/>
        <variable value="oP"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseP"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oP"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oP"/>
          </parameter>
          <parameter>
            <valueId value="eP"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catP"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oP"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeP"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oP"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="8889-8"/>
          </parameter>
          <parameter>
            <valueString value="Heart rate by Pulse oximetry"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valP"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oP"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="/min"/>
          </parameter>
          <parameter>
            <valueString value="per minute"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteP"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oP"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Pulse rate, LOINC 8889-8, /min"/>
    </rule>
    <rule>
      <name value="systolicObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '961601071435'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eS"/>
      </target>
      <target>
        <context value="eS"/>
        <element value="resource"/>
        <variable value="oS"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseS"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oS"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oS"/>
          </parameter>
          <parameter>
            <valueId value="eS"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catS"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oS"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeS"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oS"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="8480-6"/>
          </parameter>
          <parameter>
            <valueString value="Systolic blood pressure"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valS"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oS"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="mm[Hg]"/>
          </parameter>
          <parameter>
            <valueString value="millimeter of mercury"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteS"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oS"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Systolic BP, LOINC 8480-6, mm[Hg]"/>
    </rule>
    <rule>
      <name value="diastolicObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '354414349687'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eD"/>
      </target>
      <target>
        <context value="eD"/>
        <element value="resource"/>
        <variable value="oD"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseD"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oD"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oD"/>
          </parameter>
          <parameter>
            <valueId value="eD"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catD"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oD"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeD"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oD"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="8462-4"/>
          </parameter>
          <parameter>
            <valueString value="Diastolic blood pressure"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valD"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oD"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="mm[Hg]"/>
          </parameter>
          <parameter>
            <valueString value="millimeter of mercury"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteD"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oD"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Diastolic BP, LOINC 8462-4, mm[Hg]"/>
    </rule>
    <rule>
      <name value="tempObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '608221161831'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eT"/>
      </target>
      <target>
        <context value="eT"/>
        <element value="resource"/>
        <variable value="oT"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseT"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oT"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oT"/>
          </parameter>
          <parameter>
            <valueId value="eT"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catT"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oT"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeT"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oT"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="8310-5"/>
          </parameter>
          <parameter>
            <valueString value="Body Temperature"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valT"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oT"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="Cel"/>
          </parameter>
          <parameter>
            <valueString value="degree Celsius"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteT"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oT"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Temperature, LOINC 8310-5, Cel"/>
    </rule>
    <rule>
      <name value="spo2Obs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '851250344540'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eO2"/>
      </target>
      <target>
        <context value="eO2"/>
        <element value="resource"/>
        <variable value="oO2"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseO2"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oO2"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oO2"/>
          </parameter>
          <parameter>
            <valueId value="eO2"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catO2"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oO2"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeO2"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oO2"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="20564-1"/>
          </parameter>
          <parameter>
            <valueString value="Oxygen saturation in Blood"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valO2"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oO2"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="%"/>
          </parameter>
          <parameter>
            <valueString value="percent"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteO2"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oO2"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Oxygen saturation, LOINC 20564-1, %"/>
    </rule>
    <rule>
      <name value="respObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '222626668435'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eR"/>
      </target>
      <target>
        <context value="eR"/>
        <element value="resource"/>
        <variable value="oR"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseR"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oR"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oR"/>
          </parameter>
          <parameter>
            <valueId value="eR"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catR"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oR"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeR"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oR"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="9279-1"/>
          </parameter>
          <parameter>
            <valueString value="Respiratory rate"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valR"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oR"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="/min"/>
          </parameter>
          <parameter>
            <valueString value="per minute"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteR"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oR"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="Respiratory rate, LOINC 9279-1, /min"/>
    </rule>
    <rule>
      <name value="muacObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '943347546713'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eM"/>
      </target>
      <target>
        <context value="eM"/>
        <element value="resource"/>
        <variable value="oM"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseMUAC"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oM"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oM"/>
          </parameter>
          <parameter>
            <valueId value="eM"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catMUAC"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oM"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeMUAC"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oM"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="9847-5"/>
          </parameter>
          <parameter>
            <valueString value="Circumference"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valMUAC"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetQuantityValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oM"/>
          </parameter>
          <parameter>
            <valueString value="http://unitsofmeasure.org"/>
          </parameter>
          <parameter>
            <valueString value="mm"/>
          </parameter>
          <parameter>
            <valueString value="millimeter"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteMUAC"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oM"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="MUAC, LOINC 9847-5, mm"/>
    </rule>
    <rule>
      <name value="bmiObs"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="it"/>
        <condition value="linkId = '606919475524'"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="eBMI"/>
      </target>
      <target>
        <context value="eBMI"/>
        <element value="resource"/>
        <variable value="oBMI"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Observation"/>
        </parameter>
      </target>
      <rule>
        <name value="baseBMI"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oBMI"/>
          <element value="id"/>
        </target>
        <dependent>
          <name value="BuildBaseObs"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="oBMI"/>
          </parameter>
          <parameter>
            <valueId value="eBMI"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="catBMI"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oBMI"/>
          <element value="category"/>
          <transform value="cc"/>
          <parameter>
            <valueString
                         value="http://terminology.hl7.org/CodeSystem/observation-category"/>
          </parameter>
          <parameter>
            <valueString value="vital-signs"/>
          </parameter>
          <parameter>
            <valueString value="Vital Signs"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="codeBMI"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="oBMI"/>
          <element value="code"/>
          <transform value="cc"/>
          <parameter>
            <valueString value="http://loinc.org"/>
          </parameter>
          <parameter>
            <valueString value="39156-5"/>
          </parameter>
          <parameter>
            <valueString value="Body mass index (BMI) [Ratio]"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="valBMI"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetStringValueFromItem"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oBMI"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="noteBMI"/>
        <source>
          <context value="it"/>
        </source>
        <dependent>
          <name value="SetNoteFromNested"/>
          <parameter>
            <valueId value="it"/>
          </parameter>
          <parameter>
            <valueId value="oBMI"/>
          </parameter>
        </dependent>
      </rule>
      <documentation value="BMI, LOINC 39156-5, as string if provided"/>
    </rule>
  </group>
  <group>
    <name value="BuildBaseObs"/>
    <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="entryRequest"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="request"/>
        <variable value="req"/>
      </target>
      <rule>
        <name value="reqMethod"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="req"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="reqUrl"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="req"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setIdAndFullUrl"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
      <dependent>
        <name value="SetFullUrl"/>
        <parameter>
          <valueId value="obs"/>
        </parameter>
        <parameter>
          <valueId value="entry"/>
        </parameter>
      </dependent>
    </rule>
    <rule>
      <name value="setStatus"/>
      <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="setSubject"/>
      <source>
        <context value="qr"/>
        <element value="subject"/>
        <variable value="s"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="subject"/>
        <variable value="r"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="subRef"/>
        <source>
          <context value="s"/>
          <element value="reference"/>
          <variable value="ref"/>
        </source>
        <target>
          <context value="r"/>
          <element value="reference"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ref"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="subDisp"/>
        <source>
          <context value="s"/>
          <element value="display"/>
          <variable value="disp"/>
        </source>
        <target>
          <context value="r"/>
          <element value="display"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="disp"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="setEffective"/>
      <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="setIssued"/>
      <source>
        <context value="qr"/>
        <element value="authored"/>
        <variable value="t"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="issued"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="t"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="setDerivedFrom"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="derivedFrom"/>
        <variable value="dr"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="derRef"/>
        <source>
          <context value="qr"/>
          <element value="id"/>
          <variable value="id"/>
        </source>
        <target>
          <context value="dr"/>
          <element value="reference"/>
          <transform value="append"/>
          <parameter>
            <valueString value="QuestionnaireResponse/"/>
          </parameter>
          <parameter>
            <valueId value="id"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetQuantityValueFromItem"/>
    <input>
      <name value="it"/>
      <type value="Element"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <input>
      <name value="sys"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="ucode"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="utext"/>
      <type value="string"/>
      <mode value="source"/>
    </input>
    <rule>
      <name value="setQuantity"/>
      <source>
        <context value="it"/>
        <element value="answer"/>
        <variable value="a"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="value"/>
        <variable value="q"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Quantity"/>
        </parameter>
      </target>
      <rule>
        <name value="qVal"/>
        <source>
          <context value="a"/>
          <element value="value"/>
          <variable value="v"/>
        </source>
        <target>
          <context value="q"/>
          <element value="value"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="v"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="qSys"/>
        <source>
          <context value="sys"/>
        </source>
        <target>
          <context value="q"/>
          <element value="system"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="sys"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="qCode"/>
        <source>
          <context value="ucode"/>
        </source>
        <target>
          <context value="q"/>
          <element value="code"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="ucode"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="qUnit"/>
        <source>
          <context value="utext"/>
        </source>
        <target>
          <context value="q"/>
          <element value="unit"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="utext"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetStringValueFromItem"/>
    <input>
      <name value="it"/>
      <type value="Element"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="setString"/>
      <source>
        <context value="it"/>
        <element value="answer"/>
        <variable value="a"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="value"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="a.value"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="SetNoteFromNested"/>
    <input>
      <name value="it"/>
      <type value="Element"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="ifNested"/>
      <source>
        <context value="it"/>
        <element value="answer"/>
        <variable value="a"/>
      </source>
      <rule>
        <name value="scanNested"/>
        <source>
          <context value="a"/>
          <element value="item"/>
          <variable value="ni"/>
        </source>
        <rule>
          <name value="addNote"/>
          <source>
            <context value="ni"/>
            <element value="answer"/>
            <variable value="na"/>
            <condition value="na.value.exists()"/>
          </source>
          <target>
            <context value="obs"/>
            <element value="note"/>
            <variable value="an"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Annotation"/>
            </parameter>
          </target>
          <rule>
            <name value="noteTxt"/>
            <source>
              <context value="na"/>
              <element value="value"/>
              <variable value="txt"/>
            </source>
            <target>
              <context value="an"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="txt"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetFullUrl"/>
    <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>
</StructureMap>