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

: Inpatient Falls and Pressure Ulcer Risk Assessment Extraction - XML Representation

Active as of 2026-09-14

Raw xml | Download


<StructureMap xmlns="http://hl7.org/fhir">
  <id value="ExtractInpatientFallsAndPressureUlcerRiskAssessment"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureMap ExtractInpatientFallsAndPressureUlcerRiskAssessment</b></p><a name="ExtractInpatientFallsAndPressureUlcerRiskAssessment"> </a><a name="hcExtractInpatientFallsAndPressureUlcerRiskAssessment"> </a><pre class="fml">
<span style="color: #cc00cc">/// <b>url</b> = </span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractInpatientFallsAndPressureUlcerRiskAssessment'</span>
<span style="color: #cc00cc">/// <b>name</b> = </span><span style="color: blue">'ExtractInpatientFallsAndPressureUlcerRiskAssessment'</span>
<span style="color: #cc00cc">/// <b>title</b> = </span><span style="color: blue">'Inpatient Falls and Pressure Ulcer Risk Assessment Extraction'</span>
<span style="color: #cc00cc">/// <b>status</b> = </span><span style="color: blue">'active'</span>
<span style="color: #cc00cc">/// <b>description</b> = </span><span style="color: blue">'Two scored instruments out. Braden becomes one Observation carrying the total with its six sub-scores as components, plus a RiskAssessment for the band; the falls score -- which is the Morse Fall Scale item for item -- becomes the same shape against the LOINC Morse panel. The measures put in place become a CarePlan. A total is only emitted when every sub-score has been answered: a Braden computed from four of six items is not a Braden score, and banding one would put a number a nurse can act on next to a risk tier that is wrong.'</span>

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

<b>group </b>ExtractInpatientFallsAndPressureUlcerRiskAssessment<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">bundle</span><span style="color: navy"> : </span>Bundle<span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&gt; </b></span>bundle.type = <span style="color: blue">'transaction'</span> <i>&quot;setBundleType&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">── Braden pressure ulcer risk ─────────────────────────────────────────────</span>
  qr.item<b> as </b><span style="color: maroon">gB</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden') and item.answer.value.ofType(Coding).exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>    gB<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entryB</span><span style="color: navy">, </span> entryB.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">obsB</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span> obsB<span style="color: navy">, </span> entryB<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obsB</span><span style="color: navy">, </span><span style="color: maroon">entryB</span><span style="color: navy">)</span> <i>&quot;bradenBase&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>obsB<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obsB</span><span style="color: navy">)</span> <i>&quot;bradenCategory&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>obsB.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38227-5'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Braden scale total score'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenCode&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">// </span><span style="color: green">The submitted total wins; otherwise sum the answers. Every scored answer</span>
      <span style="color: navy">// </span><span style="color: green">in SGHIClinicalScoreCodeSystem ends in its own weight -- braden-sensory-3</span>
      <span style="color: navy">// </span><span style="color: green">is worth 3 -- so the fallback reads the weight off the code. Both paths</span>
      <span style="color: navy">// </span><span style="color: green">are the arithmetic the questionnaire's calculatedExpression performs, so</span>
      <span style="color: navy">// </span><span style="color: green">they cannot disagree. Guarded on all six sub-scores being present.</span>
      gB<b> where </b><span style="color: navy">(</span>item.answer.value.ofType(Coding).count() = 6<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>        gB<span style="color: navy"><b> -&gt; </b></span>obsB.value = evaluate<span style="color: navy">(</span>gB<span style="color: navy">, </span>iif(item.where(linkId = 'braden.total').answer.value.exists(), item.where(linkId = 'braden.total').answer.value, item.answer.value.ofType(Coding).code.select($this.split('-').last().toInteger()).aggregate($this + $total, 0))<span style="color: navy">)</span> <i>&quot;bradenTotalValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenTotalRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.sensory') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38222-6'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Sensory perception Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;sensoryCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;sensoryValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenSensoryRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.moisture') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38229-1'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Moisture exposure Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;moistureCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;moistureValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenMoistureRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.activity') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38223-4'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Physical activity Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;activityCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;activityValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenActivityRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.mobility') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38224-2'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Physical mobility Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;mobilityCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;mobilityValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenMobilityRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.nutrition') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38225-9'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Nutrition intake pattern Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;nutritionCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;nutritionValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenNutritionRule&quot;</i><span style="color: navy">;</span>
      gB.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'braden.friction') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsB.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'38226-7'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Friction and shear Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;frictionCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;frictionValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;bradenFrictionRule&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span> obsB<span style="color: navy">, </span> bundle<b> then </b>AddBradenRiskAssessment<span style="color: navy">(</span><span style="color: maroon">obsB</span><span style="color: navy">, </span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">bundle</span><span style="color: navy">)</span> <i>&quot;bradenBand&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;bradenObservation&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenRule&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">── Falls risk (Morse Fall Scale) ──────────────────────────────────────────</span>
  qr.item<b> as </b><span style="color: maroon">gF</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk') and item.answer.value.ofType(Coding).exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>    gF<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entryF</span><span style="color: navy">, </span> entryF.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">obsF</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span> obsF<span style="color: navy">, </span> entryF<b> then </b>BuildObsBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obsF</span><span style="color: navy">, </span><span style="color: maroon">entryF</span><span style="color: navy">)</span> <i>&quot;fallsBase&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>obsF<b> then </b>SetSurveyCategory<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obsF</span><span style="color: navy">)</span> <i>&quot;fallsCategory&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>obsF.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59460-6'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Fall risk total [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsCode&quot;</i><span style="color: navy">;</span>
      gF<b> where </b><span style="color: navy">(</span>item.answer.value.ofType(Coding).count() = 6<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>        gF<span style="color: navy"><b> -&gt; </b></span>obsF.value = evaluate<span style="color: navy">(</span>gF<span style="color: navy">, </span>iif(item.where(linkId = 'fallsRisk.total').answer.value.exists(), item.where(linkId = 'fallsRisk.total').answer.value, item.answer.value.ofType(Coding).code.select($this.split('-').last().toInteger()).aggregate($this + $total, 0))<span style="color: navy">)</span> <i>&quot;fallsTotalValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsTotalRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.history') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59454-9'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'History of falling; immediate or within 3 months [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;historyCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;historyValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsHistoryRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.diagnoses') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59455-6'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Secondary diagnosis is present'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;diagnosesCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;diagnosesValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsDiagnosesRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.aid') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59456-4'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Ambulatory aid [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;aidCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;aidValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsAidRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.iv') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59457-2'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Intravenous apparatus [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;ivCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;ivValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsIvRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.gait') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59458-0'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Gait [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;gaitCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;gaitValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsGaitRule&quot;</i><span style="color: navy">;</span>
      gF.item<b> as </b><span style="color: maroon">it</span><b> where </b><span style="color: navy">(</span>(linkId = 'fallsRisk.mental') and answer.value.exists()<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span>obsF.component<b> as </b><span style="color: maroon">comp</span><b> then</b><span style="color: navy"> {
</span>        it<span style="color: navy"><b> -&gt; </b></span>comp.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>          it<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            it<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59459-8'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
            it<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Mental status [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;mentalCode&quot;</i><span style="color: navy">;</span>
        it<span style="color: navy"><b> -&gt; </b></span>comp<b> then </b>SetComponentCodedValue<span style="color: navy">(</span><span style="color: maroon">it</span><span style="color: navy">, </span><span style="color: maroon">comp</span><span style="color: navy">)</span> <i>&quot;mentalValue&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;fallsMentalRule&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span> obsF<span style="color: navy">, </span> bundle<b> then </b>AddFallsRiskAssessment<span style="color: navy">(</span><span style="color: maroon">obsF</span><span style="color: navy">, </span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">bundle</span><span style="color: navy">)</span> <i>&quot;fallsBand&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;fallsObservation&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;fallsRiskRule&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">// </span><span style="color: green">── Measures in place ──────────────────────────────────────────────────────</span>
  qr.item<b> as </b><span style="color: maroon">itM</span><b> where </b><span style="color: navy">(</span>(linkId = 'measures') and answer.value.exists()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>    itM.answer first<b> as </b><span style="color: maroon">aM</span><b> then</b><span style="color: navy"> {
</span>      aM<span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entryC</span><span style="color: navy">, </span> entryC.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CarePlan'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">plan</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>plan.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span><b> then </b>SetCarePlanFullUrl<span style="color: navy">(</span><span style="color: maroon">plan</span><span style="color: navy">, </span><span style="color: maroon">entryC</span><span style="color: navy">)</span> <i>&quot;idAndFullUrl&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>entryC.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>request.method = <span style="color: blue">'POST'</span> <i>&quot;requestMethod&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>request.url = <span style="color: blue">'CarePlan'</span> <i>&quot;requestUrl&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;entryRequest&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>plan.status = <span style="color: blue">'active'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>plan.intent = <span style="color: blue">'plan'</span> <i>&quot;intent&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>plan.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>            qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'https://fhir.slade360.co.ke/fhir/CodeSystem/inpatient-clinical-concept-codesystem'</span> <i>&quot;categorySystem&quot;</i><span style="color: navy">;</span>
            qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'falls-prevention-plan'</span> <i>&quot;categoryCode&quot;</i><span style="color: navy">;</span>
            qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Falls and pressure ulcer prevention measures'</span> <i>&quot;categoryDisplay&quot;</i><span style="color: navy">;</span>
          <span style="color: navy">}</span> <i>&quot;categoryCoding&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;category&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>plan.title = <span style="color: blue">'Falls and pressure ulcer prevention measures'</span> <i>&quot;title&quot;</i><span style="color: navy">;</span>
        aM.value<b> as </b><span style="color: maroon">v</span><span style="color: navy"><b> -&gt; </b></span>plan.description = <span style="color: maroon">v</span> <i>&quot;description&quot;</i><span style="color: navy">;</span>
        qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -&gt; </b></span>plan.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
        qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -&gt; </b></span>plan.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
        qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -&gt; </b></span>plan.created = <span style="color: maroon">t</span> <i>&quot;created&quot;</i><span style="color: navy">;</span>
        qr.author<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -&gt; </b></span>plan.contributor = <span style="color: maroon">a</span> <i>&quot;contributorFromAuthor&quot;</i><span style="color: navy">;</span>
        qr<b> where </b><span style="color: navy">(</span>author.exists().not()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>          qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -&gt; </b></span>plan.contributor = <span style="color: maroon">src</span> <i>&quot;contributorFromSource&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;contributorFallback&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>plan.supportingInfo = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Reference'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ref</span><b> then</b><span style="color: navy"> {
</span>          qr.id<b> as </b><span style="color: maroon">qid</span><span style="color: navy"><b> -&gt; </b></span>ref.reference = <span style="color: maroon">qid</span> <i>&quot;supportingInfoRef&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;linkQuestionnaireResponse&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;carePlan&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;measuresAnswer&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;measuresRule&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Risk bands</span>
<span style="color: navy">// </span><span style="color: green">Braden (Bergstrom): 19 and over no risk, 15-18 mild, 13-14 moderate, 10-12</span>
<span style="color: navy">// </span><span style="color: green">high, 9 and under very high. Lower is worse.</span>
<span style="color: navy">// </span><span style="color: green">Morse (Morse, Preventing Patient Falls): 0-24 no risk, 25-50 low, 51 and over</span>
<span style="color: navy">// </span><span style="color: green">high. Higher is worse.</span>
<span style="color: navy">// </span><span style="color: green">The published band is the text; the coding is HL7's risk-probability, which</span>
<span style="color: navy">// </span><span style="color: green">has five concepts and so collapses Braden's &quot;very high&quot; and &quot;high&quot; onto one</span>
<span style="color: navy">// </span><span style="color: green">code. Consumers that need the exact tier read the text, consumers that need</span>
<span style="color: navy">// </span><span style="color: green">to escalate read the code.</span>
<span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<b>group </b>AddBradenRiskAssessment<span style="color: navy">(</span><b>source</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">bundle</span><span style="color: navy"> : </span>Bundle<span style="color: navy">)</span><span style="color: navy"> {
</span>  obs<b> where </b><span style="color: navy">(</span>value.ofType(integer) &lt;= 9<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetBradenRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'high'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'High likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'Very high risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenVeryHigh&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>(value.ofType(integer) &gt;= 10) and (value.ofType(integer) &lt;= 12)<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetBradenRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'high'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'High likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'High risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenHigh&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>(value.ofType(integer) &gt;= 13) and (value.ofType(integer) &lt;= 14)<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetBradenRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'moderate'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Moderate likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'Moderate risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenModerate&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>(value.ofType(integer) &gt;= 15) and (value.ofType(integer) &lt;= 18)<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetBradenRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'low'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Low likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'Mild risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenMild&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>value.ofType(integer) &gt;= 19<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetBradenRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'negligible'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Negligible likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'No risk identified'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;bradenNoRisk&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetBradenRiskCode<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">ra</span><span style="color: navy"> : </span>RiskAssessment<span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&gt; </b></span>ra.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'81636-3'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Pressure injury risk level Braden scale'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;code&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>AddFallsRiskAssessment<span style="color: navy">(</span><b>source</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">bundle</span><span style="color: navy"> : </span>Bundle<span style="color: navy">)</span><span style="color: navy"> {
</span>  obs<b> where </b><span style="color: navy">(</span>value.ofType(integer) &lt;= 24<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetFallsRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'negligible'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Negligible likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'No risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;fallsNoRisk&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>(value.ofType(integer) &gt;= 25) and (value.ofType(integer) &lt;= 50)<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetFallsRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'low'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Low likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'Low risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;fallsLow&quot;</i><span style="color: navy">;</span>
  obs<b> where </b><span style="color: navy">(</span>value.ofType(integer) &gt;= 51<span style="color: navy">)</span><span style="color: navy"><b> -&gt; </b></span> bundle.entry<b> as </b><span style="color: maroon">entry</span><span style="color: navy">, </span> entry.resource = <b>create</b><span style="color: navy">(</span><span style="color: blue">'RiskAssessment'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ra</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span> ra<span style="color: navy">, </span> entry<b> then </b>BuildRiskBase<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">obs</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;riskBase&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra<b> then </b>SetFallsRiskCode<span style="color: navy">(</span><span style="color: maroon">qr</span><span style="color: navy">, </span><span style="color: maroon">ra</span><span style="color: navy">)</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>ra.prediction<b> as </b><span style="color: maroon">pred</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>pred.qualitativeRisk<b> as </b><span style="color: maroon">risk</span><b> then</b><span style="color: navy"> {
</span>        qr<span style="color: navy"><b> -&gt; </b></span>risk.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>          qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/risk-probability'</span> <i>&quot;riskSystem&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'high'</span> <i>&quot;riskCode&quot;</i><span style="color: navy">;</span>
          qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'High likelihood'</span> <i>&quot;riskDisplay&quot;</i><span style="color: navy">;</span>
        <span style="color: navy">}</span> <i>&quot;riskCoding&quot;</i><span style="color: navy">;</span>
        qr<span style="color: navy"><b> -&gt; </b></span>risk.text = <span style="color: blue">'High risk'</span> <i>&quot;riskText&quot;</i><span style="color: navy">;</span>
      <span style="color: navy">}</span> <i>&quot;qualitativeRisk&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;prediction&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;fallsHigh&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetFallsRiskCode<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">ra</span><span style="color: navy"> : </span>RiskAssessment<span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&gt; </b></span>ra.code<b> as </b><span style="color: maroon">code</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>code.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://loinc.org'</span> <i>&quot;codeSystem&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'59461-4'</span> <i>&quot;codeCode&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Fall risk level [Morse Fall Scale]'</span> <i>&quot;codeDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;codeCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;code&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Shared scaffolding. Repeated in each map rather than imported: the transform</span>
<span style="color: navy">// </span><span style="color: green">engine resolves `imports` against whatever StructureMaps happen to be on the</span>
<span style="color: navy">// </span><span style="color: green">server, and a form that stops extracting because a shared map was not</span>
<span style="color: navy">// </span><span style="color: green">uploaded is a worse failure than a duplicated group.</span>
<span style="color: navy">// </span><span style="color: green">─────────────────────────────────────────────────────────────────────────────</span>
<span style="color: navy">// </span><span style="color: green">Two notes on what the publisher's StructureMap validator says about this file.</span>
<span style="color: navy">// </span><span style="color: green">Source parameters below are left untyped on purpose. Writing `: Element` makes</span>
<span style="color: navy">// </span><span style="color: green">the validator compare QuestionnaireResponse.item against the literal 'Element'</span>
<span style="color: navy">// </span><span style="color: green">and report them as incompatible with each other, which is noise, not a finding.</span>
<span style="color: navy">// </span><span style="color: green">Untyped, it says only that it cannot check the paths.</span>
<span style="color: navy">// </span><span style="color: green">`evaluate(context, expression)` is flagged as &quot;takes 1 parameter but 2 were</span>
<span style="color: navy">// </span><span style="color: green">found&quot;. Leave it. The FML parser in the same jar refuses the one-argument form</span>
<span style="color: navy">// </span><span style="color: green">outright -- it wants a parameter, a comma, then the FHIRPath -- so the publisher</span>
<span style="color: navy">// </span><span style="color: green">is objecting to what its own compiler emits. Two arguments is the only form that</span>
<span style="color: navy">// </span><span style="color: green">compiles, and it is what the R5 transform engine executes.</span>
<b>group </b>BuildObsBase<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&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;idAndFullUrl&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>request.method = <span style="color: blue">'POST'</span> <i>&quot;requestMethod&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>request.url = <span style="color: blue">'Observation'</span> <i>&quot;requestUrl&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;entryRequest&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>obs.status = <span style="color: blue">'final'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
  qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -&gt; </b></span>obs.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
  qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -&gt; </b></span>obs.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
  qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -&gt; </b></span>obs.effective = <span style="color: maroon">t</span> <i>&quot;effective&quot;</i><span style="color: navy">;</span>
  qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -&gt; </b></span>obs.performer = <span style="color: maroon">src</span> <i>&quot;performerFromSource&quot;</i><span style="color: navy">;</span>
  qr<b> where </b><span style="color: navy">(</span>source.exists().not()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>    qr.author<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -&gt; </b></span>obs.performer = <span style="color: maroon">a</span> <i>&quot;performerFromAuthor&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;performerFallback&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>obs.derivedFrom = <b>create</b><span style="color: navy">(</span><span style="color: blue">'Reference'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">ref</span><b> then</b><span style="color: navy"> {
</span>    qr.id<b> as </b><span style="color: maroon">qid</span><span style="color: navy"><b> -&gt; </b></span>ref.reference = <span style="color: maroon">qid</span> <i>&quot;derivedFromRef&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;linkQuestionnaireResponse&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><span style="color: navy">// </span><span style="color: green">The RiskAssessment stands on two things: the response that was filled in and</span>
<span style="color: navy">// </span><span style="color: green">the Observation that holds the number. Both go in basis, which is what the</span>
<span style="color: navy">// </span><span style="color: green">SGHI RiskAssessment profile binds to a QuestionnaireResponse.</span>
<b>group </b>BuildRiskBase<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>source</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>target</b> <span style="color: maroon">ra</span><span style="color: navy"> : </span>RiskAssessment, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&gt; </b></span>ra.id = <b>uuid</b><span style="color: navy">(</span><span style="color: navy">)</span><b> then </b>SetRiskAssessmentFullUrl<span style="color: navy">(</span><span style="color: maroon">ra</span><span style="color: navy">, </span><span style="color: maroon">entry</span><span style="color: navy">)</span> <i>&quot;idAndFullUrl&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>entry.request<b> as </b><span style="color: maroon">request</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>request.method = <span style="color: blue">'POST'</span> <i>&quot;requestMethod&quot;</i><span style="color: navy">;</span>
    qr<span style="color: navy"><b> -&gt; </b></span>request.url = <span style="color: blue">'RiskAssessment'</span> <i>&quot;requestUrl&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;entryRequest&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>ra.status = <span style="color: blue">'final'</span> <i>&quot;status&quot;</i><span style="color: navy">;</span>
  qr.subject<b> as </b><span style="color: maroon">s</span><span style="color: navy"><b> -&gt; </b></span>ra.subject = <span style="color: maroon">s</span><span style="color: navy">;</span>
  qr.encounter<b> as </b><span style="color: maroon">e</span><span style="color: navy"><b> -&gt; </b></span>ra.encounter = <span style="color: maroon">e</span><span style="color: navy">;</span>
  qr.authored<b> as </b><span style="color: maroon">t</span><span style="color: navy"><b> -&gt; </b></span>ra.occurrence = <span style="color: maroon">t</span> <i>&quot;occurrence&quot;</i><span style="color: navy">;</span>
  qr.author<b> as </b><span style="color: maroon">a</span><span style="color: navy"><b> -&gt; </b></span>ra.performer = <span style="color: maroon">a</span> <i>&quot;performerFromAuthor&quot;</i><span style="color: navy">;</span>
  qr<b> where </b><span style="color: navy">(</span>author.exists().not()<span style="color: navy">)</span><b> then</b><span style="color: navy"> {
</span>    qr.source<b> as </b><span style="color: maroon">src</span><span style="color: navy"><b> -&gt; </b></span>ra.performer = <span style="color: maroon">src</span> <i>&quot;performerFromSource&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;performerFallback&quot;</i><span style="color: navy">;</span>
  qr<span style="color: navy"><b> -&gt; </b></span>ra.basis = <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">qref</span><b> then</b><span style="color: navy"> {
</span>    qr.id<b> as </b><span style="color: maroon">qid</span><span style="color: navy"><b> -&gt; </b></span>qref.reference = <span style="color: maroon">qid</span> <i>&quot;basisQuestionnaireResponse&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;basisResponse&quot;</i><span style="color: navy">;</span>
  obs.id<b> as </b><span style="color: maroon">oid</span><span style="color: navy"><b> -&gt; </b></span>ra.basis = <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">oref</span><b> then</b><span style="color: navy"> {
</span>    oid<span style="color: navy"><b> -&gt; </b></span>oref.reference = <b>append</b><span style="color: navy">(</span><span style="color: blue">'Observation/'</span><span style="color: navy">, </span><span style="color: maroon">oid</span><span style="color: navy">)</span> <i>&quot;basisObservationRef&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;basisObservation&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetComponentCodedValue<span style="color: navy">(</span><b>source</b> <span style="color: maroon">it</span>, <b>target</b> <span style="color: maroon">comp</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  it.answer first<b> as </b><span style="color: maroon">a</span><b> then</b><span style="color: navy"> {
</span>    a.value<b> as </b><span style="color: maroon">cv</span><span style="color: navy"><b> -&gt; </b></span>comp.value = <b>create</b><span style="color: navy">(</span><span style="color: blue">'CodeableConcept'</span><span style="color: navy">)</span><b> as </b><span style="color: maroon">cc</span><b> then</b><span style="color: navy"> {
</span>      cv<span style="color: navy"><b> -&gt; </b></span>cc.coding = <span style="color: maroon">cv</span> <i>&quot;valueCoding&quot;</i><span style="color: navy">;</span>
      cv.display<b> as </b><span style="color: maroon">d</span><span style="color: navy"><b> -&gt; </b></span>cc.text = <span style="color: maroon">d</span> <i>&quot;valueText&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;codedValue&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;componentAnswer&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetSurveyCategory<span style="color: navy">(</span><b>source</b> <span style="color: maroon">qr</span><span style="color: navy"> : </span>QR, <b>target</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation<span style="color: navy">)</span><span style="color: navy"> {
</span>  qr<span style="color: navy"><b> -&gt; </b></span>obs.category<b> as </b><span style="color: maroon">cat</span><b> then</b><span style="color: navy"> {
</span>    qr<span style="color: navy"><b> -&gt; </b></span>cat.coding<b> as </b><span style="color: maroon">coding</span><b> then</b><span style="color: navy"> {
</span>      qr<span style="color: navy"><b> -&gt; </b></span>coding.system = <span style="color: blue">'http://terminology.hl7.org/CodeSystem/observation-category'</span> <i>&quot;categorySystem&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.code = <span style="color: blue">'survey'</span> <i>&quot;categoryCode&quot;</i><span style="color: navy">;</span>
      qr<span style="color: navy"><b> -&gt; </b></span>coding.display = <span style="color: blue">'Survey'</span> <i>&quot;categoryDisplay&quot;</i><span style="color: navy">;</span>
    <span style="color: navy">}</span> <i>&quot;categoryCoding&quot;</i><span style="color: navy">;</span>
  <span style="color: navy">}</span> <i>&quot;category&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetObservationFullUrl<span style="color: navy">(</span><b>source</b> <span style="color: maroon">obs</span><span style="color: navy"> : </span>Observation, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  obs.id<b> as </b><span style="color: maroon">id</span><span style="color: navy"><b> -&gt; </b></span>entry.fullUrl = <b>append</b><span style="color: navy">(</span><span style="color: blue">'https://fhir.slade360.co.ke/fhir/Observation/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>&quot;assignFullUrl&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetRiskAssessmentFullUrl<span style="color: navy">(</span><b>source</b> <span style="color: maroon">ra</span><span style="color: navy"> : </span>RiskAssessment, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  ra.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/RiskAssessment/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>&quot;assignFullUrl&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span><b>group </b>SetCarePlanFullUrl<span style="color: navy">(</span><b>source</b> <span style="color: maroon">plan</span><span style="color: navy"> : </span>CarePlan, <b>target</b> <span style="color: maroon">entry</span><span style="color: navy">)</span><span style="color: navy"> {
</span>  plan.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/CarePlan/'</span><span style="color: navy">, </span><span style="color: maroon">id</span><span style="color: navy">)</span> <i>&quot;assignFullUrl&quot;</i><span style="color: navy">;</span>
<span style="color: navy">}

</span></pre></div>
  </text>
  <url
       value="https://fhir.slade360.co.ke/fhir/StructureMap/ExtractInpatientFallsAndPressureUlcerRiskAssessment"/>
  <version value="0.1.0"/>
  <name value="ExtractInpatientFallsAndPressureUlcerRiskAssessment"/>
  <title
         value="Inpatient Falls and Pressure Ulcer Risk Assessment Extraction"/>
  <status value="active"/>
  <date value="2026-09-14T06:31:13+00:00"/>
  <publisher value="Kathurima Kimathi"/>
  <contact>
    <name value="Kathurima Kimathi"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.linkedin.com/in/kathurima-kimathi/"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="kathurimakimathi415@gmail.com"/>
    </telecom>
  </contact>
  <contact>
    <name value="Oscar John"/>
    <telecom>
      <system value="email"/>
      <value value="oscarjohnotieno@gmail.com"/>
      <use value="work"/>
    </telecom>
  </contact>
  <contact>
    <name value="Kennedy Omondi"/>
    <telecom>
      <system value="email"/>
      <value value="kennankole@gmail.com"/>
      <use value="work"/>
    </telecom>
  </contact>
  <description
               value="Two scored instruments out. Braden becomes one Observation carrying the total with its six sub-scores as components, plus a RiskAssessment for the band; the falls score -- which is the Morse Fall Scale item for item -- becomes the same shape against the LOINC Morse panel. The measures put in place become a CarePlan. A total is only emitted when every sub-score has been answered: a Braden computed from four of six items is not a Braden score, and banding one would put a number a nurse can act on next to a risk tier that is wrong."/>
  <structure>
    <url
         value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
    <mode value="source"/>
    <alias value="QR"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
    <mode value="target"/>
    <alias value="Bundle"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <mode value="target"/>
    <alias value="Observation"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/RiskAssessment"/>
    <mode value="target"/>
    <alias value="RiskAssessment"/>
  </structure>
  <structure>
    <url value="http://hl7.org/fhir/StructureDefinition/CarePlan"/>
    <mode value="target"/>
    <alias value="CarePlan"/>
  </structure>
  <group>
    <name value="ExtractInpatientFallsAndPressureUlcerRiskAssessment"/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="bundle"/>
      <type value="Bundle"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="setBundleType"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="type"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="transaction"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="bradenRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="gB"/>
        <condition
                   value="(linkId = 'braden') and item.answer.value.ofType(Coding).exists()"/>
      </source>
      <rule>
        <name value="bradenObservation"/>
        <source>
          <context value="gB"/>
        </source>
        <target>
          <context value="bundle"/>
          <element value="entry"/>
          <variable value="entryB"/>
        </target>
        <target>
          <context value="entryB"/>
          <element value="resource"/>
          <variable value="obsB"/>
          <transform value="create"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
        <rule>
          <name value="bradenBase"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsB"/>
          </target>
          <target>
            <context value="entryB"/>
          </target>
          <dependent>
            <name value="BuildObsBase"/>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="obsB"/>
            </parameter>
            <parameter>
              <valueId value="entryB"/>
            </parameter>
          </dependent>
        </rule>
        <rule>
          <name value="bradenCategory"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsB"/>
          </target>
          <dependent>
            <name value="SetSurveyCategory"/>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="obsB"/>
            </parameter>
          </dependent>
        </rule>
        <rule>
          <name value="bradenCode"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="code"/>
            <variable value="code"/>
          </target>
          <rule>
            <name value="codeCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="code"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="codeSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://loinc.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="codeCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="38227-5"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="codeDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Braden scale total score"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
        <rule>
          <name value="bradenTotalRule"/>
          <source>
            <context value="gB"/>
            <condition value="item.answer.value.ofType(Coding).count() = 6"/>
          </source>
          <rule>
            <name value="bradenTotalValue"/>
            <source>
              <context value="gB"/>
            </source>
            <target>
              <context value="obsB"/>
              <element value="value"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="gB"/>
              </parameter>
              <parameter>
                <valueString
                             value="iif(item.where(linkId = 'braden.total').answer.value.exists(), item.where(linkId = 'braden.total').answer.value, item.answer.value.ofType(Coding).code.select($this.split('-').last().toInteger()).aggregate($this + $total, 0))"/>
              </parameter>
            </target>
          </rule>
          <documentation
                         value="The submitted total wins; otherwise sum the answers. Every scored answer
in SGHIClinicalScoreCodeSystem ends in its own weight -- braden-sensory-3
is worth 3 -- so the fallback reads the weight off the code. Both paths
are the arithmetic the questionnaire's calculatedExpression performs, so
they cannot disagree. Guarded on all six sub-scores being present."/>
        </rule>
        <rule>
          <name value="bradenSensoryRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.sensory') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="sensoryCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38222-6"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Sensory perception Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="sensoryValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenMoistureRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.moisture') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="moistureCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38229-1"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Moisture exposure Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="moistureValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenActivityRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.activity') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="activityCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38223-4"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Physical activity Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="activityValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenMobilityRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.mobility') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="mobilityCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38224-2"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Physical mobility Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="mobilityValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenNutritionRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.nutrition') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="nutritionCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38225-9"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString
                                 value="Nutrition intake pattern Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="nutritionValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenFrictionRule"/>
          <source>
            <context value="gB"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'braden.friction') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsB"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="frictionCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="38226-7"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Friction and shear Braden scale"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="frictionValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="bradenBand"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsB"/>
          </target>
          <target>
            <context value="bundle"/>
          </target>
          <dependent>
            <name value="AddBradenRiskAssessment"/>
            <parameter>
              <valueId value="obsB"/>
            </parameter>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="bundle"/>
            </parameter>
          </dependent>
        </rule>
      </rule>
      <documentation
                     value="── Braden pressure ulcer risk ─────────────────────────────────────────────"/>
    </rule>
    <rule>
      <name value="fallsRiskRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="gF"/>
        <condition
                   value="(linkId = 'fallsRisk') and item.answer.value.ofType(Coding).exists()"/>
      </source>
      <rule>
        <name value="fallsObservation"/>
        <source>
          <context value="gF"/>
        </source>
        <target>
          <context value="bundle"/>
          <element value="entry"/>
          <variable value="entryF"/>
        </target>
        <target>
          <context value="entryF"/>
          <element value="resource"/>
          <variable value="obsF"/>
          <transform value="create"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
        <rule>
          <name value="fallsBase"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsF"/>
          </target>
          <target>
            <context value="entryF"/>
          </target>
          <dependent>
            <name value="BuildObsBase"/>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="obsF"/>
            </parameter>
            <parameter>
              <valueId value="entryF"/>
            </parameter>
          </dependent>
        </rule>
        <rule>
          <name value="fallsCategory"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsF"/>
          </target>
          <dependent>
            <name value="SetSurveyCategory"/>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="obsF"/>
            </parameter>
          </dependent>
        </rule>
        <rule>
          <name value="fallsCode"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="code"/>
            <variable value="code"/>
          </target>
          <rule>
            <name value="codeCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="code"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="codeSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="http://loinc.org"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="codeCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="59460-6"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="codeDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Fall risk total [Morse Fall Scale]"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
        <rule>
          <name value="fallsTotalRule"/>
          <source>
            <context value="gF"/>
            <condition value="item.answer.value.ofType(Coding).count() = 6"/>
          </source>
          <rule>
            <name value="fallsTotalValue"/>
            <source>
              <context value="gF"/>
            </source>
            <target>
              <context value="obsF"/>
              <element value="value"/>
              <transform value="evaluate"/>
              <parameter>
                <valueId value="gF"/>
              </parameter>
              <parameter>
                <valueString
                             value="iif(item.where(linkId = 'fallsRisk.total').answer.value.exists(), item.where(linkId = 'fallsRisk.total').answer.value, item.answer.value.ofType(Coding).code.select($this.split('-').last().toInteger()).aggregate($this + $total, 0))"/>
              </parameter>
            </target>
          </rule>
        </rule>
        <rule>
          <name value="fallsHistoryRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.history') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="historyCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59454-9"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString
                                 value="History of falling; immediate or within 3 months [Morse Fall Scale]"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="historyValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsDiagnosesRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.diagnoses') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="diagnosesCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59455-6"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Secondary diagnosis is present"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="diagnosesValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsAidRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.aid') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="aidCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59456-4"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Ambulatory aid [Morse Fall Scale]"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="aidValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsIvRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.iv') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="ivCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59457-2"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString
                                 value="Intravenous apparatus [Morse Fall Scale]"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="ivValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsGaitRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.gait') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="gaitCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59458-0"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Gait [Morse Fall Scale]"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="gaitValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsMentalRule"/>
          <source>
            <context value="gF"/>
            <element value="item"/>
            <variable value="it"/>
            <condition
                       value="(linkId = 'fallsRisk.mental') and answer.value.exists()"/>
          </source>
          <target>
            <context value="obsF"/>
            <element value="component"/>
            <variable value="comp"/>
          </target>
          <rule>
            <name value="mentalCode"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
              <element value="code"/>
              <variable value="code"/>
            </target>
            <rule>
              <name value="codeCoding"/>
              <source>
                <context value="it"/>
              </source>
              <target>
                <context value="code"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="codeSystem"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="http://loinc.org"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeCode"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="59459-8"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="codeDisplay"/>
                <source>
                  <context value="it"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="Mental status [Morse Fall Scale]"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="mentalValue"/>
            <source>
              <context value="it"/>
            </source>
            <target>
              <context value="comp"/>
            </target>
            <dependent>
              <name value="SetComponentCodedValue"/>
              <parameter>
                <valueId value="it"/>
              </parameter>
              <parameter>
                <valueId value="comp"/>
              </parameter>
            </dependent>
          </rule>
        </rule>
        <rule>
          <name value="fallsBand"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="obsF"/>
          </target>
          <target>
            <context value="bundle"/>
          </target>
          <dependent>
            <name value="AddFallsRiskAssessment"/>
            <parameter>
              <valueId value="obsF"/>
            </parameter>
            <parameter>
              <valueId value="qr"/>
            </parameter>
            <parameter>
              <valueId value="bundle"/>
            </parameter>
          </dependent>
        </rule>
      </rule>
      <documentation
                     value="── Falls risk (Morse Fall Scale) ──────────────────────────────────────────"/>
    </rule>
    <rule>
      <name value="measuresRule"/>
      <source>
        <context value="qr"/>
        <element value="item"/>
        <variable value="itM"/>
        <condition value="(linkId = 'measures') and answer.value.exists()"/>
      </source>
      <rule>
        <name value="measuresAnswer"/>
        <source>
          <context value="itM"/>
          <element value="answer"/>
          <listMode value="first"/>
          <variable value="aM"/>
        </source>
        <rule>
          <name value="carePlan"/>
          <source>
            <context value="aM"/>
          </source>
          <target>
            <context value="bundle"/>
            <element value="entry"/>
            <variable value="entryC"/>
          </target>
          <target>
            <context value="entryC"/>
            <element value="resource"/>
            <variable value="plan"/>
            <transform value="create"/>
            <parameter>
              <valueString value="CarePlan"/>
            </parameter>
          </target>
          <rule>
            <name value="idAndFullUrl"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="id"/>
              <transform value="uuid"/>
            </target>
            <dependent>
              <name value="SetCarePlanFullUrl"/>
              <parameter>
                <valueId value="plan"/>
              </parameter>
              <parameter>
                <valueId value="entryC"/>
              </parameter>
            </dependent>
          </rule>
          <rule>
            <name value="entryRequest"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="entryC"/>
              <element value="request"/>
              <variable value="request"/>
            </target>
            <rule>
              <name value="requestMethod"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="request"/>
                <element value="method"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="POST"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="requestUrl"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="request"/>
                <element value="url"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="CarePlan"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="status"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="status"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="active"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="intent"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="intent"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="plan"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="category"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="category"/>
              <variable value="cat"/>
            </target>
            <rule>
              <name value="categoryCoding"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="cat"/>
                <element value="coding"/>
                <variable value="coding"/>
              </target>
              <rule>
                <name value="categorySystem"/>
                <source>
                  <context value="qr"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="system"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString
                                 value="https://fhir.slade360.co.ke/fhir/CodeSystem/inpatient-clinical-concept-codesystem"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="categoryCode"/>
                <source>
                  <context value="qr"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="code"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString value="falls-prevention-plan"/>
                  </parameter>
                </target>
              </rule>
              <rule>
                <name value="categoryDisplay"/>
                <source>
                  <context value="qr"/>
                </source>
                <target>
                  <context value="coding"/>
                  <element value="display"/>
                  <transform value="copy"/>
                  <parameter>
                    <valueString
                                 value="Falls and pressure ulcer prevention measures"/>
                  </parameter>
                </target>
              </rule>
            </rule>
          </rule>
          <rule>
            <name value="title"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="title"/>
              <transform value="copy"/>
              <parameter>
                <valueString
                             value="Falls and pressure ulcer prevention measures"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="description"/>
            <source>
              <context value="aM"/>
              <element value="value"/>
              <variable value="v"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="description"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="v"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="subject"/>
            <source>
              <context value="qr"/>
              <element value="subject"/>
              <variable value="s"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="subject"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="s"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="encounter"/>
            <source>
              <context value="qr"/>
              <element value="encounter"/>
              <variable value="e"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="encounter"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="e"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="created"/>
            <source>
              <context value="qr"/>
              <element value="authored"/>
              <variable value="t"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="created"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="t"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="contributorFromAuthor"/>
            <source>
              <context value="qr"/>
              <element value="author"/>
              <variable value="a"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="contributor"/>
              <transform value="copy"/>
              <parameter>
                <valueId value="a"/>
              </parameter>
            </target>
          </rule>
          <rule>
            <name value="contributorFallback"/>
            <source>
              <context value="qr"/>
              <condition value="author.exists().not()"/>
            </source>
            <rule>
              <name value="contributorFromSource"/>
              <source>
                <context value="qr"/>
                <element value="source"/>
                <variable value="src"/>
              </source>
              <target>
                <context value="plan"/>
                <element value="contributor"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="src"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="linkQuestionnaireResponse"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="plan"/>
              <element value="supportingInfo"/>
              <variable value="ref"/>
              <transform value="create"/>
              <parameter>
                <valueString value="Reference"/>
              </parameter>
            </target>
            <rule>
              <name value="supportingInfoRef"/>
              <source>
                <context value="qr"/>
                <element value="id"/>
                <variable value="qid"/>
              </source>
              <target>
                <context value="ref"/>
                <element value="reference"/>
                <transform value="copy"/>
                <parameter>
                  <valueId value="qid"/>
                </parameter>
              </target>
            </rule>
          </rule>
        </rule>
      </rule>
      <documentation
                     value="── Measures in place ──────────────────────────────────────────────────────"/>
    </rule>
  </group>
  <group>
    <name value="AddBradenRiskAssessment"/>
    <documentation
                   value="─────────────────────────────────────────────────────────────────────────────
Risk bands
Braden (Bergstrom): 19 and over no risk, 15-18 mild, 13-14 moderate, 10-12
high, 9 and under very high. Lower is worse.
Morse (Morse, Preventing Patient Falls): 0-24 no risk, 25-50 low, 51 and over
high. Higher is worse.
The published band is the text; the coding is HL7's risk-probability, which
has five concepts and so collapses Braden's &quot;very high&quot; and &quot;high&quot; onto one
code. Consumers that need the exact tier read the text, consumers that need
to escalate read the code.
─────────────────────────────────────────────────────────────────────────────"/>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="bundle"/>
      <type value="Bundle"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="bradenVeryHigh"/>
      <source>
        <context value="obs"/>
        <condition value="value.ofType(integer) &lt;= 9"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetBradenRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="high"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="High likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="Very high risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="bradenHigh"/>
      <source>
        <context value="obs"/>
        <condition
                   value="(value.ofType(integer) &gt;= 10) and (value.ofType(integer) &lt;= 12)"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetBradenRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="high"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="High likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="High risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="bradenModerate"/>
      <source>
        <context value="obs"/>
        <condition
                   value="(value.ofType(integer) &gt;= 13) and (value.ofType(integer) &lt;= 14)"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetBradenRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="moderate"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Moderate likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="Moderate risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="bradenMild"/>
      <source>
        <context value="obs"/>
        <condition
                   value="(value.ofType(integer) &gt;= 15) and (value.ofType(integer) &lt;= 18)"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetBradenRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="low"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Low likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="Mild risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="bradenNoRisk"/>
      <source>
        <context value="obs"/>
        <condition value="value.ofType(integer) &gt;= 19"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetBradenRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="negligible"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Negligible likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="No risk identified"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetBradenRiskCode"/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="ra"/>
      <type value="RiskAssessment"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="code"/>
        <variable value="code"/>
      </target>
      <rule>
        <name value="codeCoding"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="code"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="codeSystem"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://loinc.org"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="codeCode"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="81636-3"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="codeDisplay"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Pressure injury risk level Braden scale"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="AddFallsRiskAssessment"/>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="bundle"/>
      <type value="Bundle"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="fallsNoRisk"/>
      <source>
        <context value="obs"/>
        <condition value="value.ofType(integer) &lt;= 24"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetFallsRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="negligible"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Negligible likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="No risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="fallsLow"/>
      <source>
        <context value="obs"/>
        <condition
                   value="(value.ofType(integer) &gt;= 25) and (value.ofType(integer) &lt;= 50)"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetFallsRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="low"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="Low likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="Low risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
    <rule>
      <name value="fallsHigh"/>
      <source>
        <context value="obs"/>
        <condition value="value.ofType(integer) &gt;= 51"/>
      </source>
      <target>
        <context value="bundle"/>
        <element value="entry"/>
        <variable value="entry"/>
      </target>
      <target>
        <context value="entry"/>
        <element value="resource"/>
        <variable value="ra"/>
        <transform value="create"/>
        <parameter>
          <valueString value="RiskAssessment"/>
        </parameter>
      </target>
      <rule>
        <name value="riskBase"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <target>
          <context value="entry"/>
        </target>
        <dependent>
          <name value="BuildRiskBase"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="obs"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
          <parameter>
            <valueId value="entry"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="riskCode"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
        </target>
        <dependent>
          <name value="SetFallsRiskCode"/>
          <parameter>
            <valueId value="qr"/>
          </parameter>
          <parameter>
            <valueId value="ra"/>
          </parameter>
        </dependent>
      </rule>
      <rule>
        <name value="prediction"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="prediction"/>
          <variable value="pred"/>
        </target>
        <rule>
          <name value="qualitativeRisk"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="pred"/>
            <element value="qualitativeRisk"/>
            <variable value="risk"/>
          </target>
          <rule>
            <name value="riskCoding"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="coding"/>
              <variable value="coding"/>
            </target>
            <rule>
              <name value="riskSystem"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="system"/>
                <transform value="copy"/>
                <parameter>
                  <valueString
                               value="http://terminology.hl7.org/CodeSystem/risk-probability"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskCode"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="code"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="high"/>
                </parameter>
              </target>
            </rule>
            <rule>
              <name value="riskDisplay"/>
              <source>
                <context value="qr"/>
              </source>
              <target>
                <context value="coding"/>
                <element value="display"/>
                <transform value="copy"/>
                <parameter>
                  <valueString value="High likelihood"/>
                </parameter>
              </target>
            </rule>
          </rule>
          <rule>
            <name value="riskText"/>
            <source>
              <context value="qr"/>
            </source>
            <target>
              <context value="risk"/>
              <element value="text"/>
              <transform value="copy"/>
              <parameter>
                <valueString value="High risk"/>
              </parameter>
            </target>
          </rule>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetFallsRiskCode"/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="ra"/>
      <type value="RiskAssessment"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="code"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="code"/>
        <variable value="code"/>
      </target>
      <rule>
        <name value="codeCoding"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="code"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="codeSystem"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="http://loinc.org"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="codeCode"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="59461-4"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="codeDisplay"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Fall risk level [Morse Fall Scale]"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="BuildObsBase"/>
    <documentation
                   value="─────────────────────────────────────────────────────────────────────────────
Shared scaffolding. Repeated in each map rather than imported: the transform
engine resolves `imports` against whatever StructureMaps happen to be on the
server, and a form that stops extracting because a shared map was not
uploaded is a worse failure than a duplicated group.
─────────────────────────────────────────────────────────────────────────────
Two notes on what the publisher's StructureMap validator says about this file.
Source parameters below are left untyped on purpose. Writing `: Element` makes
the validator compare QuestionnaireResponse.item against the literal 'Element'
and report them as incompatible with each other, which is noise, not a finding.
Untyped, it says only that it cannot check the paths.
`evaluate(context, expression)` is flagged as &quot;takes 1 parameter but 2 were
found&quot;. Leave it. The FML parser in the same jar refuses the one-argument form
outright -- it wants a parameter, a comma, then the FHIRPath -- so the publisher
is objecting to what its own compiler emits. Two arguments is the only form that
compiles, and it is what the R5 transform engine executes."/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <input>
      <name value="entry"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="idAndFullUrl"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
      <dependent>
        <name value="SetObservationFullUrl"/>
        <parameter>
          <valueId value="obs"/>
        </parameter>
        <parameter>
          <valueId value="entry"/>
        </parameter>
      </dependent>
    </rule>
    <rule>
      <name value="entryRequest"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="request"/>
        <variable value="request"/>
      </target>
      <rule>
        <name value="requestMethod"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="request"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="requestUrl"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="request"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="Observation"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="final"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="subject"/>
      <source>
        <context value="qr"/>
        <element value="subject"/>
        <variable value="s"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="subject"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="s"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="encounter"/>
      <source>
        <context value="qr"/>
        <element value="encounter"/>
        <variable value="e"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="encounter"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="e"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="effective"/>
      <source>
        <context value="qr"/>
        <element value="authored"/>
        <variable value="t"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="effective"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="t"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="performerFromSource"/>
      <source>
        <context value="qr"/>
        <element value="source"/>
        <variable value="src"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="performer"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="src"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="performerFallback"/>
      <source>
        <context value="qr"/>
        <condition value="source.exists().not()"/>
      </source>
      <rule>
        <name value="performerFromAuthor"/>
        <source>
          <context value="qr"/>
          <element value="author"/>
          <variable value="a"/>
        </source>
        <target>
          <context value="obs"/>
          <element value="performer"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="a"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="linkQuestionnaireResponse"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="derivedFrom"/>
        <variable value="ref"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="derivedFromRef"/>
        <source>
          <context value="qr"/>
          <element value="id"/>
          <variable value="qid"/>
        </source>
        <target>
          <context value="ref"/>
          <element value="reference"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="qid"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="BuildRiskBase"/>
    <documentation
                   value="The RiskAssessment stands on two things: the response that was filled in and
the Observation that holds the number. Both go in basis, which is what the
SGHI RiskAssessment profile binds to a QuestionnaireResponse."/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="ra"/>
      <type value="RiskAssessment"/>
      <mode value="target"/>
    </input>
    <input>
      <name value="entry"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="idAndFullUrl"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="id"/>
        <transform value="uuid"/>
      </target>
      <dependent>
        <name value="SetRiskAssessmentFullUrl"/>
        <parameter>
          <valueId value="ra"/>
        </parameter>
        <parameter>
          <valueId value="entry"/>
        </parameter>
      </dependent>
    </rule>
    <rule>
      <name value="entryRequest"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="request"/>
        <variable value="request"/>
      </target>
      <rule>
        <name value="requestMethod"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="request"/>
          <element value="method"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="POST"/>
          </parameter>
        </target>
      </rule>
      <rule>
        <name value="requestUrl"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="request"/>
          <element value="url"/>
          <transform value="copy"/>
          <parameter>
            <valueString value="RiskAssessment"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="status"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="status"/>
        <transform value="copy"/>
        <parameter>
          <valueString value="final"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="subject"/>
      <source>
        <context value="qr"/>
        <element value="subject"/>
        <variable value="s"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="subject"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="s"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="encounter"/>
      <source>
        <context value="qr"/>
        <element value="encounter"/>
        <variable value="e"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="encounter"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="e"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="occurrence"/>
      <source>
        <context value="qr"/>
        <element value="authored"/>
        <variable value="t"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="occurrence"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="t"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="performerFromAuthor"/>
      <source>
        <context value="qr"/>
        <element value="author"/>
        <variable value="a"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="performer"/>
        <transform value="copy"/>
        <parameter>
          <valueId value="a"/>
        </parameter>
      </target>
    </rule>
    <rule>
      <name value="performerFallback"/>
      <source>
        <context value="qr"/>
        <condition value="author.exists().not()"/>
      </source>
      <rule>
        <name value="performerFromSource"/>
        <source>
          <context value="qr"/>
          <element value="source"/>
          <variable value="src"/>
        </source>
        <target>
          <context value="ra"/>
          <element value="performer"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="src"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="basisResponse"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="basis"/>
        <variable value="qref"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="basisQuestionnaireResponse"/>
        <source>
          <context value="qr"/>
          <element value="id"/>
          <variable value="qid"/>
        </source>
        <target>
          <context value="qref"/>
          <element value="reference"/>
          <transform value="copy"/>
          <parameter>
            <valueId value="qid"/>
          </parameter>
        </target>
      </rule>
    </rule>
    <rule>
      <name value="basisObservation"/>
      <source>
        <context value="obs"/>
        <element value="id"/>
        <variable value="oid"/>
      </source>
      <target>
        <context value="ra"/>
        <element value="basis"/>
        <variable value="oref"/>
        <transform value="create"/>
        <parameter>
          <valueString value="Reference"/>
        </parameter>
      </target>
      <rule>
        <name value="basisObservationRef"/>
        <source>
          <context value="oid"/>
        </source>
        <target>
          <context value="oref"/>
          <element value="reference"/>
          <transform value="append"/>
          <parameter>
            <valueString value="Observation/"/>
          </parameter>
          <parameter>
            <valueId value="oid"/>
          </parameter>
        </target>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetComponentCodedValue"/>
    <input>
      <name value="it"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="comp"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="componentAnswer"/>
      <source>
        <context value="it"/>
        <element value="answer"/>
        <listMode value="first"/>
        <variable value="a"/>
      </source>
      <rule>
        <name value="codedValue"/>
        <source>
          <context value="a"/>
          <element value="value"/>
          <variable value="cv"/>
        </source>
        <target>
          <context value="comp"/>
          <element value="value"/>
          <variable value="cc"/>
          <transform value="create"/>
          <parameter>
            <valueString value="CodeableConcept"/>
          </parameter>
        </target>
        <rule>
          <name value="valueCoding"/>
          <source>
            <context value="cv"/>
          </source>
          <target>
            <context value="cc"/>
            <element value="coding"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="cv"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="valueText"/>
          <source>
            <context value="cv"/>
            <element value="display"/>
            <variable value="d"/>
          </source>
          <target>
            <context value="cc"/>
            <element value="text"/>
            <transform value="copy"/>
            <parameter>
              <valueId value="d"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetSurveyCategory"/>
    <input>
      <name value="qr"/>
      <type value="QR"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="category"/>
      <source>
        <context value="qr"/>
      </source>
      <target>
        <context value="obs"/>
        <element value="category"/>
        <variable value="cat"/>
      </target>
      <rule>
        <name value="categoryCoding"/>
        <source>
          <context value="qr"/>
        </source>
        <target>
          <context value="cat"/>
          <element value="coding"/>
          <variable value="coding"/>
        </target>
        <rule>
          <name value="categorySystem"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="system"/>
            <transform value="copy"/>
            <parameter>
              <valueString
                           value="http://terminology.hl7.org/CodeSystem/observation-category"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="categoryCode"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="code"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="survey"/>
            </parameter>
          </target>
        </rule>
        <rule>
          <name value="categoryDisplay"/>
          <source>
            <context value="qr"/>
          </source>
          <target>
            <context value="coding"/>
            <element value="display"/>
            <transform value="copy"/>
            <parameter>
              <valueString value="Survey"/>
            </parameter>
          </target>
        </rule>
      </rule>
    </rule>
  </group>
  <group>
    <name value="SetObservationFullUrl"/>
    <input>
      <name value="obs"/>
      <type value="Observation"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="entry"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="assignFullUrl"/>
      <source>
        <context value="obs"/>
        <element value="id"/>
        <variable value="id"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="fullUrl"/>
        <transform value="append"/>
        <parameter>
          <valueString value="https://fhir.slade360.co.ke/fhir/Observation/"/>
        </parameter>
        <parameter>
          <valueId value="id"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="SetRiskAssessmentFullUrl"/>
    <input>
      <name value="ra"/>
      <type value="RiskAssessment"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="entry"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="assignFullUrl"/>
      <source>
        <context value="ra"/>
        <element value="id"/>
        <variable value="id"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="fullUrl"/>
        <transform value="append"/>
        <parameter>
          <valueString
                       value="https://fhir.slade360.co.ke/fhir/RiskAssessment/"/>
        </parameter>
        <parameter>
          <valueId value="id"/>
        </parameter>
      </target>
    </rule>
  </group>
  <group>
    <name value="SetCarePlanFullUrl"/>
    <input>
      <name value="plan"/>
      <type value="CarePlan"/>
      <mode value="source"/>
    </input>
    <input>
      <name value="entry"/>
      <mode value="target"/>
    </input>
    <rule>
      <name value="assignFullUrl"/>
      <source>
        <context value="plan"/>
        <element value="id"/>
        <variable value="id"/>
      </source>
      <target>
        <context value="entry"/>
        <element value="fullUrl"/>
        <transform value="append"/>
        <parameter>
          <valueString value="https://fhir.slade360.co.ke/fhir/CarePlan/"/>
        </parameter>
        <parameter>
          <valueId value="id"/>
        </parameter>
      </target>
    </rule>
  </group>
</StructureMap>