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

: ExtractVitalSigns - XML Representation

Draft as of 2025-12-12

Raw xml | Download


<StructureMap xmlns="http://hl7.org/fhir">
  <id value="ExtractVitalSigns"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap ExtractVitalSigns</b></p><a name="ExtractVitalSigns"> </a><a name="hcExtractVitalSigns"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractVitalSigns'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'ExtractVitalSigns'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'draft'</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>ExtractVitalSigns<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">itH</span><b> where </b>(linkId = '8302-2')<b> then</b><span style="color: navy"> {
</span>    itH.answer first<b> as </b><span style="color: maroon">aH</span><b> then</b><span style="color: navy"> {
</span>      aH<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> <span style="color: maroon">oH</span><span style="color: navy">, </span> <span style="color: maroon">eH</span><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;heightBase&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>
        aH.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oH.valueQuantity<b> as </b><span style="color: maroon">vH</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vH.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vH.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vH.code = <span style="color: blue">'cm'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vH.unit = <span style="color: blue">'centimeter'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valH&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> <i>&quot;heightAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;heightRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Height</span>
  qr.item<b> as </b><span style="color: maroon">itW</span><b> where </b>(linkId = '29463-7')<b> then</b><span style="color: navy"> {
</span>    itW.answer first<b> as </b><span style="color: maroon">aW</span><b> then</b><span style="color: navy"> {
</span>      aW<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> <span style="color: maroon">oW</span><span style="color: navy">, </span> <span style="color: maroon">eW</span><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;weightBase&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>
        aW.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oW.valueQuantity<b> as </b><span style="color: maroon">vW</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vW.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vW.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vW.code = <span style="color: blue">'kg'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vW.unit = <span style="color: blue">'kilogram'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valW&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> <i>&quot;weightAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;weightRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Weight</span>
  qr.item<b> as </b><span style="color: maroon">itBmi</span><b> where </b>(linkId = '39156-5')<b> then</b><span style="color: navy"> {
</span>    itBmi.answer first<b> as </b><span style="color: maroon">aBmi</span><b> then</b><span style="color: navy"> {
</span>      aBmi<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> <span style="color: maroon">oBmi</span><span style="color: navy">, </span> <span style="color: maroon">eBmi</span><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;bmiBase&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>
        aBmi.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oBmi.valueQuantity<b> as </b><span style="color: maroon">vBmi</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vBmi.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vBmi.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vBmi.code = <span style="color: blue">'kg/m2'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vBmi.unit = <span style="color: blue">'kilogram per square meter'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valBmi&quot;</i><span style="color: navy">;</span>
        itBmi.item<b> as </b><span style="color: maroon">bmiStatusItem</span><b> where </b>(linkId = '39156-5_status')<b> then</b><span style="color: navy"> {
</span>          bmiStatusItem.answer first<b> as </b><span style="color: maroon">bmiStatusAns</span><span style="color: navy"><b> -&gt; </b></span>oBmi.interpretation<b> as </b><span style="color: maroon">iBmi</span><b> then</b><span style="color: navy"> {
</span>            bmiStatusAns.value<b> as </b><span style="color: maroon">statusText</span><span style="color: navy"><b> -&gt; </b></span>iBmi.text = <span style="color: maroon">statusText</span> <i>&quot;interpBmi&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;setInterpBmi&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;findBmiStatus&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Interpretation 39156-5_status</span>
      <span style="color: navy">}</span> <i>&quot;bmiObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;bmiAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bmiRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">BMI</span>
  qr.item<b> as </b><span style="color: maroon">itP</span><b> where </b>(linkId = '8889-8')<b> then</b><span style="color: navy"> {
</span>    itP.answer first<b> as </b><span style="color: maroon">aP</span><b> then</b><span style="color: navy"> {
</span>      aP<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> <span style="color: maroon">oP</span><span style="color: navy">, </span> <span style="color: maroon">eP</span><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;pulseBase&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>
        aP.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oP.valueQuantity<b> as </b><span style="color: maroon">vP</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vP.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vP.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vP.code = <span style="color: blue">'/min'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vP.unit = <span style="color: blue">'per minute'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valP&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> <i>&quot;pulseAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;pulseRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Pulse</span>
  qr.item<b> as </b><span style="color: maroon">itBP</span><b> where </b>(linkId = '55284-4')<b> then</b><span style="color: navy"> {
</span>    itBP.answer first<b> as </b><span style="color: maroon">aPanel</span><b> then</b><span style="color: navy"> {
</span>      aPanel<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eBP</span><span style="color: navy">, </span> eBP.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">oBP</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oBP</span><span style="color: navy">, </span> <span style="color: maroon">eBP</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oBP</span><span style="color: navy">, </span><span style="color: maroon">eBP</span><span style="color: navy">)</span> <i>&quot;bpBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oBP.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">'55284-4'</span><span style="color: navy">, </span><span style="color: blue">'Blood pressure systolic and diastolic'</span><span style="color: navy">)</span> <i>&quot;codeBP&quot;</i><span style="color: navy">;</span>
        itBP.item<b> as </b><span style="color: maroon">itSys</span><b> where </b>(linkId = '8480-6')<b> then</b><span style="color: navy"> {
</span>          itSys.answer first<b> as </b><span style="color: maroon">aSys</span><span style="color: navy"><b> -&gt; </b></span>oBP.component<b> as </b><span style="color: maroon">cSys</span><b> then</b><span style="color: navy"> {
</span>            aSys<span style="color: navy"><b> -&gt; </b></span>cSys.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;bpSysCode&quot;</i><span style="color: navy">;</span>
            aSys.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>cSys.valueQuantity<b> as </b><span style="color: maroon">vSys</span><b> then</b><span style="color: navy"> {
</span>              hv<span style="color: navy"><b> -&gt; </b></span>vSys.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vSys.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vSys.code = <span style="color: blue">'mm[Hg]'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vSys.unit = <span style="color: blue">'millimeter of mercury'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span> <i>&quot;bpSysVal&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;bpSysComponent&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;bpSysRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Systolic 8480-6</span>
        itBP.item<b> as </b><span style="color: maroon">itDia</span><b> where </b>(linkId = '8462-4')<b> then</b><span style="color: navy"> {
</span>          itDia.answer first<b> as </b><span style="color: maroon">aDia</span><span style="color: navy"><b> -&gt; </b></span>oBP.component<b> as </b><span style="color: maroon">cDia</span><b> then</b><span style="color: navy"> {
</span>            aDia<span style="color: navy"><b> -&gt; </b></span>cDia.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;bpDiaCode&quot;</i><span style="color: navy">;</span>
            aDia.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>cDia.valueQuantity<b> as </b><span style="color: maroon">vDia</span><b> then</b><span style="color: navy"> {
</span>              hv<span style="color: navy"><b> -&gt; </b></span>vDia.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vDia.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vDia.code = <span style="color: blue">'mm[Hg]'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
              qr<span style="color: navy"><b> -&gt; </b></span>vDia.unit = <span style="color: blue">'millimeter of mercury'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
            <span style="color: navy">}</span> <i>&quot;bpDiaVal&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;bpDiaComponent&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;bpDiaRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Diastolic 8462-4</span>
      <span style="color: navy">}</span> <i>&quot;bpObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;bpAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bpRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Blood Pressure</span>
  qr.item<b> as </b><span style="color: maroon">itT</span><b> where </b>(linkId = '8310-5')<b> then</b><span style="color: navy"> {
</span>    itT.answer first<b> as </b><span style="color: maroon">aT</span><b> then</b><span style="color: navy"> {
</span>      aT<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> <span style="color: maroon">oT</span><span style="color: navy">, </span> <span style="color: maroon">eT</span><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;tempBase&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>
        aT.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oT.valueQuantity<b> as </b><span style="color: maroon">vT</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vT.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vT.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vT.code = <span style="color: blue">'Cel'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vT.unit = <span style="color: blue">'degree Celsius'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valT&quot;</i><span style="color: navy">;</span>
        itT.item<b> as </b><span style="color: maroon">tStatusItem</span><b> where </b>(linkId = '8310-5_status')<b> then</b><span style="color: navy"> {
</span>          tStatusItem.answer first<b> as </b><span style="color: maroon">tStatusAns</span><span style="color: navy"><b> -&gt; </b></span>oT.interpretation<b> as </b><span style="color: maroon">iT</span><b> then</b><span style="color: navy"> {
</span>            tStatusAns.value<b> as </b><span style="color: maroon">statusText</span><span style="color: navy"><b> -&gt; </b></span>iT.text = <span style="color: maroon">statusText</span> <i>&quot;interpT&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;setInterpT&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;findTStatus&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Interpretation 8310-5_status</span>
      <span style="color: navy">}</span> <i>&quot;tempObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;tempAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;tempRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Temperature</span>
  qr.item<b> as </b><span style="color: maroon">itO2</span><b> where </b>(linkId = '20564-1')<b> then</b><span style="color: navy"> {
</span>    itO2.answer first<b> as </b><span style="color: maroon">aO2</span><b> then</b><span style="color: navy"> {
</span>      aO2<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> <span style="color: maroon">oO2</span><span style="color: navy">, </span> <span style="color: maroon">eO2</span><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;spo2Base&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>
        aO2.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oO2.valueQuantity<b> as </b><span style="color: maroon">vO2</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vO2.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vO2.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vO2.code = <span style="color: blue">'%'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vO2.unit = <span style="color: blue">'%'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valO2&quot;</i><span style="color: navy">;</span>
        itO2.item<b> as </b><span style="color: maroon">o2StatusItem</span><b> where </b>(linkId = '20564-1_status')<b> then</b><span style="color: navy"> {
</span>          o2StatusItem.answer first<b> as </b><span style="color: maroon">o2StatusAns</span><span style="color: navy"><b> -&gt; </b></span>oO2.interpretation<b> as </b><span style="color: maroon">iO2</span><b> then</b><span style="color: navy"> {
</span>            o2StatusAns.value<b> as </b><span style="color: maroon">statusText</span><span style="color: navy"><b> -&gt; </b></span>iO2.text = <span style="color: maroon">statusText</span> <i>&quot;interpO2&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;setInterpO2&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;findO2Status&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Interpretation of SpO2 20564-1_status</span>
      <span style="color: navy">}</span> <i>&quot;spo2Obs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;spo2Ans&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;spo2Rule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">SpO2</span>
  qr.item<b> as </b><span style="color: maroon">itRR</span><b> where </b>(linkId = '9279-1')<b> then</b><span style="color: navy"> {
</span>    itRR.answer first<b> as </b><span style="color: maroon">aRR</span><b> then</b><span style="color: navy"> {
</span>      aRR<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eRR</span><span style="color: navy">, </span> eRR.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">oRR</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oRR</span><span style="color: navy">, </span> <span style="color: maroon">eRR</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oRR</span><span style="color: navy">, </span><span style="color: maroon">eRR</span><span style="color: navy">)</span> <i>&quot;rrBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oRR.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;codeRR&quot;</i><span style="color: navy">;</span>
        aRR.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oRR.valueQuantity<b> as </b><span style="color: maroon">vRR</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vRR.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vRR.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vRR.code = <span style="color: blue">'/min'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vRR.unit = <span style="color: blue">'per minute'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valRR&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;rrObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;rrAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;rrRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Respiratory rate</span>
  qr.item<b> as </b><span style="color: maroon">itMuac</span><b> where </b>(linkId = '9847-5')<b> then</b><span style="color: navy"> {
</span>    itMuac.answer first<b> as </b><span style="color: maroon">aMuac</span><b> then</b><span style="color: navy"> {
</span>      aMuac<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eMuac</span><span style="color: navy">, </span> eMuac.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">oMuac</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oMuac</span><span style="color: navy">, </span> <span style="color: maroon">eMuac</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oMuac</span><span style="color: navy">, </span><span style="color: maroon">eMuac</span><span style="color: navy">)</span> <i>&quot;muacBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oMuac.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>
        aMuac.value<b> as </b><span style="color: maroon">hv</span><span style="color: navy"><b> -&gt; </b></span>oMuac.valueQuantity<b> as </b><span style="color: maroon">vMuac</span><b> then</b><span style="color: navy"> {
</span>          hv<span style="color: navy"><b> -&gt; </b></span>vMuac.value = <span style="color: maroon">hv</span> <i>&quot;setVal&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vMuac.system = <span style="color: blue">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vMuac.code = <span style="color: blue">'mm'</span> <i>&quot;setCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>vMuac.unit = <span style="color: blue">'millimeter'</span> <i>&quot;setUnit&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;valMuac&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> <i>&quot;muacAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;muacRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">MUAC</span>
  qr.item<b> as </b><span style="color: maroon">itCC</span><b> where </b>(linkId = '10154-3')<b> then</b><span style="color: navy"> {
</span>    itCC.answer first<b> as </b><span style="color: maroon">aCC</span><b> then</b><span style="color: navy"> {
</span>      aCC<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eCC</span><span style="color: navy">, </span> eCC.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">oCC</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oCC</span><span style="color: navy">, </span> <span style="color: maroon">eCC</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oCC</span><span style="color: navy">, </span><span style="color: maroon">eCC</span><span style="color: navy">)</span> <i>&quot;chiefComplaintBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'social-history'</span><span style="color: navy">, </span><span style="color: blue">'Social History'</span><span style="color: navy">)</span> <i>&quot;chiefComplaintCategory&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Override category to social-history</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'10154-3'</span><span style="color: navy">, </span><span style="color: blue">'Chief complaint Narrative'</span><span style="color: navy">)</span> <i>&quot;chiefComplaintCode&quot;</i><span style="color: navy">;</span>
        aCC.value<b> as </b><span style="color: maroon">textVal</span><span style="color: navy"><b> -&gt; </b></span>oCC.valueString = <span style="color: maroon">textVal</span> <i>&quot;chiefComplaintValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;chiefComplaintObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;chiefComplaintAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;chiefComplaintRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Chief Complaint</span>
  qr.item<b> as </b><span style="color: maroon">hpiCC</span><b> where </b>(linkId = '8684-3')<b> then</b><span style="color: navy"> {
</span>    hpiCC.answer first<b> as </b><span style="color: maroon">aCC</span><b> then</b><span style="color: navy"> {
</span>      aCC<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eCC</span><span style="color: navy">, </span> eCC.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">oCC</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oCC</span><span style="color: navy">, </span> <span style="color: maroon">eCC</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oCC</span><span style="color: navy">, </span><span style="color: maroon">eCC</span><span style="color: navy">)</span> <i>&quot;historyOfPIBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'social-history'</span><span style="color: navy">, </span><span style="color: blue">'Social History'</span><span style="color: navy">)</span> <i>&quot;historyOfPICategory&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Override category to social-history</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'8684-3'</span><span style="color: navy">, </span><span style="color: blue">'History of Present illness'</span><span style="color: navy">)</span> <i>&quot;historyOfPICode&quot;</i><span style="color: navy">;</span>
        aCC.value<b> as </b><span style="color: maroon">textVal</span><span style="color: navy"><b> -&gt; </b></span>oCC.valueString = <span style="color: maroon">textVal</span> <i>&quot;historyOfPIValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;historyOfPIObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;historyOfPIAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;historyOfPIRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">History of Presenting Illness</span>
  qr.item<b> as </b><span style="color: maroon">hPastCC</span><b> where </b>(linkId = '11349-8')<b> then</b><span style="color: navy"> {
</span>    hPastCC.answer first<b> as </b><span style="color: maroon">aCC</span><b> then</b><span style="color: navy"> {
</span>      aCC<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">eCC</span><span style="color: navy">, </span> eCC.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">oCC</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span> <span style="color: maroon">oCC</span><span style="color: navy">, </span> <span style="color: maroon">eCC</span><b> then </b>BuildBaseObs<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">oCC</span><span style="color: navy">, </span><span style="color: maroon">eCC</span><span style="color: navy">)</span> <i>&quot;historyOfPastIBase&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'social-history'</span><span style="color: navy">, </span><span style="color: blue">'Social History'</span><span style="color: navy">)</span> <i>&quot;historyOfPastICategory&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Override category to social-history</span>
        qr<span style="color: navy"><b> -&gt; </b></span>oCC.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">'11349-8'</span><span style="color: navy">, </span><span style="color: blue">'History of Past illness'</span><span style="color: navy">)</span> <i>&quot;historyOfPastICode&quot;</i><span style="color: navy">;</span>
        aCC.value<b> as </b><span style="color: maroon">textVal</span><span style="color: navy"><b> -&gt; </b></span>oCC.valueString = <span style="color: maroon">textVal</span> <i>&quot;historyOfPastIValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;historyOfPastIObs&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;historyOfPastIAns&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;historyOfPastIRule&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">History of Past Illness</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>obs.status = <span style="color: blue">'final'</span> <i>&quot;status&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 = <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> -&gt; </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> -&gt; </b></span>obs.effectiveDateTime = <span style="color: maroon">t</span> <i>&quot;effective&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>obs.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;category&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Category (vital signs) - defaukt</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>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>&quot;setObsIdAndFullUrl&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Observation id and fullUrl</span>
  qr<span style="color: navy"><b> -&gt; </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> -&gt; </b></span>request.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>request.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> <span style="color: navy">// </span><span style="color: green">Bundle.entry.request (transaction POST Observation)</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">newRef</span><b> then</b><span style="color: navy"> {
</span>    qr.id<b> as </b><span style="color: maroon">qid</span><span style="color: navy"><b> -&gt; </b></span>newRef.reference = <b>append</b><span style="color: navy">(</span><span style="color: blue">'QuestionnaireResponse/'</span><span style="color: navy">, </span><span style="color: maroon">qid</span><span style="color: navy">)</span> <i>&quot;setQRRef&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;linkQR&quot;</i><span style="color: navy">;</span> <span style="color: navy">// </span><span style="color: green">Link Observation -&gt; QuestionnaireResponse</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> -&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/ExtractVitalSigns"/>
  <version value="0.1.0"/>
  <name value="ExtractVitalSigns"/>
  <status value="draft"/>
  <date value="2025-12-12T13:43:17+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>
  <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="ExtractVitalSigns"/>
    <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="heightRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itH"/>
        <condition value="(linkId = '8302-2')"/>
      </source>
      <rule>
        <name value="heightAns"/>
        <source>
          <context value="itH"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aH"/>
        </source>
        <rule>
          <name value="heightObs"/>
          <source>
            <context value="aH"/>
          </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="heightBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oH"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eH"/>
              </parameter>
            </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="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="aH"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oH"/>
              <element value="valueQuantity"/>
              <variable value="vH"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vH"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vH"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vH"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="cm"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vH"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="centimeter"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation value="Height"/>
    </rule>
    <rule>
      <name value="weightRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itW"/>
        <condition value="(linkId = '29463-7')"/>
      </source>
      <rule>
        <name value="weightAns"/>
        <source>
          <context value="itW"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aW"/>
        </source>
        <rule>
          <name value="weightObs"/>
          <source>
            <context value="aW"/>
          </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="weightBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oW"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eW"/>
              </parameter>
            </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="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="aW"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oW"/>
              <element value="valueQuantity"/>
              <variable value="vW"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vW"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vW"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vW"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="kg"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vW"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="kilogram"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation value="Weight"/>
    </rule>
    <rule>
      <name value="bmiRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itBmi"/>
        <condition value="(linkId = '39156-5')"/>
      </source>
      <rule>
        <name value="bmiAns"/>
        <source>
          <context value="itBmi"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aBmi"/>
        </source>
        <rule>
          <name value="bmiObs"/>
          <source>
            <context value="aBmi"/>
          </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="bmiBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oBmi"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eBmi"/>
              </parameter>
            </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="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="aBmi"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oBmi"/>
              <element value="valueQuantity"/>
              <variable value="vBmi"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vBmi"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vBmi"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vBmi"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="kg/m2"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vBmi"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="kilogram per square meter"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="findBmiStatus"/>
            <source>
              <context value="itBmi"/>
              <element value="item"/>
              <variable value="bmiStatusItem"/>
              <condition value="(linkId = '39156-5_status')"/>
            </source>
            <rule>
              <name value="setInterpBmi"/>
              <source>
                <context value="bmiStatusItem"/>
                <element value="answer"/>
                <listMode value="first"/>
                <variable value="bmiStatusAns"/>
              </source>
              <target>
                <context value="oBmi"/>
                <element value="interpretation"/>
                <variable value="iBmi"/>
              </target>
              <rule>
                <name value="interpBmi"/>
                <source>
                  <context value="bmiStatusAns"/>
                  <element value="value"/>
                  <variable value="statusText"/>
                </source>
                <target>
                  <context value="iBmi"/>
                  <element value="text"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueId value="statusText"/>
                  </parameter>
                </target>
              </rule>
            </rule>
            <documentation value="Interpretation 39156-5_status"/>
          </rule>
        </rule>
      </rule>
      <documentation value="BMI"/>
    </rule>
    <rule>
      <name value="pulseRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itP"/>
        <condition value="(linkId = '8889-8')"/>
      </source>
      <rule>
        <name value="pulseAns"/>
        <source>
          <context value="itP"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aP"/>
        </source>
        <rule>
          <name value="pulseObs"/>
          <source>
            <context value="aP"/>
          </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="pulseBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oP"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eP"/>
              </parameter>
            </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="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="aP"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oP"/>
              <element value="valueQuantity"/>
              <variable value="vP"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vP"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vP"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vP"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="/min"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vP"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="per minute"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation value="Pulse"/>
    </rule>
    <rule>
      <name value="bpRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itBP"/>
        <condition value="(linkId = '55284-4')"/>
      </source>
      <rule>
        <name value="bpAns"/>
        <source>
          <context value="itBP"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aPanel"/>
        </source>
        <rule>
          <name value="bpObs"/>
          <source>
            <context value="aPanel"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eBP"/>
          </target>
          <target>
            <context value="eBP"/>
            <element value="resource"/>
            <variable value="oBP"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="bpBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oBP"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eBP"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oBP"/>
              </parameter>
              <parameter>
                <valueId value="eBP"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="codeBP"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oBP"/>
              <element value="code"/>
              <transform value="cc"/>
              <parameter>
                <valueString value="http://loinc.org"/>
              </parameter>
              <parameter>
                <valueString value="55284-4"/>
              </parameter>
              <parameter>
                <valueString value="Blood pressure systolic and diastolic"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="bpSysRule"/>
            <source>
              <context value="itBP"/>
              <element value="item"/>
              <variable value="itSys"/>
              <condition value="(linkId = '8480-6')"/>
            </source>
            <rule>
              <name value="bpSysComponent"/>
              <source>
                <context value="itSys"/>
                <element value="answer"/>
                <listMode value="first"/>
                <variable value="aSys"/>
              </source>
              <target>
                <context value="oBP"/>
                <element value="component"/>
                <variable value="cSys"/>
              </target>
              <rule>
                <name value="bpSysCode"/>
                <source>
                  <context value="aSys"/>
                </source>
                <target>
                  <context value="cSys"/>
                  <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="bpSysVal"/>
                <source>
                  <context value="aSys"/>
                  <element value="value"/>
                  <variable value="hv"/>
                </source>
                <target>
                  <context value="cSys"/>
                  <element value="valueQuantity"/>
                  <variable value="vSys"/>
                </target>
                <rule>
                  <name value="setVal"/>
                  <source>
                    <context value="hv"/>
                  </source>
                  <target>
                    <context value="vSys"/>
                    <element value="value"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueId value="hv"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setSys"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vSys"/>
                    <element value="system"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="http://unitsofmeasure.org"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setCode"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vSys"/>
                    <element value="code"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="mm[Hg]"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setUnit"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vSys"/>
                    <element value="unit"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="millimeter of mercury"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
            <documentation value="Systolic 8480-6"/>
          </rule>
          <rule>
            <name value="bpDiaRule"/>
            <source>
              <context value="itBP"/>
              <element value="item"/>
              <variable value="itDia"/>
              <condition value="(linkId = '8462-4')"/>
            </source>
            <rule>
              <name value="bpDiaComponent"/>
              <source>
                <context value="itDia"/>
                <element value="answer"/>
                <listMode value="first"/>
                <variable value="aDia"/>
              </source>
              <target>
                <context value="oBP"/>
                <element value="component"/>
                <variable value="cDia"/>
              </target>
              <rule>
                <name value="bpDiaCode"/>
                <source>
                  <context value="aDia"/>
                </source>
                <target>
                  <context value="cDia"/>
                  <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="bpDiaVal"/>
                <source>
                  <context value="aDia"/>
                  <element value="value"/>
                  <variable value="hv"/>
                </source>
                <target>
                  <context value="cDia"/>
                  <element value="valueQuantity"/>
                  <variable value="vDia"/>
                </target>
                <rule>
                  <name value="setVal"/>
                  <source>
                    <context value="hv"/>
                  </source>
                  <target>
                    <context value="vDia"/>
                    <element value="value"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueId value="hv"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setSys"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vDia"/>
                    <element value="system"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="http://unitsofmeasure.org"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setCode"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vDia"/>
                    <element value="code"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="mm[Hg]"/>
                    </parameter>
                  </target>
                </rule>
                <rule>
                  <name value="setUnit"/>
                  <source>
                    <context value="qr"/>
                  </source>
                  <target>
                    <context value="vDia"/>
                    <element value="unit"/>
                    <transform value="copy"/>
                    <parameter>
                      <valueString value="millimeter of mercury"/>
                    </parameter>
                  </target>
                </rule>
              </rule>
            </rule>
            <documentation value="Diastolic 8462-4"/>
          </rule>
        </rule>
      </rule>
      <documentation value="Blood Pressure"/>
    </rule>
    <rule>
      <name value="tempRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itT"/>
        <condition value="(linkId = '8310-5')"/>
      </source>
      <rule>
        <name value="tempAns"/>
        <source>
          <context value="itT"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aT"/>
        </source>
        <rule>
          <name value="tempObs"/>
          <source>
            <context value="aT"/>
          </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="tempBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oT"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eT"/>
              </parameter>
            </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="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="aT"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oT"/>
              <element value="valueQuantity"/>
              <variable value="vT"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vT"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vT"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vT"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Cel"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vT"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="degree Celsius"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="findTStatus"/>
            <source>
              <context value="itT"/>
              <element value="item"/>
              <variable value="tStatusItem"/>
              <condition value="(linkId = '8310-5_status')"/>
            </source>
            <rule>
              <name value="setInterpT"/>
              <source>
                <context value="tStatusItem"/>
                <element value="answer"/>
                <listMode value="first"/>
                <variable value="tStatusAns"/>
              </source>
              <target>
                <context value="oT"/>
                <element value="interpretation"/>
                <variable value="iT"/>
              </target>
              <rule>
                <name value="interpT"/>
                <source>
                  <context value="tStatusAns"/>
                  <element value="value"/>
                  <variable value="statusText"/>
                </source>
                <target>
                  <context value="iT"/>
                  <element value="text"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueId value="statusText"/>
                  </parameter>
                </target>
              </rule>
            </rule>
            <documentation value="Interpretation 8310-5_status"/>
          </rule>
        </rule>
      </rule>
      <documentation value="Temperature"/>
    </rule>
    <rule>
      <name value="spo2Rule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itO2"/>
        <condition value="(linkId = '20564-1')"/>
      </source>
      <rule>
        <name value="spo2Ans"/>
        <source>
          <context value="itO2"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aO2"/>
        </source>
        <rule>
          <name value="spo2Obs"/>
          <source>
            <context value="aO2"/>
          </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="spo2Base"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oO2"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eO2"/>
              </parameter>
            </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="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="aO2"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oO2"/>
              <element value="valueQuantity"/>
              <variable value="vO2"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vO2"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vO2"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vO2"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="%"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vO2"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="%"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="findO2Status"/>
            <source>
              <context value="itO2"/>
              <element value="item"/>
              <variable value="o2StatusItem"/>
              <condition value="(linkId = '20564-1_status')"/>
            </source>
            <rule>
              <name value="setInterpO2"/>
              <source>
                <context value="o2StatusItem"/>
                <element value="answer"/>
                <listMode value="first"/>
                <variable value="o2StatusAns"/>
              </source>
              <target>
                <context value="oO2"/>
                <element value="interpretation"/>
                <variable value="iO2"/>
              </target>
              <rule>
                <name value="interpO2"/>
                <source>
                  <context value="o2StatusAns"/>
                  <element value="value"/>
                  <variable value="statusText"/>
                </source>
                <target>
                  <context value="iO2"/>
                  <element value="text"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueId value="statusText"/>
                  </parameter>
                </target>
              </rule>
            </rule>
            <documentation value="Interpretation of SpO2 20564-1_status"/>
          </rule>
        </rule>
      </rule>
      <documentation value="SpO2"/>
    </rule>
    <rule>
      <name value="rrRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itRR"/>
        <condition value="(linkId = '9279-1')"/>
      </source>
      <rule>
        <name value="rrAns"/>
        <source>
          <context value="itRR"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aRR"/>
        </source>
        <rule>
          <name value="rrObs"/>
          <source>
            <context value="aRR"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eRR"/>
          </target>
          <target>
            <context value="eRR"/>
            <element value="resource"/>
            <variable value="oRR"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="rrBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oRR"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eRR"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oRR"/>
              </parameter>
              <parameter>
                <valueId value="eRR"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="codeRR"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oRR"/>
              <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="valRR"/>
            <source>
              <context value="aRR"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oRR"/>
              <element value="valueQuantity"/>
              <variable value="vRR"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vRR"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vRR"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vRR"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="/min"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vRR"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="per minute"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation value="Respiratory rate"/>
    </rule>
    <rule>
      <name value="muacRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itMuac"/>
        <condition value="(linkId = '9847-5')"/>
      </source>
      <rule>
        <name value="muacAns"/>
        <source>
          <context value="itMuac"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aMuac"/>
        </source>
        <rule>
          <name value="muacObs"/>
          <source>
            <context value="aMuac"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eMuac"/>
          </target>
          <target>
            <context value="eMuac"/>
            <element value="resource"/>
            <variable value="oMuac"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="muacBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oMuac"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eMuac"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oMuac"/>
              </parameter>
              <parameter>
                <valueId value="eMuac"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="codeMuac"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oMuac"/>
              <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="aMuac"/>
              <element value="value"/>
              <variable value="hv"/>
            </source>
            <target>
              <context value="oMuac"/>
              <element value="valueQuantity"/>
              <variable value="vMuac"/>
            </target>
            <rule>
              <name value="setVal"/>
              <source>
                <context value="hv"/>
              </source>
              <target>
                <context value="vMuac"/>
                <element value="value"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="hv"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setSys"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vMuac"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://unitsofmeasure.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vMuac"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="mm"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="setUnit"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="vMuac"/>
                <element value="unit"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="millimeter"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation value="MUAC"/>
    </rule>
    <rule>
      <name value="chiefComplaintRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itCC"/>
        <condition value="(linkId = '10154-3')"/>
      </source>
      <rule>
        <name value="chiefComplaintAns"/>
        <source>
          <context value="itCC"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aCC"/>
        </source>
        <rule>
          <name value="chiefComplaintObs"/>
          <source>
            <context value="aCC"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eCC"/>
          </target>
          <target>
            <context value="eCC"/>
            <element value="resource"/>
            <variable value="oCC"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="chiefComplaintBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="chiefComplaintCategory"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="category"/>
              <transform value="cc"/>
              <parameter>
                <valueString
                             value="http://terminology.hl7.org/CodeSystem/observation-category"/>
              </parameter>
              <parameter>
                <valueString value="social-history"/>
              </parameter>
              <parameter>
                <valueString value="Social History"/>
              </parameter>
            </target>
            <documentation value="Override category to social-history"/>
          </rule>
          <rule>
            <name value="chiefComplaintCode"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="code"/>
              <transform value="cc"/>
              <parameter>
                <valueString value="http://loinc.org"/>
              </parameter>
              <parameter>
                <valueString value="10154-3"/>
              </parameter>
              <parameter>
                <valueString value="Chief complaint Narrative"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="chiefComplaintValue"/>
            <source>
              <context value="aCC"/>
              <element value="value"/>
              <variable value="textVal"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="valueString"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="textVal"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <documentation value="Chief Complaint"/>
    </rule>
    <rule>
      <name value="historyOfPIRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="hpiCC"/>
        <condition value="(linkId = '8684-3')"/>
      </source>
      <rule>
        <name value="historyOfPIAns"/>
        <source>
          <context value="hpiCC"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aCC"/>
        </source>
        <rule>
          <name value="historyOfPIObs"/>
          <source>
            <context value="aCC"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eCC"/>
          </target>
          <target>
            <context value="eCC"/>
            <element value="resource"/>
            <variable value="oCC"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="historyOfPIBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="historyOfPICategory"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="category"/>
              <transform value="cc"/>
              <parameter>
                <valueString
                             value="http://terminology.hl7.org/CodeSystem/observation-category"/>
              </parameter>
              <parameter>
                <valueString value="social-history"/>
              </parameter>
              <parameter>
                <valueString value="Social History"/>
              </parameter>
            </target>
            <documentation value="Override category to social-history"/>
          </rule>
          <rule>
            <name value="historyOfPICode"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="code"/>
              <transform value="cc"/>
              <parameter>
                <valueString value="http://loinc.org"/>
              </parameter>
              <parameter>
                <valueString value="8684-3"/>
              </parameter>
              <parameter>
                <valueString value="History of Present illness"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="historyOfPIValue"/>
            <source>
              <context value="aCC"/>
              <element value="value"/>
              <variable value="textVal"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="valueString"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="textVal"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <documentation value="History of Presenting Illness"/>
    </rule>
    <rule>
      <name value="historyOfPastIRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="hPastCC"/>
        <condition value="(linkId = '11349-8')"/>
      </source>
      <rule>
        <name value="historyOfPastIAns"/>
        <source>
          <context value="hPastCC"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aCC"/>
        </source>
        <rule>
          <name value="historyOfPastIObs"/>
          <source>
            <context value="aCC"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="eCC"/>
          </target>
          <target>
            <context value="eCC"/>
            <element value="resource"/>
            <variable value="oCC"/>
            <transform value="create"/>
            <parameter>
              <valueString value="Observation"/>
            </parameter>
          </target>
          <rule>
            <name value="historyOfPastIBase"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
            </target>
            <target>
              <transform value="copy"/>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </target>
            <dependent>
              <name value="BuildBaseObs"/>
              <parameter>
                <valueId value="qr"/>
              </parameter>
              <parameter>
                <valueId value="oCC"/>
              </parameter>
              <parameter>
                <valueId value="eCC"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="historyOfPastICategory"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="category"/>
              <transform value="cc"/>
              <parameter>
                <valueString
                             value="http://terminology.hl7.org/CodeSystem/observation-category"/>
              </parameter>
              <parameter>
                <valueString value="social-history"/>
              </parameter>
              <parameter>
                <valueString value="Social History"/>
              </parameter>
            </target>
            <documentation value="Override category to social-history"/>
          </rule>
          <rule>
            <name value="historyOfPastICode"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="code"/>
              <transform value="cc"/>
              <parameter>
                <valueString value="http://loinc.org"/>
              </parameter>
              <parameter>
                <valueString value="11349-8"/>
              </parameter>
              <parameter>
                <valueString value="History of Past illness"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="historyOfPastIValue"/>
            <source>
              <context value="aCC"/>
              <element value="value"/>
              <variable value="textVal"/>
            </source>
            <target>
              <context value="oCC"/>
              <element value="valueString"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="textVal"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
      <documentation value="History of Past Illness"/>
    </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="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="effectiveDateTime"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="t"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="category"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <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>
      <documentation value="Category (vital signs) - defaukt"/>
    </rule>
    <rule>
      <name value="setObsIdAndFullUrl"/>
      <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>
      <documentation value="Observation id and fullUrl"/>
    </rule>
    <rule>
      <name value="entryRequest"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="request"/>
        <variable value="request"/>
      </target>
      <rule>
        <name value="reqMethod"/>
        <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="reqUrl"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="request"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
      </rule>
      <documentation
                     value="Bundle.entry.request (transaction POST Observation)"/>
    </rule>
    <rule>
      <name value="linkQR"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="derivedFrom"/>
        <variable value="newRef"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="setQRRef"/>
        <source>
          <context value="qr"/>
          <element value="id"/>
          <variable value="qid"/>
        </source>
        <target>
          <context value="newRef"/>
          <element value="reference"/>
          <transform value="append"/>
          <parameter>
            <valueString value="QuestionnaireResponse/"/>
          </parameter>
          <parameter>
            <valueId value="qid"/>
          </parameter>
        </target>
      </rule>
      <documentation value="Link Observation -&gt; QuestionnaireResponse"/>
    </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>
</StructureMap>