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 2026-09-15

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

<http://hl7.org/fhir/StructureMap/ExtractVitalSigns> 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\">\r\n<span style=\"color: #cc00cc\">/// <b>url</b> = </span><span style=\"color: blue\">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractVitalSigns'</span>\r\n<span style=\"color: #cc00cc\">/// <b>name</b> = </span><span style=\"color: blue\">'ExtractVitalSigns'</span>\r\n<span style=\"color: #cc00cc\">/// <b>status</b> = </span><span style=\"color: blue\">'draft'</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">&quot; </span><b>alias </b>QR <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">&quot; </span><b>alias </b>Bundle <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R5/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">&quot; </span><b>alias </b>Observation <b>as </b><b>target</b>\r\n\r\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\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>bundle.type = <span style=\"color: blue\">'transaction'</span> <i>&quot;setBundleType&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Height</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itH</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8302-2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itH.answer first<b> as </b><span style=\"color: maroon\">aH</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oH<span style=\"color: navy\">, </span> eH<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oH</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eH</span><span style=\"color: navy\">)</span> <i>&quot;heightBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oH.category<b> as </b><span style=\"color: maroon\">catH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catH.coding<b> as </b><span style=\"color: maroon\">catHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryH&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oH.code<b> as </b><span style=\"color: maroon\">codeH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeH.coding<b> as </b><span style=\"color: maroon\">codeHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHCoding.code = <span style=\"color: blue\">'8302-2'</span> <i>&quot;codeHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHCoding.display = <span style=\"color: blue\">'Body Height'</span> <i>&quot;codeHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeH&quot;</i><span style=\"color: navy\">;</span>\r\n        aH.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oH.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vH.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vH.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vH.code = <span style=\"color: blue\">'cm'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vH.unit = <span style=\"color: blue\">'centimeter'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valH&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;heightObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;heightAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;heightRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Weight</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itW</span><b> where </b><span style=\"color: navy\">(</span>linkId = '29463-7'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itW.answer first<b> as </b><span style=\"color: maroon\">aW</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oW<span style=\"color: navy\">, </span> eW<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oW</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eW</span><span style=\"color: navy\">)</span> <i>&quot;weightBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oW.category<b> as </b><span style=\"color: maroon\">catW</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catW.coding<b> as </b><span style=\"color: maroon\">catWCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catWCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catWSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catWCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catWCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catWCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catWDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catWCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryW&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oW.code<b> as </b><span style=\"color: maroon\">codeW</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeW.coding<b> as </b><span style=\"color: maroon\">codeWCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeWCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeWSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeWCoding.code = <span style=\"color: blue\">'29463-7'</span> <i>&quot;codeWCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeWCoding.display = <span style=\"color: blue\">'Body Weight'</span> <i>&quot;codeWDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeWCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeW&quot;</i><span style=\"color: navy\">;</span>\r\n        aW.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oW.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vW</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vW.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vW.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vW.code = <span style=\"color: blue\">'kg'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vW.unit = <span style=\"color: blue\">'kilogram'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valW&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;weightObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;weightAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;weightRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">BMI</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itBmi</span><b> where </b><span style=\"color: navy\">(</span>linkId = '39156-5'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itBmi.answer first<b> as </b><span style=\"color: maroon\">aBmi</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oBmi<span style=\"color: navy\">, </span> eBmi<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oBmi</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eBmi</span><span style=\"color: navy\">)</span> <i>&quot;bmiBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oBmi.category<b> as </b><span style=\"color: maroon\">catBmi</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catBmi.coding<b> as </b><span style=\"color: maroon\">catBmiCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catBmiCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catBmiSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catBmiCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catBmiCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catBmiCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catBmiDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catBmiCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryBmi&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oBmi.code<b> as </b><span style=\"color: maroon\">codeBmi</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBmi.coding<b> as </b><span style=\"color: maroon\">codeBmiCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBmiCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeBmiSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBmiCoding.code = <span style=\"color: blue\">'39156-5'</span> <i>&quot;codeBmiCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBmiCoding.display = <span style=\"color: blue\">'Body mass index (BMI) [Ratio]'</span> <i>&quot;codeBmiDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeBmiCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeBmi&quot;</i><span style=\"color: navy\">;</span>\r\n        aBmi.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oBmi.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vBmi</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vBmi.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vBmi.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vBmi.code = <span style=\"color: blue\">'kg/m2'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vBmi.unit = <span style=\"color: blue\">'kilogram per square meter'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valBmi&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">Interpretation 39156-5_status</span>\r\n        itBmi.item<b> as </b><span style=\"color: maroon\">bmiStatusItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '39156-5_status'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\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>&quot;interpBmi&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;setInterpBmi&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;findBmiStatus&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;bmiObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;bmiAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;bmiRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Pulse</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itP</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8889-8'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itP.answer first<b> as </b><span style=\"color: maroon\">aP</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oP<span style=\"color: navy\">, </span> eP<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oP</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eP</span><span style=\"color: navy\">)</span> <i>&quot;pulseBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oP.category<b> as </b><span style=\"color: maroon\">catP</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catP.coding<b> as </b><span style=\"color: maroon\">catPCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catPSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catPCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catPDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catPCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryP&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oP.code<b> as </b><span style=\"color: maroon\">codeP</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeP.coding<b> as </b><span style=\"color: maroon\">codePCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codePSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePCoding.code = <span style=\"color: blue\">'8889-8'</span> <i>&quot;codePCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePCoding.display = <span style=\"color: blue\">'Heart rate by Pulse oximetry'</span> <i>&quot;codePDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codePCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeP&quot;</i><span style=\"color: navy\">;</span>\r\n        aP.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oP.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vP</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vP.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vP.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vP.code = <span style=\"color: blue\">'/min'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vP.unit = <span style=\"color: blue\">'per minute'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valP&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;pulseObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;pulseAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;pulseRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Blood Pressure</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itBP</span><b> where </b><span style=\"color: navy\">(</span>linkId = '55284-4'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<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\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span> oBP<span style=\"color: navy\">, </span> eBP<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oBP</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eBP</span><span style=\"color: navy\">)</span> <i>&quot;bpBase&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>oBP.category<b> as </b><span style=\"color: maroon\">catBP</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span>catBP.coding<b> as </b><span style=\"color: maroon\">catBPCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catBPCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catBPSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>catBPCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catBPCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>catBPCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catBPDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;catBPCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;categoryBP&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>oBP.code<b> as </b><span style=\"color: maroon\">codeBP</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBP.coding<b> as </b><span style=\"color: maroon\">codeBPCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBPCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeBPSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBPCoding.code = <span style=\"color: blue\">'55284-4'</span> <i>&quot;codeBPCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeBPCoding.display = <span style=\"color: blue\">'Blood pressure systolic and diastolic'</span> <i>&quot;codeBPDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeBPCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;codeBP&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">// </span><span style=\"color: green\">Systolic 8480-6</span>\r\n      itBP.item<b> as </b><span style=\"color: maroon\">itSys</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8480-6'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>          aSys<span style=\"color: navy\"><b> -&gt; </b></span>cSys.code<b> as </b><span style=\"color: maroon\">bpSysCC</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            aSys<span style=\"color: navy\"><b> -&gt; </b></span>bpSysCC.coding<b> as </b><span style=\"color: maroon\">bpSysCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>              aSys<span style=\"color: navy\"><b> -&gt; </b></span>bpSysCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;bpSysCodingSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              aSys<span style=\"color: navy\"><b> -&gt; </b></span>bpSysCoding.code = <span style=\"color: blue\">'8480-6'</span> <i>&quot;bpSysCodingCode&quot;</i><span style=\"color: navy\">;</span>\r\n              aSys<span style=\"color: navy\"><b> -&gt; </b></span>bpSysCoding.display = <span style=\"color: blue\">'Systolic blood pressure'</span> <i>&quot;bpSysCodingDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;bpSysCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bpSysCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aSys.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>cSys.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vSys</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            hv<span style=\"color: navy\"><b> -&gt; </b></span>vSys.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vSys.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vSys.code = <span style=\"color: blue\">'mm[Hg]'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vSys.unit = <span style=\"color: blue\">'millimeter of mercury'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bpSysVal&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;bpSysComponent&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;bpSysRule&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">// </span><span style=\"color: green\">Diastolic 8462-4</span>\r\n      itBP.item<b> as </b><span style=\"color: maroon\">itDia</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8462-4'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>          aDia<span style=\"color: navy\"><b> -&gt; </b></span>cDia.code<b> as </b><span style=\"color: maroon\">bpDiaCC</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            aDia<span style=\"color: navy\"><b> -&gt; </b></span>bpDiaCC.coding<b> as </b><span style=\"color: maroon\">bpDiaCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>              aDia<span style=\"color: navy\"><b> -&gt; </b></span>bpDiaCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;bpDiaCodingSystem&quot;</i><span style=\"color: navy\">;</span>\r\n              aDia<span style=\"color: navy\"><b> -&gt; </b></span>bpDiaCoding.code = <span style=\"color: blue\">'8462-4'</span> <i>&quot;bpDiaCodingCode&quot;</i><span style=\"color: navy\">;</span>\r\n              aDia<span style=\"color: navy\"><b> -&gt; </b></span>bpDiaCoding.display = <span style=\"color: blue\">'Diastolic blood pressure'</span> <i>&quot;bpDiaCodingDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n            <span style=\"color: navy\">}</span> <i>&quot;bpDiaCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bpDiaCode&quot;</i><span style=\"color: navy\">;</span>\r\n          aDia.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>cDia.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vDia</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            hv<span style=\"color: navy\"><b> -&gt; </b></span>vDia.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vDia.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vDia.code = <span style=\"color: blue\">'mm[Hg]'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>vDia.unit = <span style=\"color: blue\">'millimeter of mercury'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;bpDiaVal&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;bpDiaComponent&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;bpDiaRule&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;bpObs&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;bpRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Temperature</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itT</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8310-5'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itT.answer first<b> as </b><span style=\"color: maroon\">aT</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oT<span style=\"color: navy\">, </span> eT<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oT</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eT</span><span style=\"color: navy\">)</span> <i>&quot;tempBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oT.category<b> as </b><span style=\"color: maroon\">catT</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catT.coding<b> as </b><span style=\"color: maroon\">catTCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catTCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catTSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catTCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catTCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catTCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catTDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catTCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryT&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oT.code<b> as </b><span style=\"color: maroon\">codeT</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeT.coding<b> as </b><span style=\"color: maroon\">codeTCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeTCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeTSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeTCoding.code = <span style=\"color: blue\">'8310-5'</span> <i>&quot;codeTCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeTCoding.display = <span style=\"color: blue\">'Body Temperature'</span> <i>&quot;codeTDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeTCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeT&quot;</i><span style=\"color: navy\">;</span>\r\n        aT.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oT.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vT</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vT.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vT.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vT.code = <span style=\"color: blue\">'Cel'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vT.unit = <span style=\"color: blue\">'degree Celsius'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valT&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">Interpretation 8310-5_status</span>\r\n        itT.item<b> as </b><span style=\"color: maroon\">tStatusItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8310-5_status'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\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>&quot;interpT&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;setInterpT&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;findTStatus&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;tempObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;tempAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;tempRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">SpO2</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itO2</span><b> where </b><span style=\"color: navy\">(</span>linkId = '20564-1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itO2.answer first<b> as </b><span style=\"color: maroon\">aO2</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oO2<span style=\"color: navy\">, </span> eO2<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oO2</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eO2</span><span style=\"color: navy\">)</span> <i>&quot;spo2Base&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oO2.category<b> as </b><span style=\"color: maroon\">catO2</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catO2.coding<b> as </b><span style=\"color: maroon\">catO2Coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catO2Coding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catO2Sys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catO2Coding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catO2Code&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catO2Coding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catO2Display&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catO2CodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryO2&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oO2.code<b> as </b><span style=\"color: maroon\">codeO2</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeO2.coding<b> as </b><span style=\"color: maroon\">codeO2Coding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeO2Coding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeO2Sys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeO2Coding.code = <span style=\"color: blue\">'20564-1'</span> <i>&quot;codeO2Code&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeO2Coding.display = <span style=\"color: blue\">'Oxygen saturation in Blood'</span> <i>&quot;codeO2Display&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeO2CodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeO2&quot;</i><span style=\"color: navy\">;</span>\r\n        aO2.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oO2.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vO2</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vO2.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vO2.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vO2.code = <span style=\"color: blue\">'%'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vO2.unit = <span style=\"color: blue\">'%'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valO2&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">Interpretation of SpO2 20564-1_status</span>\r\n        itO2.item<b> as </b><span style=\"color: maroon\">o2StatusItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = '20564-1_status'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\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>&quot;interpO2&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;setInterpO2&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;findO2Status&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;spo2Obs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;spo2Ans&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;spo2Rule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Respiratory rate</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itRR</span><b> where </b><span style=\"color: navy\">(</span>linkId = '9279-1'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itRR.answer first<b> as </b><span style=\"color: maroon\">aRR</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oRR<span style=\"color: navy\">, </span> eRR<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oRR</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eRR</span><span style=\"color: navy\">)</span> <i>&quot;rrBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oRR.category<b> as </b><span style=\"color: maroon\">catRR</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catRR.coding<b> as </b><span style=\"color: maroon\">catRRCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRRCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catRRSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRRCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catRRCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRRCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catRRDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catRRCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryRR&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oRR.code<b> as </b><span style=\"color: maroon\">codeRR</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRR.coding<b> as </b><span style=\"color: maroon\">codeRRCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRRCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeRRSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRRCoding.code = <span style=\"color: blue\">'9279-1'</span> <i>&quot;codeRRCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRRCoding.display = <span style=\"color: blue\">'Respiratory rate'</span> <i>&quot;codeRRDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeRRCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeRR&quot;</i><span style=\"color: navy\">;</span>\r\n        aRR.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oRR.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vRR</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vRR.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vRR.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vRR.code = <span style=\"color: blue\">'/min'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vRR.unit = <span style=\"color: blue\">'per minute'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valRR&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;rrObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;rrAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;rrRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">MUAC</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itMuac</span><b> where </b><span style=\"color: navy\">(</span>linkId = '9847-5'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itMuac.answer first<b> as </b><span style=\"color: maroon\">aMuac</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oMuac<span style=\"color: navy\">, </span> eMuac<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oMuac</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eMuac</span><span style=\"color: navy\">)</span> <i>&quot;muacBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oMuac.category<b> as </b><span style=\"color: maroon\">catMuac</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catMuac.coding<b> as </b><span style=\"color: maroon\">catMuacCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMuacCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catMuacSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMuacCoding.code = <span style=\"color: blue\">'vital-signs'</span> <i>&quot;catMuacCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMuacCoding.display = <span style=\"color: blue\">'Vital Signs'</span> <i>&quot;catMuacDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catMuacCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;categoryMuac&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oMuac.code<b> as </b><span style=\"color: maroon\">codeMuac</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMuac.coding<b> as </b><span style=\"color: maroon\">codeMuacCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMuacCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeMuacSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMuacCoding.code = <span style=\"color: blue\">'9847-5'</span> <i>&quot;codeMuacCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMuacCoding.display = <span style=\"color: blue\">'Circumference'</span> <i>&quot;codeMuacDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeMuacCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeMuac&quot;</i><span style=\"color: navy\">;</span>\r\n        aMuac.value<b> as </b><span style=\"color: maroon\">hv</span><span style=\"color: navy\"><b> -&gt; </b></span>oMuac.value = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Quantity'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">vMuac</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          hv<span style=\"color: navy\"><b> -&gt; </b></span>vMuac.value = <span style=\"color: maroon\">hv</span> <i>&quot;setVal&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vMuac.system = <span style=\"color: blue\">'http://unitsofmeasure.org'</span> <i>&quot;setSys&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vMuac.code = <span style=\"color: blue\">'mm'</span> <i>&quot;setCode&quot;</i><span style=\"color: navy\">;</span>\r\n          qr<span style=\"color: navy\"><b> -&gt; </b></span>vMuac.unit = <span style=\"color: blue\">'millimeter'</span> <i>&quot;setUnit&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;valMuac&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;muacObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;muacAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;muacRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Chief Complaint</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itCC</span><b> where </b><span style=\"color: navy\">(</span>linkId = '10154-3'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itCC.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;chiefComplaintBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catCC</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catCC.coding<b> as </b><span style=\"color: maroon\">catCCCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catCCCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catCCSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catCCCoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catCCCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catCCCoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catCCDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catCCCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;chiefComplaintCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeCC</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCC.coding<b> as </b><span style=\"color: maroon\">codeCCCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCCCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeCCSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCCCoding.code = <span style=\"color: blue\">'10154-3'</span> <i>&quot;codeCCCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCCCoding.display = <span style=\"color: blue\">'Chief complaint Narrative - Reported'</span> <i>&quot;codeCCDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeCCCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;chiefComplaintCode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;chiefComplaintValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;chiefComplaintObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;chiefComplaintAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;chiefComplaintRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">History of Presenting Illness</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">hpiCC</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8684-3'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    hpiCC.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;historyOfPIBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catHPI</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catHPI.coding<b> as </b><span style=\"color: maroon\">catHPICoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHPICoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catHPISys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHPICoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catHPICode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catHPICoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catHPIDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catHPICodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;historyOfPICategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeHPI</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHPI.coding<b> as </b><span style=\"color: maroon\">codeHPICoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHPICoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeHPISys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHPICoding.code = <span style=\"color: blue\">'8684-3'</span> <i>&quot;codeHPICode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeHPICoding.display = <span style=\"color: blue\">'History of Present illness'</span> <i>&quot;codeHPIDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeHPICodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;historyOfPICode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;historyOfPIValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;historyOfPIObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;historyOfPIAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;historyOfPIRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">History of Past Illness / Past Medical History</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">hPastCC</span><b> where </b><span style=\"color: navy\">(</span>linkId = '11349-8'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    hPastCC.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;historyOfPastIBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catPastI</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catPastI.coding<b> as </b><span style=\"color: maroon\">catPastICoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPastICoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catPastISys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPastICoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catPastICode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catPastICoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catPastIDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catPastICodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;historyOfPastICategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codePastI</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codePastI.coding<b> as </b><span style=\"color: maroon\">codePastICoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePastICoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codePastISys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePastICoding.code = <span style=\"color: blue\">'11349-8'</span> <i>&quot;codePastICode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePastICoding.display = <span style=\"color: blue\">'History of Past illness'</span> <i>&quot;codePastIDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codePastICodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;historyOfPastICode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;historyOfPastIValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;historyOfPastIObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;historyOfPastIAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;historyOfPastIRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Family History</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">hFH</span><b> where </b><span style=\"color: navy\">(</span>linkId = '8670-2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    hFH.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;familyFHIBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catFH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catFH.coding<b> as </b><span style=\"color: maroon\">catFHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catFHCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catFHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catFHCoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catFHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catFHCoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catFHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catFHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;familyHICategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeFH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeFH.coding<b> as </b><span style=\"color: maroon\">codeFHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeFHCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeFHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeFHCoding.code = <span style=\"color: blue\">'8670-2'</span> <i>&quot;codeFHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeFHCoding.display = <span style=\"color: blue\">'History of family member diseases'</span> <i>&quot;codeFHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeFHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;familyHICode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;familyHIValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;familyHIObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;familyHIAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;familyHIRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Social History</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">hSH</span><b> where </b><span style=\"color: navy\">(</span>linkId = '29762-2'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    hSH.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;socialHistoryIBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catSH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catSH.coding<b> as </b><span style=\"color: maroon\">catSHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catSHCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catSHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catSHCoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catSHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catSHCoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catSHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catSHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;socialHistoryCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeSH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeSH.coding<b> as </b><span style=\"color: maroon\">codeSHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeSHCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeSHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeSHCoding.code = <span style=\"color: blue\">'29762-2'</span> <i>&quot;codeSHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeSHCoding.display = <span style=\"color: blue\">'Social history note'</span> <i>&quot;codeSHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeSHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;socialHistoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;socialHistoryIValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;socialHistoryIObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;socialHistoryIAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;socialHistoryIRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Medication History</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">medicationH</span><b> where </b><span style=\"color: navy\">(</span>linkId = '10160-0'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    medicationH.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;medicationHIBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catMedH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catMedH.coding<b> as </b><span style=\"color: maroon\">catMedHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMedHCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catMedHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMedHCoding.code = <span style=\"color: blue\">'therapy'</span> <i>&quot;catMedHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catMedHCoding.display = <span style=\"color: blue\">'Therapy'</span> <i>&quot;catMedHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catMedHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;medicationHCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeMedH</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMedH.coding<b> as </b><span style=\"color: maroon\">codeMedHCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMedHCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeMedHSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMedHCoding.code = <span style=\"color: blue\">'10160-0'</span> <i>&quot;codeMedHCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeMedHCoding.display = <span style=\"color: blue\">'History of Medication use Narrative'</span> <i>&quot;codeMedHDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeMedHCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;medicationHistoryCode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;medicationHistoryIValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;medicationHistoryIObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;medicationHistoryIAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;medicationHistoryIRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Risk Factors</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">riskF</span><b> where </b><span style=\"color: navy\">(</span>linkId = '46467-7'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    riskF.answer first<b> as </b><span style=\"color: maroon\">aCC</span><b> then</b><span style=\"color: navy\"> {\r\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\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCC<span style=\"color: navy\">, </span> eCC<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCC</span><span style=\"color: navy\">)</span> <i>&quot;riskFactorsBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.category<b> as </b><span style=\"color: maroon\">catRF</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>catRF.coding<b> as </b><span style=\"color: maroon\">catRFCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRFCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;catRFSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRFCoding.code = <span style=\"color: blue\">'social-history'</span> <i>&quot;catRFCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>catRFCoding.display = <span style=\"color: blue\">'Social History'</span> <i>&quot;catRFDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;catRFCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;riskFactorsCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCC.code<b> as </b><span style=\"color: maroon\">codeRF</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRF.coding<b> as </b><span style=\"color: maroon\">codeRFCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRFCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeRFSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRFCoding.code = <span style=\"color: blue\">'46467-7'</span> <i>&quot;codeRFCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeRFCoding.display = <span style=\"color: blue\">'Risk factors'</span> <i>&quot;codeRFDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeRFCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;riskFactorsCode&quot;</i><span style=\"color: navy\">;</span>\r\n        aCC.value<b> as </b><span style=\"color: maroon\">textVal</span><span style=\"color: navy\"><b> -&gt; </b></span>oCC.value = <span style=\"color: maroon\">textVal</span> <i>&quot;riskFactorsValue&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;riskFactorsObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;riskFactorsAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;riskFactorsRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">───────────────────────────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Admissions observation templates.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">These forms carry the design's own field ids as linkIds rather than the LOINC</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">codes the rules above match on, so the linkId and the Observation.code are</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">stated separately. Everything they produce is category `exam` - a reading</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">taken at the bedside as part of assessing the patient, not a lab result and</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">not a vital sign.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">───────────────────────────────────────────────────────────────────────────</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Pain score - pain at rest</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itPar</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'painAtRest'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itPar.answer first<b> as </b><span style=\"color: maroon\">aPar</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      aPar<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">ePar</span><span style=\"color: navy\">, </span> ePar.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\">oPar</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oPar<span style=\"color: navy\">, </span> ePar<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPar</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ePar</span><span style=\"color: navy\">)</span> <i>&quot;painAtRestBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPar<b> then </b>SetExamCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPar</span><span style=\"color: navy\">)</span> <i>&quot;painAtRestCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPar.code<b> as </b><span style=\"color: maroon\">codePar</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codePar.coding<b> as </b><span style=\"color: maroon\">codeParCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeParCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeParSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeParCoding.code = <span style=\"color: blue\">'99302-2'</span> <i>&quot;codeParCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeParCoding.display = <span style=\"color: blue\">'Verbal complaints while at rest'</span> <i>&quot;codeParDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeParCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codePar&quot;</i><span style=\"color: navy\">;</span>\r\n        aPar.value<b> as </b><span style=\"color: maroon\">pv</span><span style=\"color: navy\"><b> -&gt; </b></span>oPar.value = <span style=\"color: maroon\">pv</span> <i>&quot;valPar&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPar<b> then </b>SetPainBodySite<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPar</span><span style=\"color: navy\">)</span> <i>&quot;painAtRestSite&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;painAtRestObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;painAtRestAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;painAtRestRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Pain score - pain on movement</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itPom</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'painOnMovement'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itPom.answer first<b> as </b><span style=\"color: maroon\">aPom</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      aPom<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">ePom</span><span style=\"color: navy\">, </span> ePom.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\">oPom</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oPom<span style=\"color: navy\">, </span> ePom<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPom</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">ePom</span><span style=\"color: navy\">)</span> <i>&quot;painOnMovementBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPom<b> then </b>SetExamCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPom</span><span style=\"color: navy\">)</span> <i>&quot;painOnMovementCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPom.code<b> as </b><span style=\"color: maroon\">codePom</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codePom.coding<b> as </b><span style=\"color: maroon\">codePomCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePomCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codePomSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePomCoding.code = <span style=\"color: blue\">'99294-1'</span> <i>&quot;codePomCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codePomCoding.display = <span style=\"color: blue\">'Verbal complaints during movement'</span> <i>&quot;codePomDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codePomCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codePom&quot;</i><span style=\"color: navy\">;</span>\r\n        aPom.value<b> as </b><span style=\"color: maroon\">pv</span><span style=\"color: navy\"><b> -&gt; </b></span>oPom.value = <span style=\"color: maroon\">pv</span> <i>&quot;valPom&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oPom<b> then </b>SetPainBodySite<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oPom</span><span style=\"color: navy\">)</span> <i>&quot;painOnMovementSite&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;painOnMovementObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;painOnMovementAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;painOnMovementRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Blood glucose - capillary glucose</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itCg</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'capillaryGlucose'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itCg.answer first<b> as </b><span style=\"color: maroon\">aCg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      aCg<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eCg</span><span style=\"color: navy\">, </span> eCg.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\">oCg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oCg<span style=\"color: navy\">, </span> eCg<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCg</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eCg</span><span style=\"color: navy\">)</span> <i>&quot;capillaryGlucoseBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCg<b> then </b>SetExamCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oCg</span><span style=\"color: navy\">)</span> <i>&quot;capillaryGlucoseCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oCg.code<b> as </b><span style=\"color: maroon\">codeCg</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCg.coding<b> as </b><span style=\"color: maroon\">codeCgCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCgCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeCgSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCgCoding.code = <span style=\"color: blue\">'14743-9'</span> <i>&quot;codeCgCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeCgCoding.display = <span style=\"color: blue\">'Glucose [Moles/volume] in Capillary blood by Glucometer'</span> <i>&quot;codeCgDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeCgCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeCg&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">The answer is already a Quantity - the item is type `quantity` with</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">questionnaire-unitOption pinning mmol/L - so copy it through whole. The</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">vitals rules above rebuild a Quantity because their answers are bare</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">decimals; rebuilding here would mean restating the unit, and restating a</span>\r\n        <span style=\"color: navy\">// </span><span style=\"color: green\">unit the client actually sent turns a wrong unit into a wrong reading.</span>\r\n        aCg.value<b> as </b><span style=\"color: maroon\">gv</span><span style=\"color: navy\"><b> -&gt; </b></span>oCg.value = <span style=\"color: maroon\">gv</span> <i>&quot;valCg&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;capillaryGlucoseObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;capillaryGlucoseAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;capillaryGlucoseRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Blood glucose - insulin given against the reading.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">4287-9 is &quot;Insulin regular [Mass] of Dose&quot;: PROPERTY Mass, SCALE_TYP Qn. The</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">form captures free text (&quot;4 units Actrapid&quot;), and insulin is dosed in</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">international units rather than by mass, so the answer lands in valueString</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">rather than the Quantity the code implies. It records what the nurse wrote,</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">which is the point; a mass in mg is not what anyone is charting.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">itIns</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'insulinGiven'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    itIns.answer first<b> as </b><span style=\"color: maroon\">aIns</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      aIns<span style=\"color: navy\"><b> -&gt; </b></span> bundle.entry<b> as </b><span style=\"color: maroon\">eIns</span><span style=\"color: navy\">, </span> eIns.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\">oIns</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        qr<span style=\"color: navy\"><b> -&gt; </b></span> oIns<span style=\"color: navy\">, </span> eIns<b> then </b>BuildBaseObs<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oIns</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">eIns</span><span style=\"color: navy\">)</span> <i>&quot;insulinGivenBase&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oIns<b> then </b>SetExamCategory<span style=\"color: navy\">(</span><span style=\"color: maroon\">qr</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">oIns</span><span style=\"color: navy\">)</span> <i>&quot;insulinGivenCategory&quot;</i><span style=\"color: navy\">;</span>\r\n        qr<span style=\"color: navy\"><b> -&gt; </b></span>oIns.code<b> as </b><span style=\"color: maroon\">codeIns</span><b> then</b><span style=\"color: navy\"> {\r\n</span>          qr<span style=\"color: navy\"><b> -&gt; </b></span>codeIns.coding<b> as </b><span style=\"color: maroon\">codeInsCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeInsCoding.system = <span style=\"color: blue\">'http://loinc.org'</span> <i>&quot;codeInsSys&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeInsCoding.code = <span style=\"color: blue\">'4287-9'</span> <i>&quot;codeInsCode&quot;</i><span style=\"color: navy\">;</span>\r\n            qr<span style=\"color: navy\"><b> -&gt; </b></span>codeInsCoding.display = <span style=\"color: blue\">'Insulin regular [Mass] of Dose'</span> <i>&quot;codeInsDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n          <span style=\"color: navy\">}</span> <i>&quot;codeInsCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n        <span style=\"color: navy\">}</span> <i>&quot;codeIns&quot;</i><span style=\"color: navy\">;</span>\r\n        aIns.value<b> as </b><span style=\"color: maroon\">iv</span><span style=\"color: navy\"><b> -&gt; </b></span>oIns.value = <span style=\"color: maroon\">iv</span> <i>&quot;valIns&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;insulinGivenObs&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;insulinGivenAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;insulinGivenRule&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Category `exam`, shared by every observation the admissions templates produce.</span>\r\n<b>group </b>SetExamCategory<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>cat.coding<b> as </b><span style=\"color: maroon\">catCoding</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      qr<span style=\"color: navy\"><b> -&gt; </b></span>catCoding.system = <span style=\"color: blue\">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;examSys&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>catCoding.code = <span style=\"color: blue\">'exam'</span> <i>&quot;examCode&quot;</i><span style=\"color: navy\">;</span>\r\n      qr<span style=\"color: navy\"><b> -&gt; </b></span>catCoding.display = <span style=\"color: blue\">'Exam'</span> <i>&quot;examDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;examCodingRule&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;examCategory&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">The pain form asks for one site covering both scores, so it lands on each of</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">the two Observations. It is free text today, hence bodySite.text rather than a</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">coding; swap to bodySite.coding once the picker's option list is coded.</span>\r\n<b>group </b>SetPainBodySite<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QR, <b>target</b> <span style=\"color: maroon\">obs</span><span style=\"color: navy\"> : </span>Observation<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  qr.item<b> as </b><span style=\"color: maroon\">siteItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'site'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    siteItem.answer first<b> as </b><span style=\"color: maroon\">siteAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      siteAns.value<b> as </b><span style=\"color: maroon\">siteVal</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.bodySite<b> as </b><span style=\"color: maroon\">bs</span><b> then</b><span style=\"color: navy\"> {\r\n</span>        siteVal<span style=\"color: navy\"><b> -&gt; </b></span>bs.text = <span style=\"color: maroon\">siteVal</span> <i>&quot;bodySiteText&quot;</i><span style=\"color: navy\">;</span>\r\n      <span style=\"color: navy\">}</span> <i>&quot;bodySite&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;siteAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;siteRule&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\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\"> {\r\n</span>  qr<span style=\"color: navy\"><b> -&gt; </b></span>obs.status = <span style=\"color: blue\">'final'</span> <i>&quot;status&quot;</i><span style=\"color: navy\">;</span>\r\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>\r\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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">`effective`, not `effectiveDateTime`: the R5 transform engine writes choice</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">elements by their base name and rejects the typed form with &quot;Attempt to write</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">to invalid property 'effectiveDateTime' on type Observation&quot;. The value is a</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">dateTime, so the engine picks effectiveDateTime itself.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">The admissions templates ask for the time the reading was taken, which is the</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">clinically meaningful one - a nurse writing up at the end of a round would</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">otherwise stamp every reading with the moment they saved the form. Fall back</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">to `authored` for the forms that do not ask.</span>\r\n  qr.item<b> as </b><span style=\"color: maroon\">tItem</span><b> where </b><span style=\"color: navy\">(</span>linkId = 'timeTaken'<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    tItem.answer first<b> as </b><span style=\"color: maroon\">tAns</span><b> then</b><span style=\"color: navy\"> {\r\n</span>      tAns.value<b> as </b><span style=\"color: maroon\">tv</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.effective = <span style=\"color: maroon\">tv</span> <i>&quot;effectiveFromTimeTaken&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;timeTakenAns&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;timeTakenRule&quot;</i><span style=\"color: navy\">;</span>\r\n  qr<b> where </b><span style=\"color: navy\">(</span>item.where(linkId = 'timeTaken').answer.value.exists().not()<span style=\"color: navy\">)</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    qr.authored<b> as </b><span style=\"color: maroon\">t</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.effective = <span style=\"color: maroon\">t</span> <i>&quot;effectiveFromAuthored&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;authoredFallback&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Performer from QuestionnaireResponse.source</span>\r\n  qr.source<b> as </b><span style=\"color: maroon\">src</span><span style=\"color: navy\"><b> -&gt; </b></span>obs.performer = <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\">perf</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    src.reference<b> as </b><span style=\"color: maroon\">ref</span><span style=\"color: navy\"><b> -&gt; </b></span>perf.reference = <span style=\"color: maroon\">ref</span> <i>&quot;perfRef&quot;</i><span style=\"color: navy\">;</span>\r\n    src.display<b> as </b><span style=\"color: maroon\">disp</span><span style=\"color: navy\"><b> -&gt; </b></span>perf.display = <span style=\"color: maroon\">disp</span> <i>&quot;perfDisplay&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;performer&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Observation id and fullUrl</span>\r\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>&quot;setObsIdAndFullUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Bundle.entry.request (transaction POST Observation)</span>\r\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\"> {\r\n</span>    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.method = <span style=\"color: blue\">'POST'</span> <i>&quot;reqMethod&quot;</i><span style=\"color: navy\">;</span>\r\n    qr<span style=\"color: navy\"><b> -&gt; </b></span>request.url = <span style=\"color: blue\">'Observation'</span> <i>&quot;reqUrl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;entryRequest&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Link Observation -&gt; QuestionnaireResponse.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">No append: under this engine `qr.id` already resolves to the type-qualified</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">relative reference (&quot;QuestionnaireResponse/xyz&quot;), so prefixing it again</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">produced &quot;QuestionnaireResponse/QuestionnaireResponse/xyz&quot; - a reference that</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">resolves to nothing.</span>\r\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\"> {\r\n</span>    qr.id<b> as </b><span style=\"color: maroon\">qid</span><span style=\"color: navy\"><b> -&gt; </b></span>newRef.reference = <span style=\"color: maroon\">qid</span> <i>&quot;setQRRef&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;linkQR&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\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\"> {\r\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>&quot;assignFullUrl&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:url [ fhir:v "https://fhir.slade360.co.ke/fhir/StructureMap/ExtractVitalSigns"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "ExtractVitalSigns"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:date [ fhir:v "2026-09-15T11:40:24+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:link <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:link <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:link <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:context [ fhir:v "oH" ]
             ] [
               fhir:context [ 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 "categoryH" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oH" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "8302-2"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vH" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oW" ]
             ] [
               fhir:context [ 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 "categoryW" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oW" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catW" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catWCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catW" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catWCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catWSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catWCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catWCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catWCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catWDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catWCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeW" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeWCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeW" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeWCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeWSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeWCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeWCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeWCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "29463-7"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeWDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeWCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vW" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oBmi" ]
             ] [
               fhir:context [ 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 "categoryBmi" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oBmi" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catBmi" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catBmiCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catBmi" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catBmiCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catBmiSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catBmiCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catBmiCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catBmiCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catBmiDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catBmiCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeBmi" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeBmiCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeBmi" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeBmiCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeBmiSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeBmiCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeBmiCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeBmiCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "39156-5"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeBmiDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeBmiCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vBmi" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oP" ]
             ] [
               fhir:context [ 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 "categoryP" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oP" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catP" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catPCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catP" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catPCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catPSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catPCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catPDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeP" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codePCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeP" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codePCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codePSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "8889-8"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vP" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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 "bpObs" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "qr" ]
         ] ) ;
         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:context [ fhir:v "oBP" ]
           ] [
             fhir:context [ 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 "categoryBP" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "qr" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "oBP" ] ;
             fhir:element [ fhir:v "category" ] ;
             fhir:variable [ fhir:v "catBP" ]
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "catBPCodingRule" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "catBP" ] ;
               fhir:element [ fhir:v "coding" ] ;
               fhir:variable [ fhir:v "catBPCoding" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catBPSys" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catBPCoding" ] ;
                 fhir:element [ fhir:v "system" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                   ]
                 ] )
               ] )
             ] [
               fhir:name [ fhir:v "catBPCode" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catBPCoding" ] ;
                 fhir:element [ fhir:v "code" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "vital-signs"
                   ]
                 ] )
               ] )
             ] [
               fhir:name [ fhir:v "catBPDisplay" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catBPCoding" ] ;
                 fhir:element [ fhir:v "display" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "Vital Signs"
                   ]
                 ] )
               ] )
             ] )
           ] )
         ] [
           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:variable [ fhir:v "codeBP" ]
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "codeBPCodingRule" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "codeBP" ] ;
               fhir:element [ fhir:v "coding" ] ;
               fhir:variable [ fhir:v "codeBPCoding" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeBPSys" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeBPCoding" ] ;
                 fhir:element [ fhir:v "system" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "http://loinc.org"
                   ]
                 ] )
               ] )
             ] [
               fhir:name [ fhir:v "codeBPCode" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeBPCoding" ] ;
                 fhir:element [ fhir:v "code" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "55284-4"
                   ]
                 ] )
               ] )
             ] [
               fhir:name [ fhir:v "codeBPDisplay" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeBPCoding" ] ;
                 fhir:element [ fhir:v "display" ] ;
                 fhir:transform [ fhir:v "copy" ] ;
                 fhir:parameter ( [
                   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:variable [ fhir:v "bpSysCC" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "bpSysCodingRule" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "aSys" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "bpSysCC" ] ;
                   fhir:element [ fhir:v "coding" ] ;
                   fhir:variable [ fhir:v "bpSysCoding" ]
                 ] ) ;
                 fhir:rule ( [
                   fhir:name [ fhir:v "bpSysCodingSystem" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aSys" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpSysCoding" ] ;
                     fhir:element [ fhir:v "system" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       fhir:value [
                         a fhir:string ;
                         fhir:v "http://loinc.org"
                       ]
                     ] )
                   ] )
                 ] [
                   fhir:name [ fhir:v "bpSysCodingCode" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aSys" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpSysCoding" ] ;
                     fhir:element [ fhir:v "code" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       fhir:value [
                         a fhir:string ;
                         fhir:v "8480-6"
                       ]
                     ] )
                   ] )
                 ] [
                   fhir:name [ fhir:v "bpSysCodingDisplay" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aSys" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpSysCoding" ] ;
                     fhir:element [ fhir:v "display" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       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 "value" ] ;
                 fhir:variable [ fhir:v "vSys" ] ;
                 fhir:transform [ fhir:v "create" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "Quantity"
                   ]
                 ] )
               ] ) ;
               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:variable [ fhir:v "bpDiaCC" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "bpDiaCodingRule" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "aDia" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "bpDiaCC" ] ;
                   fhir:element [ fhir:v "coding" ] ;
                   fhir:variable [ fhir:v "bpDiaCoding" ]
                 ] ) ;
                 fhir:rule ( [
                   fhir:name [ fhir:v "bpDiaCodingSystem" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aDia" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpDiaCoding" ] ;
                     fhir:element [ fhir:v "system" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       fhir:value [
                         a fhir:string ;
                         fhir:v "http://loinc.org"
                       ]
                     ] )
                   ] )
                 ] [
                   fhir:name [ fhir:v "bpDiaCodingCode" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aDia" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpDiaCoding" ] ;
                     fhir:element [ fhir:v "code" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       fhir:value [
                         a fhir:string ;
                         fhir:v "8462-4"
                       ]
                     ] )
                   ] )
                 ] [
                   fhir:name [ fhir:v "bpDiaCodingDisplay" ] ;
                   fhir:source ( [
                     fhir:context [ fhir:v "aDia" ]
                   ] ) ;
                   fhir:target ( [
                     fhir:context [ fhir:v "bpDiaCoding" ] ;
                     fhir:element [ fhir:v "display" ] ;
                     fhir:transform [ fhir:v "copy" ] ;
                     fhir:parameter ( [
                       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 "value" ] ;
                 fhir:variable [ fhir:v "vDia" ] ;
                 fhir:transform [ fhir:v "create" ] ;
                 fhir:parameter ( [
                   fhir:value [
                     a fhir:string ;
                     fhir:v "Quantity"
                   ]
                 ] )
               ] ) ;
               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:context [ fhir:v "oT" ]
             ] [
               fhir:context [ 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 "categoryT" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oT" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catT" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catTCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catT" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catTCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catTSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catTCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catTCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catTCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catTDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catTCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeT" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeTCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeT" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeTCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeTSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeTCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeTCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeTCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "8310-5"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeTDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeTCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vT" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oO2" ]
             ] [
               fhir:context [ 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 "categoryO2" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oO2" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catO2" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catO2CodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catO2" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catO2Coding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catO2Sys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catO2Coding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catO2Code" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catO2Coding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catO2Display" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catO2Coding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeO2" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeO2CodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeO2" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeO2Coding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeO2Sys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeO2Coding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeO2Code" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeO2Coding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "20564-1"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeO2Display" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeO2Coding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vO2" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oRR" ]
             ] [
               fhir:context [ 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 "categoryRR" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oRR" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catRR" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catRRCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catRR" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catRRCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catRRSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRRCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catRRCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRRCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catRRDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRRCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeRR" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeRRCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeRR" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeRRCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeRRSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRRCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeRRCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRRCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "9279-1"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeRRDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRRCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vRR" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oMuac" ]
             ] [
               fhir:context [ 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 "categoryMuac" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oMuac" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catMuac" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catMuacCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catMuac" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catMuacCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catMuacSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMuacCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catMuacCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMuacCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "vital-signs"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catMuacDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMuacCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Vital Signs"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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:variable [ fhir:v "codeMuac" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeMuacCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeMuac" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeMuacCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeMuacSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMuacCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeMuacCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMuacCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "9847-5"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeMuacDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMuacCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:variable [ fhir:v "vMuac" ] ;
               fhir:transform [ fhir:v "create" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:string ;
                   fhir:v "Quantity"
                 ]
               ] )
             ] ) ;
             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:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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:variable [ fhir:v "catCC" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catCCCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catCC" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catCCCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catCCSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catCCCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catCCCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catCCCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catCCDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catCCCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "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:variable [ fhir:v "codeCC" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeCCCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeCC" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeCCCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeCCSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCCCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeCCCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCCCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "10154-3"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeCCDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCCCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Chief complaint Narrative - Reported"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             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 "value" ] ;
               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:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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:variable [ fhir:v "catHPI" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catHPICodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catHPI" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catHPICoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catHPISys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHPICoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catHPICode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHPICoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catHPIDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catHPICoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "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:variable [ fhir:v "codeHPI" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeHPICodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeHPI" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeHPICoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeHPISys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHPICoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeHPICode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHPICoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "8684-3"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeHPIDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeHPICoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               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:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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:variable [ fhir:v "catPastI" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catPastICodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catPastI" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catPastICoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catPastISys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPastICoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catPastICode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPastICoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catPastIDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catPastICoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "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:variable [ fhir:v "codePastI" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codePastICodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codePastI" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codePastICoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codePastISys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePastICoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePastICode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePastICoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "11349-8"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePastIDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePastICoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     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 "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "textVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "History of Past Illness / Past Medical History" ]
     ] [
       fhir:name [ fhir:v "familyHIRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "hFH" ] ;
         fhir:condition [ fhir:v "linkId = '8670-2'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "familyHIAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "hFH" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aCC" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "familyHIObs" ] ;
           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 "familyFHIBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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 "familyHICategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catFH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catFHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catFH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catFHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catFHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catFHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catFHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catFHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catFHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catFHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Social History"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "familyHICode" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeFH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeFHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeFH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeFHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeFHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeFHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeFHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeFHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "8670-2"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeFHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeFHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "History of family member diseases"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "familyHIValue" ] ;
             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 "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "textVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Family History" ]
     ] [
       fhir:name [ fhir:v "socialHistoryIRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "hSH" ] ;
         fhir:condition [ fhir:v "linkId = '29762-2'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "socialHistoryIAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "hSH" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aCC" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "socialHistoryIObs" ] ;
           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 "socialHistoryIBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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 "socialHistoryCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catSH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catSHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catSH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catSHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catSHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catSHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catSHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catSHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catSHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catSHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Social History"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "socialHistoryCode" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeSH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeSHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeSH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeSHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeSHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeSHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeSHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeSHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "29762-2"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeSHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeSHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Social history note"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "socialHistoryIValue" ] ;
             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 "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "textVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Social History" ]
     ] [
       fhir:name [ fhir:v "medicationHistoryIRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "medicationH" ] ;
         fhir:condition [ fhir:v "linkId = '10160-0'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "medicationHistoryIAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "medicationH" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aCC" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "medicationHistoryIObs" ] ;
           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 "medicationHIBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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 "medicationHCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catMedH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catMedHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catMedH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catMedHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catMedHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMedHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catMedHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMedHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "therapy"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catMedHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catMedHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Therapy"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "medicationHistoryCode" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeMedH" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeMedHCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeMedH" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeMedHCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeMedHSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMedHCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeMedHCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMedHCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "10160-0"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeMedHDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeMedHCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "History of Medication use Narrative"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "medicationHistoryIValue" ] ;
             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 "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "textVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Medication History" ]
     ] [
       fhir:name [ fhir:v "riskFactorsRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "riskF" ] ;
         fhir:condition [ fhir:v "linkId = '46467-7'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "riskFactorsAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "riskF" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aCC" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "riskFactorsObs" ] ;
           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 "riskFactorsBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ]
             ] [
               fhir:context [ 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 "riskFactorsCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "category" ] ;
               fhir:variable [ fhir:v "catRF" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "catRFCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "catRF" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "catRFCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "catRFSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRFCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catRFCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRFCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "social-history"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "catRFDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "catRFCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Social History"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "riskFactorsCode" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCC" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeRF" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeRFCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeRF" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeRFCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeRFSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRFCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeRFCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRFCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "46467-7"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeRFDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeRFCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Risk factors"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "riskFactorsValue" ] ;
             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 "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "textVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Risk Factors" ]
     ] [
       fhir:name [ fhir:v "painAtRestRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "itPar" ] ;
         fhir:condition [ fhir:v "linkId = 'painAtRest'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "painAtRestAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "itPar" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aPar" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "painAtRestObs" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "aPar" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "bundle" ] ;
             fhir:element [ fhir:v "entry" ] ;
             fhir:variable [ fhir:v "ePar" ]
           ] [
             fhir:context [ fhir:v "ePar" ] ;
             fhir:element [ fhir:v "resource" ] ;
             fhir:variable [ fhir:v "oPar" ] ;
             fhir:transform [ fhir:v "create" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "Observation"
               ]
             ] )
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "painAtRestBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPar" ]
             ] [
               fhir:context [ fhir:v "ePar" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "BuildBaseObs" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPar"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "ePar"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "painAtRestCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPar" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetExamCategory" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPar"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "codePar" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPar" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codePar" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeParCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codePar" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeParCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeParSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeParCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeParCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeParCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "99302-2"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeParDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeParCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Verbal complaints while at rest"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "valPar" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "aPar" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:variable [ fhir:v "pv" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPar" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "pv"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "painAtRestSite" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPar" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetPainBodySite" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPar"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "───────────────────────────────────────────────────────────────────────────\r\nAdmissions observation templates.\r\nThese forms carry the design's own field ids as linkIds rather than the LOINC\r\ncodes the rules above match on, so the linkId and the Observation.code are\r\nstated separately. Everything they produce is category `exam` - a reading\r\ntaken at the bedside as part of assessing the patient, not a lab result and\r\nnot a vital sign.\r\n───────────────────────────────────────────────────────────────────────────\r\nPain score - pain at rest" ]
     ] [
       fhir:name [ fhir:v "painOnMovementRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "itPom" ] ;
         fhir:condition [ fhir:v "linkId = 'painOnMovement'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "painOnMovementAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "itPom" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aPom" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "painOnMovementObs" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "aPom" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "bundle" ] ;
             fhir:element [ fhir:v "entry" ] ;
             fhir:variable [ fhir:v "ePom" ]
           ] [
             fhir:context [ fhir:v "ePom" ] ;
             fhir:element [ fhir:v "resource" ] ;
             fhir:variable [ fhir:v "oPom" ] ;
             fhir:transform [ fhir:v "create" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "Observation"
               ]
             ] )
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "painOnMovementBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPom" ]
             ] [
               fhir:context [ fhir:v "ePom" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "BuildBaseObs" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPom"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "ePom"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "painOnMovementCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPom" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetExamCategory" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPom"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "codePom" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPom" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codePom" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codePomCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codePom" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codePomCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codePomSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePomCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePomCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePomCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "99294-1"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codePomDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codePomCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Verbal complaints during movement"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "valPom" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "aPom" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:variable [ fhir:v "pv" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPom" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "pv"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "painOnMovementSite" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oPom" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetPainBodySite" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oPom"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Pain score - pain on movement" ]
     ] [
       fhir:name [ fhir:v "capillaryGlucoseRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "itCg" ] ;
         fhir:condition [ fhir:v "linkId = 'capillaryGlucose'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "capillaryGlucoseAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "itCg" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aCg" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "capillaryGlucoseObs" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "aCg" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "bundle" ] ;
             fhir:element [ fhir:v "entry" ] ;
             fhir:variable [ fhir:v "eCg" ]
           ] [
             fhir:context [ fhir:v "eCg" ] ;
             fhir:element [ fhir:v "resource" ] ;
             fhir:variable [ fhir:v "oCg" ] ;
             fhir:transform [ fhir:v "create" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "Observation"
               ]
             ] )
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "capillaryGlucoseBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCg" ]
             ] [
               fhir:context [ fhir:v "eCg" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "BuildBaseObs" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oCg"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "eCg"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "capillaryGlucoseCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCg" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetExamCategory" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oCg"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "codeCg" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCg" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeCg" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeCgCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeCg" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeCgCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeCgSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCgCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeCgCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCgCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "14743-9"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeCgDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeCgCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Glucose [Moles/volume] in Capillary blood by Glucometer"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "valCg" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "aCg" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:variable [ fhir:v "gv" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oCg" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "gv"
                 ]
               ] )
             ] ) ;
             fhir:documentation [ fhir:v "The answer is already a Quantity - the item is type `quantity` with\r\nquestionnaire-unitOption pinning mmol/L - so copy it through whole. The\r\nvitals rules above rebuild a Quantity because their answers are bare\r\ndecimals; rebuilding here would mean restating the unit, and restating a\r\nunit the client actually sent turns a wrong unit into a wrong reading." ]
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Blood glucose - capillary glucose" ]
     ] [
       fhir:name [ fhir:v "insulinGivenRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "itIns" ] ;
         fhir:condition [ fhir:v "linkId = 'insulinGiven'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "insulinGivenAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "itIns" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "aIns" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "insulinGivenObs" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "aIns" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "bundle" ] ;
             fhir:element [ fhir:v "entry" ] ;
             fhir:variable [ fhir:v "eIns" ]
           ] [
             fhir:context [ fhir:v "eIns" ] ;
             fhir:element [ fhir:v "resource" ] ;
             fhir:variable [ fhir:v "oIns" ] ;
             fhir:transform [ fhir:v "create" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "Observation"
               ]
             ] )
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "insulinGivenBase" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oIns" ]
             ] [
               fhir:context [ fhir:v "eIns" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "BuildBaseObs" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oIns"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "eIns"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "insulinGivenCategory" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oIns" ]
             ] ) ;
             fhir:dependent ( [
               fhir:name [ fhir:v "SetExamCategory" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "qr"
                 ]
               ] [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "oIns"
                 ]
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "codeIns" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "qr" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oIns" ] ;
               fhir:element [ fhir:v "code" ] ;
               fhir:variable [ fhir:v "codeIns" ]
             ] ) ;
             fhir:rule ( [
               fhir:name [ fhir:v "codeInsCodingRule" ] ;
               fhir:source ( [
                 fhir:context [ fhir:v "qr" ]
               ] ) ;
               fhir:target ( [
                 fhir:context [ fhir:v "codeIns" ] ;
                 fhir:element [ fhir:v "coding" ] ;
                 fhir:variable [ fhir:v "codeInsCoding" ]
               ] ) ;
               fhir:rule ( [
                 fhir:name [ fhir:v "codeInsSys" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeInsCoding" ] ;
                   fhir:element [ fhir:v "system" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "http://loinc.org"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeInsCode" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeInsCoding" ] ;
                   fhir:element [ fhir:v "code" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "4287-9"
                     ]
                   ] )
                 ] )
               ] [
                 fhir:name [ fhir:v "codeInsDisplay" ] ;
                 fhir:source ( [
                   fhir:context [ fhir:v "qr" ]
                 ] ) ;
                 fhir:target ( [
                   fhir:context [ fhir:v "codeInsCoding" ] ;
                   fhir:element [ fhir:v "display" ] ;
                   fhir:transform [ fhir:v "copy" ] ;
                   fhir:parameter ( [
                     fhir:value [
                       a fhir:string ;
                       fhir:v "Insulin regular [Mass] of Dose"
                     ]
                   ] )
                 ] )
               ] )
             ] )
           ] [
             fhir:name [ fhir:v "valIns" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "aIns" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:variable [ fhir:v "iv" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "oIns" ] ;
               fhir:element [ fhir:v "value" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "iv"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Blood glucose - insulin given against the reading.\r\n4287-9 is \"Insulin regular [Mass] of Dose\": PROPERTY Mass, SCALE_TYP Qn. The\r\nform captures free text (\"4 units Actrapid\"), and insulin is dosed in\r\ninternational units rather than by mass, so the answer lands in valueString\r\nrather than the Quantity the code implies. It records what the nurse wrote,\r\nwhich is the point; a mass in mg is not what anyone is charting." ]
     ] )
  ] [
     fhir:name [ fhir:v "SetExamCategory" ] ;
     fhir:documentation [ fhir:v "Category `exam`, shared by every observation the admissions templates produce." ] ;
     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:rule ( [
       fhir:name [ fhir:v "examCategory" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ]
       ] ) ;
       fhir:target ( [
         fhir:context [ fhir:v "obs" ] ;
         fhir:element [ fhir:v "category" ] ;
         fhir:variable [ fhir:v "cat" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "examCodingRule" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "qr" ]
         ] ) ;
         fhir:target ( [
           fhir:context [ fhir:v "cat" ] ;
           fhir:element [ fhir:v "coding" ] ;
           fhir:variable [ fhir:v "catCoding" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "examSys" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "qr" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "catCoding" ] ;
             fhir:element [ fhir:v "system" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "http://terminology.hl7.org/CodeSystem/observation-category"
               ]
             ] )
           ] )
         ] [
           fhir:name [ fhir:v "examCode" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "qr" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "catCoding" ] ;
             fhir:element [ fhir:v "code" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "exam"
               ]
             ] )
           ] )
         ] [
           fhir:name [ fhir:v "examDisplay" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "qr" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "catCoding" ] ;
             fhir:element [ fhir:v "display" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:string ;
                 fhir:v "Exam"
               ]
             ] )
           ] )
         ] )
       ] )
     ] )
  ] [
     fhir:name [ fhir:v "SetPainBodySite" ] ;
     fhir:documentation [ fhir:v "The pain form asks for one site covering both scores, so it lands on each of\r\nthe two Observations. It is free text today, hence bodySite.text rather than a\r\ncoding; swap to bodySite.coding once the picker's option list is coded." ] ;
     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:rule ( [
       fhir:name [ fhir:v "siteRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "siteItem" ] ;
         fhir:condition [ fhir:v "linkId = 'site'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "siteAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "siteItem" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "siteAns" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "bodySite" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "siteAns" ] ;
             fhir:element [ fhir:v "value" ] ;
             fhir:variable [ fhir:v "siteVal" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "obs" ] ;
             fhir:element [ fhir:v "bodySite" ] ;
             fhir:variable [ fhir:v "bs" ]
           ] ) ;
           fhir:rule ( [
             fhir:name [ fhir:v "bodySiteText" ] ;
             fhir:source ( [
               fhir:context [ fhir:v "siteVal" ]
             ] ) ;
             fhir:target ( [
               fhir:context [ fhir:v "bs" ] ;
               fhir:element [ fhir:v "text" ] ;
               fhir:transform [ fhir:v "copy" ] ;
               fhir:parameter ( [
                 fhir:value [
                   a fhir:id ;
                   fhir:v "siteVal"
                 ]
               ] )
             ] )
           ] )
         ] )
       ] )
     ] )
  ] [
     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 "timeTakenRule" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "tItem" ] ;
         fhir:condition [ fhir:v "linkId = 'timeTaken'" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "timeTakenAns" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "tItem" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "tAns" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "effectiveFromTimeTaken" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "tAns" ] ;
             fhir:element [ fhir:v "value" ] ;
             fhir:variable [ fhir:v "tv" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "obs" ] ;
             fhir:element [ fhir:v "effective" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [
                 a fhir:id ;
                 fhir:v "tv"
               ]
             ] )
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "`effective`, not `effectiveDateTime`: the R5 transform engine writes choice\r\nelements by their base name and rejects the typed form with \"Attempt to write\r\nto invalid property 'effectiveDateTime' on type Observation\". The value is a\r\ndateTime, so the engine picks effectiveDateTime itself.\r\nThe admissions templates ask for the time the reading was taken, which is the\r\nclinically meaningful one - a nurse writing up at the end of a round would\r\notherwise stamp every reading with the moment they saved the form. Fall back\r\nto `authored` for the forms that do not ask." ]
     ] [
       fhir:name [ fhir:v "authoredFallback" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:condition [ fhir:v "item.where(linkId = 'timeTaken').answer.value.exists().not()" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "effectiveFromAuthored" ] ;
         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 "effective" ] ;
           fhir:transform [ fhir:v "copy" ] ;
           fhir:parameter ( [
             fhir:value [
               a fhir:id ;
               fhir:v "t"
             ]
           ] )
         ] )
       ] )
     ] [
       fhir:name [ fhir:v "performer" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "source" ] ;
         fhir:variable [ fhir:v "src" ]
       ] ) ;
       fhir:target ( [
         fhir:context [ fhir:v "obs" ] ;
         fhir:element [ fhir:v "performer" ] ;
         fhir:variable [ fhir:v "perf" ] ;
         fhir:transform [ fhir:v "create" ] ;
         fhir:parameter ( [
           fhir:value [
             a fhir:string ;
             fhir:v "Reference"
           ]
         ] )
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "perfRef" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "src" ] ;
           fhir:element [ fhir:v "reference" ] ;
           fhir:variable [ fhir:v "ref" ]
         ] ) ;
         fhir:target ( [
           fhir:context [ fhir:v "perf" ] ;
           fhir:element [ fhir:v "reference" ] ;
           fhir:transform [ fhir:v "copy" ] ;
           fhir:parameter ( [
             fhir:value [
               a fhir:id ;
               fhir:v "ref"
             ]
           ] )
         ] )
       ] [
         fhir:name [ fhir:v "perfDisplay" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "src" ] ;
           fhir:element [ fhir:v "display" ] ;
           fhir:variable [ fhir:v "disp" ]
         ] ) ;
         fhir:target ( [
           fhir:context [ fhir:v "perf" ] ;
           fhir:element [ fhir:v "display" ] ;
           fhir:transform [ fhir:v "copy" ] ;
           fhir:parameter ( [
             fhir:value [
               a fhir:id ;
               fhir:v "disp"
             ]
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Performer from QuestionnaireResponse.source" ]
     ] [
       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 "copy" ] ;
           fhir:parameter ( [
             fhir:value [
               a fhir:id ;
               fhir:v "qid"
             ]
           ] )
         ] )
       ] ) ;
       fhir:documentation [ fhir:v "Link Observation -> QuestionnaireResponse.\r\nNo append: under this engine `qr.id` already resolves to the type-qualified\r\nrelative reference (\"QuestionnaireResponse/xyz\"), so prefixing it again\r\nproduced \"QuestionnaireResponse/QuestionnaireResponse/xyz\" - a reference that\r\nresolves to nothing." ]
     ] )
  ] [
     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"
           ]
         ] )
       ] )
     ] )
  ] ) . #