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 - TTL Representation

Draft as of 2025-12-12

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

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