Structured Data Capture
3.0.0 - STU 3 International flag

Structured Data Capture, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 3.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/sdc/ and changes regularly. See the Directory of published versions

: Congestive Heart Failure Logic - XML Representation

Page standards status: Informative

Raw xml | Download



<Library xmlns="http://hl7.org/fhir">
  <id value="sdc-CHF"/>
  <meta>
    <profile
             value="http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-library"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><h2>Related Artifacts</h2><table class="grid"><tr><td>depends-on</td><td>SNOMED CT</td><td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">SNOMED CT (all versions)</a></td></tr><tr><td>depends-on</td><td>LOINC</td><td><a href="http://terminology.hl7.org/5.3.0/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a></td></tr><tr><td>depends-on</td><td>Congestive heart failure codes</td><td><a href="CodeSystem-chf-codes.html">CHF Codes</a></td></tr><tr><td>depends-on</td><td>Clinical condition codes</td><td><a href="http://terminology.hl7.org/5.3.0/CodeSystem-condition-clinical.html">Condition Clinical Status Codes</a></td></tr><tr><td>depends-on</td><td>Condition verification status</td><td><a href="http://terminology.hl7.org/5.3.0/CodeSystem-condition-ver-status.html">ConditionVerificationStatus</a></td></tr></table><h2>Parameters</h2><table class="grid"><tr><td>Encounter</td><td>in</td><td>0</td><td>1</td><td>Encounter</td></tr><tr><td>Patient</td><td>out</td><td>0</td><td>1</td><td>Patient</td></tr><tr><td>Body Weight</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Body Weight Change Assertion</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Daily Body Weight</td><td>out</td><td>0</td><td>*</td><td>Resource</td></tr><tr><td>Daily Body Weight Change</td><td>out</td><td>0</td><td>*</td><td>Resource</td></tr><tr><td>Body Weight Change</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Current Body Weight</td><td>out</td><td>0</td><td>1</td><td>Observation</td></tr><tr><td>Previous Body Weight</td><td>out</td><td>0</td><td>1</td><td>Observation</td></tr><tr><td>Current Body Weight Change</td><td>out</td><td>0</td><td>1</td><td>integer</td></tr><tr><td>Urine Output</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Current Urine Output</td><td>out</td><td>0</td><td>1</td><td>Observation</td></tr><tr><td>Net Intake/Output</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Current Net Intake/Output</td><td>out</td><td>0</td><td>1</td><td>Observation</td></tr><tr><td>Jugular Venous Pressure</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Oxygen Saturation</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Potassium</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Creatinine</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>eGFR</td><td>out</td><td>0</td><td>*</td><td>Observation</td></tr><tr><td>Eligibility Criteria</td><td>out</td><td>0</td><td>*</td><td>Condition</td></tr></table><h2>Data Requirements</h2><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/29463-7">Logical Observation Identifiers, Names and Codes (LOINC)</a> 29463-7: Body weight</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="CodeSystem-chf-codes.html#chf-codes-body-weight-change">CHF Codes</a> body-weight-change: Body weight change</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/9192-6">Logical Observation Identifiers, Names and Codes (LOINC)</a> 9192-6: Urine output 24 hour</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="CodeSystem-chf-codes.html#chf-codes-net-intake-output">CHF Codes</a> net-intake-output: Net intake/output</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="CodeSystem-chf-codes.html#chf-codes-jvp">CHF Codes</a> jvp: Jugular venous pressure</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/2708-6">Logical Observation Identifiers, Names and Codes (LOINC)</a> 2708-6: Oxygen saturation in Arterial blood</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/86919-8">Logical Observation Identifiers, Names and Codes (LOINC)</a> 86919-8: Potassium goal [Moles/volume] Serum or Plasma</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="https://loinc.org/39802-4">Logical Observation Identifiers, Names and Codes (LOINC)</a> 39802-4: Creatinine in dialysis fluid/Creatinine in serum or plasma</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/observation.html">Observation</a> (<a href="http://hl7.org/fhir/R4/observation.html">Observation</a>)</td></tr><tr style="background-color: #efefef"><td>Filter</td><td>Value</td></tr><tr><td>code</td><td>One of these codes: <a href="CodeSystem-chf-codes.html#chf-codes-egfr">CHF Codes</a> egfr: eGFR result</td></tr></table><table class="grid"><tr><td colspan="2"><b>Type</b>: <a href="http://hl7.org/fhir/R4/condition.html">Condition</a> (<a href="http://hl7.org/fhir/R4/condition.html">Condition</a>)</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class="language-sql">library CHF version '1.0.0'

using FHIR version '4.0.1'

include FHIRHelpers version '4.0.1'

codesystem &quot;SNOMED-CT&quot;: 'http://snomed.info/sct'
codesystem &quot;LOINC&quot;: 'http://loinc.org'
codesystem &quot;CHFCodes&quot;: 'http://hl7.org/fhir/uv/cpg/CodeSystem/chf-codes'
codesystem &quot;Condition Clinical Status Code&quot;: 'http://terminology.hl7.org/CodeSystem/condition-clinical'
codesystem &quot;Condition Verification Status Code&quot;: 'http://terminology.hl7.org/CodeSystem/condition-ver-status'

code &quot;Congestive heart failure&quot;: '42343007' from &quot;SNOMED-CT&quot;

code &quot;Body weight&quot;: '29463-7' from &quot;LOINC&quot;
code &quot;Body weight change&quot;: 'body-weight-change' from &quot;CHFCodes&quot;
code &quot;Urine output&quot;: '9192-6' from &quot;LOINC&quot;
code &quot;Net intake/output&quot;: 'net-intake-output' from &quot;CHFCodes&quot;
code &quot;Jugular venous pressure&quot;: 'jvp' from &quot;CHFCodes&quot;
code &quot;Oxygen saturation&quot;: '2708-6' from &quot;LOINC&quot;
code &quot;Potassium goal&quot;: '86919-8' from &quot;LOINC&quot; display 'Potassium goal [Moles/volume] Serum or Plasma' // meq/L
code &quot;Creatinine in serum&quot;: '39802-4' from &quot;LOINC&quot; display 'Creatinine in serum or plasma' // NOTE: example shows mg/dL, but no LOINC code has those units?
code &quot;eGFR result&quot;: 'egfr' from &quot;CHFCodes&quot; // NOTE: Too many to pick from, needs clinical/terminological SME input, in mol/mm/m2

code &quot;Active condition&quot;: 'active' from &quot;Condition Clinical Status Code&quot;
code &quot;Provisional condition&quot;: 'provisional' from &quot;Condition Verification Status Code&quot;
code &quot;Confirmed condition&quot;: 'confirmed' from &quot;Condition Verification Status Code&quot;

parameter Encounter Encounter

context Patient

// Case Features
define &quot;Body Weight&quot;:
  [Observation: &quot;Body weight&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Body Weight Change Assertion&quot;:
  [Observation: &quot;Body weight change&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Body Weight Change&quot;:
  &quot;Daily Body Weight Change&quot; WC
    return Observation {
      id: id { value: Encounter.id + '-bodyweight-change' + ToString(WC.date) },
      extension: {
        Extension {
          url: url { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-instantiatesCaseFeature' },
          value: canonical { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/chf-bodyweight-change' }
        },
        Extension {
          url: url { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureType' },
          value: code { value: 'asserted' }
        }
      },
      status: ObservationStatus { value: 'final' },
      code: CodeableConcept {
        coding: {
          Coding {
            system: uri { value: 'http://hl7.org/fhir/uv/cpg/CodeSystem/chf-codes' },
            code: code { value: 'body-weight-change' }
          }
        }
      },
      effective: dateTime { value: WC.date },
      issued: instant { value: Now() },
      subject: referenceTo(Patient),
      encounter: referenceTo(Encounter),
      value: Quantity {
        value: decimal { value: WC.change.value },
        unit: string { value: WC.change.unit },
        system: uri { value: 'http://unitsofmeasure.org' },
        code: code { value: WC.change.unit }
      }
    }

define &quot;Daily Body Weight&quot;:
  (expand Encounter.period per day) Date
    let maxWeight: Max(&quot;Body Weight&quot; WT where WT.issued same day as Date return WT.value as FHIR.Quantity)
    return { date: Date, weight: maxWeight }

define &quot;Daily Body Weight Change&quot;:
  &quot;Daily Body Weight&quot; WT
    let priorWeight: First(&quot;Daily Body Weight&quot; PWT where PWT.date &lt; WT.date sort by date descending).weight
    return { date: WT.date, weight: WT.weight, priorWeight: priorWeight, change: WT.weight - priorWeight}

define &quot;Current Body Weight&quot;:
  First(&quot;Body Weight&quot; WT where WT.issued same day as Today() sort by issued descending)

define &quot;Previous Body Weight&quot;:
  First(&quot;Body Weight&quot; WT where WT.issued 1 day before day of Today() sort by issued descending)

define &quot;Current Body Weight Change&quot;:
  &quot;Current Body Weight&quot;.value - &quot;Previous Body Weight&quot;.value

define &quot;Urine Output&quot;:
  [Observation: &quot;Urine output&quot;] O
    where O.status = 'final'
    and references(O.encounter, Encounter)

define &quot;Current Urine Output&quot;:
  First(&quot;Urine Output&quot; UO where UO.issued same day as Today() sort by issued descending)

define &quot;Net Intake/Output&quot;:
  [Observation: &quot;Net intake/output&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Current Net Intake/Output&quot;:
  First(&quot;Net Intake/Output&quot; IO where IO.issued same day as Today() sort by issued descending)

define &quot;Jugular Venous Pressure&quot;:
  [Observation: &quot;Jugular venous pressure&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Oxygen Saturation&quot;:
  [Observation: &quot;Oxygen saturation&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Potassium&quot;:
  [Observation: &quot;Potassium goal&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;Creatinine&quot;:
  [Observation: &quot;Creatinine in serum&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)

define &quot;eGFR&quot;:
  [Observation: &quot;eGFR result&quot;] O
    where O.status = 'final'
      and references(O.encounter, Encounter)


// Eligibility Criteria
define &quot;Eligibility Criteria&quot;:
  [Condition] C
    where C.code ~ &quot;Congestive heart failure&quot;
      and C.clinicalStatus ~ &quot;Active condition&quot;
      and C.verificationStatus ~ &quot;Confirmed condition&quot;

// TODO: Handle contained references
// TODO: Handle bundle references
// TODO: Handle remote references
define function references(reference Reference, encounter Encounter):
  EndsWith(reference.reference, '/' + encounter.id)

define function referenceTo(encounter Encounter):
  Reference { reference: string { value: 'Encounter/' + encounter.id } }

define function referenceTo(patient Patient):
  Reference { reference: string { value: 'Patient/' + patient.id } }
</code></pre></div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir"/>
  </extension>
  <url value="http://hl7.org/fhir/uv/sdc/Library/sdc-CHF"/>
  <version value="3.0.0"/>
  <name value="CHF"/>
  <title value="Congestive Heart Failure Logic"/>
  <status value="draft"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
      <display value="Logic Library"/>
    </coding>
  </type>
  <date value="2020-11-29T15:54:22-07:00"/>
  <publisher value="HL7 International / FHIR Infrastructure"/>
  <contact>
    <name value="HL7 International / FHIR Infrastructure"/>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/fiwg"/>
    </telecom>
  </contact>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/fiwg"/>
    </telecom>
  </contact>
  <description value="Logic for an example congestive heart failure pathway"/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
      <display value="World"/>
    </coding>
  </jurisdiction>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="SNOMED CT"/>
    <url value="http://snomed.info/sct"/>
    <document>
      <url value="http://snomed.info/sct"/>
    </document>
    <resource value="http://snomed.info/sct"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="LOINC"/>
    <url value="http://loinc.org"/>
    <document>
      <url value="http://loinc.org"/>
    </document>
    <resource value="http://loinc.org"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Congestive heart failure codes"/>
    <url value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
    <document>
      <url value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
    </document>
    <resource value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Clinical condition codes"/>
    <url value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
    <document>
      <url value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
    </document>
    <resource
              value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
  </relatedArtifact>
  <relatedArtifact>
    <type value="depends-on"/>
    <display value="Condition verification status"/>
    <url value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
    <document>
      <url
           value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
    </document>
    <resource
              value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
  </relatedArtifact>
  <parameter>
    <name value="Encounter"/>
    <use value="in"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Encounter"/>
  </parameter>
  <parameter>
    <name value="Patient"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Patient"/>
  </parameter>
  <parameter>
    <name value="Body Weight"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Body Weight Change Assertion"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Daily Body Weight"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Daily Body Weight Change"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Resource"/>
  </parameter>
  <parameter>
    <name value="Body Weight Change"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Current Body Weight"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Previous Body Weight"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Current Body Weight Change"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="integer"/>
  </parameter>
  <parameter>
    <name value="Urine Output"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Current Urine Output"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Net Intake/Output"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Current Net Intake/Output"/>
    <use value="out"/>
    <min value="0"/>
    <max value="1"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Jugular Venous Pressure"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Oxygen Saturation"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Potassium"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Creatinine"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="eGFR"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Observation"/>
  </parameter>
  <parameter>
    <name value="Eligibility Criteria"/>
    <use value="out"/>
    <min value="0"/>
    <max value="*"/>
    <type value="Condition"/>
  </parameter>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://loinc.org"/>
        <code value="29463-7"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
        <code value="body-weight-change"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://loinc.org"/>
        <code value="9192-6"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
        <code value="net-intake-output"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
        <code value="jvp"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://loinc.org"/>
        <code value="2708-6"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://loinc.org"/>
        <code value="86919-8"/>
        <display value="Potassium goal [Moles/volume] Serum or Plasma"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://loinc.org"/>
        <code value="39802-4"/>
        <display
                 value="Creatinine in dialysis fluid/Creatinine in serum or plasma"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Observation"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Observation"/>
    <codeFilter>
      <path value="code"/>
      <code>
        <system value="http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"/>
        <code value="egfr"/>
      </code>
    </codeFilter>
  </dataRequirement>
  <dataRequirement>
    <type value="Condition"/>
    <profile value="http://hl7.org/fhir/StructureDefinition/Condition"/>
  </dataRequirement>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBDSEYgdmVyc2lvbiAnMS4wLjAnDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnDQoNCmNvZGVzeXN0ZW0gIlNOT01FRC1DVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycNCmNvZGVzeXN0ZW0gIkNIRkNvZGVzIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXYvY3BnL0NvZGVTeXN0ZW0vY2hmLWNvZGVzJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uIENsaW5pY2FsIFN0YXR1cyBDb2RlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZSI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2NvbmRpdGlvbi12ZXItc3RhdHVzJw0KDQpjb2RlICJDb25nZXN0aXZlIGhlYXJ0IGZhaWx1cmUiOiAnNDIzNDMwMDcnIGZyb20gIlNOT01FRC1DVCINCg0KY29kZSAiQm9keSB3ZWlnaHQiOiAnMjk0NjMtNycgZnJvbSAiTE9JTkMiDQpjb2RlICJCb2R5IHdlaWdodCBjaGFuZ2UiOiAnYm9keS13ZWlnaHQtY2hhbmdlJyBmcm9tICJDSEZDb2RlcyINCmNvZGUgIlVyaW5lIG91dHB1dCI6ICc5MTkyLTYnIGZyb20gIkxPSU5DIg0KY29kZSAiTmV0IGludGFrZS9vdXRwdXQiOiAnbmV0LWludGFrZS1vdXRwdXQnIGZyb20gIkNIRkNvZGVzIg0KY29kZSAiSnVndWxhciB2ZW5vdXMgcHJlc3N1cmUiOiAnanZwJyBmcm9tICJDSEZDb2RlcyINCmNvZGUgIk94eWdlbiBzYXR1cmF0aW9uIjogJzI3MDgtNicgZnJvbSAiTE9JTkMiDQpjb2RlICJQb3Rhc3NpdW0gZ29hbCI6ICc4NjkxOS04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnUG90YXNzaXVtIGdvYWwgW01vbGVzL3ZvbHVtZV0gU2VydW0gb3IgUGxhc21hJyAvLyBtZXEvTA0KY29kZSAiQ3JlYXRpbmluZSBpbiBzZXJ1bSI6ICczOTgwMi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ3JlYXRpbmluZSBpbiBzZXJ1bSBvciBwbGFzbWEnIC8vIE5PVEU6IGV4YW1wbGUgc2hvd3MgbWcvZEwsIGJ1dCBubyBMT0lOQyBjb2RlIGhhcyB0aG9zZSB1bml0cz8NCmNvZGUgImVHRlIgcmVzdWx0IjogJ2VnZnInIGZyb20gIkNIRkNvZGVzIiAvLyBOT1RFOiBUb28gbWFueSB0byBwaWNrIGZyb20sIG5lZWRzIGNsaW5pY2FsL3Rlcm1pbm9sb2dpY2FsIFNNRSBpbnB1dCwgaW4gbW9sL21tL20yDQoNCmNvZGUgIkFjdGl2ZSBjb25kaXRpb24iOiAnYWN0aXZlJyBmcm9tICJDb25kaXRpb24gQ2xpbmljYWwgU3RhdHVzIENvZGUiDQpjb2RlICJQcm92aXNpb25hbCBjb25kaXRpb24iOiAncHJvdmlzaW9uYWwnIGZyb20gIkNvbmRpdGlvbiBWZXJpZmljYXRpb24gU3RhdHVzIENvZGUiDQpjb2RlICJDb25maXJtZWQgY29uZGl0aW9uIjogJ2NvbmZpcm1lZCcgZnJvbSAiQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZSINCg0KcGFyYW1ldGVyIEVuY291bnRlciBFbmNvdW50ZXINCg0KY29udGV4dCBQYXRpZW50DQoNCi8vIENhc2UgRmVhdHVyZXMNCmRlZmluZSAiQm9keSBXZWlnaHQiOg0KICBbT2JzZXJ2YXRpb246ICJCb2R5IHdlaWdodCJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiQm9keSBXZWlnaHQgQ2hhbmdlIEFzc2VydGlvbiI6DQogIFtPYnNlcnZhdGlvbjogIkJvZHkgd2VpZ2h0IGNoYW5nZSJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiQm9keSBXZWlnaHQgQ2hhbmdlIjoNCiAgIkRhaWx5IEJvZHkgV2VpZ2h0IENoYW5nZSIgV0MNCiAgICByZXR1cm4gT2JzZXJ2YXRpb24gew0KICAgICAgaWQ6IGlkIHsgdmFsdWU6IEVuY291bnRlci5pZCArICctYm9keXdlaWdodC1jaGFuZ2UnICsgVG9TdHJpbmcoV0MuZGF0ZSkgfSwNCiAgICAgIGV4dGVuc2lvbjogew0KICAgICAgICBFeHRlbnNpb24gew0KICAgICAgICAgIHVybDogdXJsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NwZy1pbnN0YW50aWF0ZXNDYXNlRmVhdHVyZScgfSwNCiAgICAgICAgICB2YWx1ZTogY2Fub25pY2FsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NoZi1ib2R5d2VpZ2h0LWNoYW5nZScgfQ0KICAgICAgICB9LA0KICAgICAgICBFeHRlbnNpb24gew0KICAgICAgICAgIHVybDogdXJsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NwZy1jYXNlRmVhdHVyZVR5cGUnIH0sDQogICAgICAgICAgdmFsdWU6IGNvZGUgeyB2YWx1ZTogJ2Fzc2VydGVkJyB9DQogICAgICAgIH0NCiAgICAgIH0sDQogICAgICBzdGF0dXM6IE9ic2VydmF0aW9uU3RhdHVzIHsgdmFsdWU6ICdmaW5hbCcgfSwNCiAgICAgIGNvZGU6IENvZGVhYmxlQ29uY2VwdCB7DQogICAgICAgIGNvZGluZzogew0KICAgICAgICAgIENvZGluZyB7DQogICAgICAgICAgICBzeXN0ZW06IHVyaSB7IHZhbHVlOiAnaHR0cDovL2hsNy5vcmcvZmhpci91di9jcGcvQ29kZVN5c3RlbS9jaGYtY29kZXMnIH0sDQogICAgICAgICAgICBjb2RlOiBjb2RlIHsgdmFsdWU6ICdib2R5LXdlaWdodC1jaGFuZ2UnIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0sDQogICAgICBlZmZlY3RpdmU6IGRhdGVUaW1lIHsgdmFsdWU6IFdDLmRhdGUgfSwNCiAgICAgIGlzc3VlZDogaW5zdGFudCB7IHZhbHVlOiBOb3coKSB9LA0KICAgICAgc3ViamVjdDogcmVmZXJlbmNlVG8oUGF0aWVudCksDQogICAgICBlbmNvdW50ZXI6IHJlZmVyZW5jZVRvKEVuY291bnRlciksDQogICAgICB2YWx1ZTogUXVhbnRpdHkgew0KICAgICAgICB2YWx1ZTogZGVjaW1hbCB7IHZhbHVlOiBXQy5jaGFuZ2UudmFsdWUgfSwNCiAgICAgICAgdW5pdDogc3RyaW5nIHsgdmFsdWU6IFdDLmNoYW5nZS51bml0IH0sDQogICAgICAgIHN5c3RlbTogdXJpIHsgdmFsdWU6ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyB9LA0KICAgICAgICBjb2RlOiBjb2RlIHsgdmFsdWU6IFdDLmNoYW5nZS51bml0IH0NCiAgICAgIH0NCiAgICB9DQoNCmRlZmluZSAiRGFpbHkgQm9keSBXZWlnaHQiOg0KICAoZXhwYW5kIEVuY291bnRlci5wZXJpb2QgcGVyIGRheSkgRGF0ZQ0KICAgIGxldCBtYXhXZWlnaHQ6IE1heCgiQm9keSBXZWlnaHQiIFdUIHdoZXJlIFdULmlzc3VlZCBzYW1lIGRheSBhcyBEYXRlIHJldHVybiBXVC52YWx1ZSBhcyBGSElSLlF1YW50aXR5KQ0KICAgIHJldHVybiB7IGRhdGU6IERhdGUsIHdlaWdodDogbWF4V2VpZ2h0IH0NCg0KZGVmaW5lICJEYWlseSBCb2R5IFdlaWdodCBDaGFuZ2UiOg0KICAiRGFpbHkgQm9keSBXZWlnaHQiIFdUDQogICAgbGV0IHByaW9yV2VpZ2h0OiBGaXJzdCgiRGFpbHkgQm9keSBXZWlnaHQiIFBXVCB3aGVyZSBQV1QuZGF0ZSA8IFdULmRhdGUgc29ydCBieSBkYXRlIGRlc2NlbmRpbmcpLndlaWdodA0KICAgIHJldHVybiB7IGRhdGU6IFdULmRhdGUsIHdlaWdodDogV1Qud2VpZ2h0LCBwcmlvcldlaWdodDogcHJpb3JXZWlnaHQsIGNoYW5nZTogV1Qud2VpZ2h0IC0gcHJpb3JXZWlnaHR9DQoNCmRlZmluZSAiQ3VycmVudCBCb2R5IFdlaWdodCI6DQogIEZpcnN0KCJCb2R5IFdlaWdodCIgV1Qgd2hlcmUgV1QuaXNzdWVkIHNhbWUgZGF5IGFzIFRvZGF5KCkgc29ydCBieSBpc3N1ZWQgZGVzY2VuZGluZykNCg0KZGVmaW5lICJQcmV2aW91cyBCb2R5IFdlaWdodCI6DQogIEZpcnN0KCJCb2R5IFdlaWdodCIgV1Qgd2hlcmUgV1QuaXNzdWVkIDEgZGF5IGJlZm9yZSBkYXkgb2YgVG9kYXkoKSBzb3J0IGJ5IGlzc3VlZCBkZXNjZW5kaW5nKQ0KDQpkZWZpbmUgIkN1cnJlbnQgQm9keSBXZWlnaHQgQ2hhbmdlIjoNCiAgIkN1cnJlbnQgQm9keSBXZWlnaHQiLnZhbHVlIC0gIlByZXZpb3VzIEJvZHkgV2VpZ2h0Ii52YWx1ZQ0KDQpkZWZpbmUgIlVyaW5lIE91dHB1dCI6DQogIFtPYnNlcnZhdGlvbjogIlVyaW5lIG91dHB1dCJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIkN1cnJlbnQgVXJpbmUgT3V0cHV0IjoNCiAgRmlyc3QoIlVyaW5lIE91dHB1dCIgVU8gd2hlcmUgVU8uaXNzdWVkIHNhbWUgZGF5IGFzIFRvZGF5KCkgc29ydCBieSBpc3N1ZWQgZGVzY2VuZGluZykNCg0KZGVmaW5lICJOZXQgSW50YWtlL091dHB1dCI6DQogIFtPYnNlcnZhdGlvbjogIk5ldCBpbnRha2Uvb3V0cHV0Il0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KZGVmaW5lICJDdXJyZW50IE5ldCBJbnRha2UvT3V0cHV0IjoNCiAgRmlyc3QoIk5ldCBJbnRha2UvT3V0cHV0IiBJTyB3aGVyZSBJTy5pc3N1ZWQgc2FtZSBkYXkgYXMgVG9kYXkoKSBzb3J0IGJ5IGlzc3VlZCBkZXNjZW5kaW5nKQ0KDQpkZWZpbmUgIkp1Z3VsYXIgVmVub3VzIFByZXNzdXJlIjoNCiAgW09ic2VydmF0aW9uOiAiSnVndWxhciB2ZW5vdXMgcHJlc3N1cmUiXSBPDQogICAgd2hlcmUgTy5zdGF0dXMgPSAnZmluYWwnDQogICAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIk94eWdlbiBTYXR1cmF0aW9uIjoNCiAgW09ic2VydmF0aW9uOiAiT3h5Z2VuIHNhdHVyYXRpb24iXSBPDQogICAgd2hlcmUgTy5zdGF0dXMgPSAnZmluYWwnDQogICAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIlBvdGFzc2l1bSI6DQogIFtPYnNlcnZhdGlvbjogIlBvdGFzc2l1bSBnb2FsIl0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KZGVmaW5lICJDcmVhdGluaW5lIjoNCiAgW09ic2VydmF0aW9uOiAiQ3JlYXRpbmluZSBpbiBzZXJ1bSJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiZUdGUiI6DQogIFtPYnNlcnZhdGlvbjogImVHRlIgcmVzdWx0Il0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KDQovLyBFbGlnaWJpbGl0eSBDcml0ZXJpYQ0KZGVmaW5lICJFbGlnaWJpbGl0eSBDcml0ZXJpYSI6DQogIFtDb25kaXRpb25dIEMNCiAgICB3aGVyZSBDLmNvZGUgfiAiQ29uZ2VzdGl2ZSBoZWFydCBmYWlsdXJlIg0KICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgfiAiQWN0aXZlIGNvbmRpdGlvbiINCiAgICAgIGFuZCBDLnZlcmlmaWNhdGlvblN0YXR1cyB+ICJDb25maXJtZWQgY29uZGl0aW9uIg0KDQovLyBUT0RPOiBIYW5kbGUgY29udGFpbmVkIHJlZmVyZW5jZXMNCi8vIFRPRE86IEhhbmRsZSBidW5kbGUgcmVmZXJlbmNlcw0KLy8gVE9ETzogSGFuZGxlIHJlbW90ZSByZWZlcmVuY2VzDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlcyhyZWZlcmVuY2UgUmVmZXJlbmNlLCBlbmNvdW50ZXIgRW5jb3VudGVyKToNCiAgRW5kc1dpdGgocmVmZXJlbmNlLnJlZmVyZW5jZSwgJy8nICsgZW5jb3VudGVyLmlkKQ0KDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlVG8oZW5jb3VudGVyIEVuY291bnRlcik6DQogIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6ICdFbmNvdW50ZXIvJyArIGVuY291bnRlci5pZCB9IH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlZmVyZW5jZVRvKHBhdGllbnQgUGF0aWVudCk6DQogIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6ICdQYXRpZW50LycgKyBwYXRpZW50LmlkIH0gfQ0K"/>
  </content>
</Library>