Structured Data Capture
4.0.0-ci-build - STU 4 CI-build 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 4.0.0-ci-build 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

Page standards status: Informative

Raw ttl | Download

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

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

 a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "sdc-CHF"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-library"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-library>     ] )
  ] ; # 
  fhir:language [ fhir:v "en"] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n  <table class=\"narrative-table\">\n    <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Metadata</th>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">Congestive Heart Failure Logic</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">4.0.0-ci-build</td>\n\n\n</tr>\n\n\n\n\n\n\n\n  \n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">urn:oid:2.16.840.1.113883.4.642.40.17.28.1</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Experimental</th>\n\n\n\n<td class=\"content-container\">true</td>\n\n\n</tr>\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Jurisdiction</th>\n\n\n\n<td class=\"content-container\">\n    World\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">HL7 International / FHIR Infrastructure</td>\n\n\n</tr>\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward Contact</th>\n\n\n\n<td class=\"content-container\">HL7 International / FHIR Infrastructure</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>Logic for an example congestive heart failure pathway</p>\n</div></td>\n\n\n</tr>\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n    Logic Library\n\n\n</td>\n\n\n</tr>\n\n\n\n<tr>\n  \n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    <em>Description</em>: SNOMED CT\n    \n    <br/>\n    \n    \n    \n    \n    <em>Content URL</em>: <a href=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</a>\n    \n    <br/>\n    \n    \n    \n    <em>Document</em>: null @ http://snomed.info/sct\n    \n    \n    \n    <em>Resource</em>: <a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</a>\n    <br/>\n    <em>Canonical URL</em>: <tt>http://snomed.info/sct</tt>\n    \n    \n    \n  </td>\n</tr>\n\n<tr>\n  \n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    <em>Description</em>: LOINC\n    \n    <br/>\n    \n    \n    \n    \n    <em>Content URL</em>: <a href=\"https://loinc.org/\">http://loinc.org</a>\n    \n    <br/>\n    \n    \n    \n    <em>Document</em>: null @ http://loinc.org\n    \n    \n    \n    <em>Resource</em>: <a href=\"http://tx.fhir.org/r4/ValueSet/x-loinc2.82\">LOINC</a>\n    <br/>\n    <em>Canonical URL</em>: <tt>http://loinc.org</tt>\n    \n    \n    \n  </td>\n</tr>\n\n<tr>\n  \n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    <em>Description</em>: Congestive heart failure codes\n    \n    <br/>\n    \n    \n    \n    \n    <em>Content URL</em>: <a href=\"CodeSystem-chf-codes.html\">http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes</a>\n    \n    <br/>\n    \n    \n    \n    <em>Document</em>: null @ http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes\n    \n    \n    \n    <em>Resource</em>: <a href=\"CodeSystem-chf-codes.html\">CHF Codes</a>\n    <br/>\n    <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes</tt>\n    \n    \n    \n  </td>\n</tr>\n\n<tr>\n  \n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    <em>Description</em>: Clinical condition codes\n    \n    <br/>\n    \n    \n    \n    \n    <em>Content URL</em>: <a href=\"http://hl7.org/fhir/R4/codesystem-condition-clinical.html\">http://terminology.hl7.org/CodeSystem/condition-clinical</a>\n    \n    <br/>\n    \n    \n    \n    <em>Document</em>: null @ http://terminology.hl7.org/CodeSystem/condition-clinical\n    \n    \n    \n    <em>Resource</em>: <a href=\"http://tx.fhir.org/r4/ValueSet/condition-clinical\">Condition Clinical Status Codes</a> version: 4.0.1\n    <br/>\n    <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1</tt>\n    \n    \n    \n  </td>\n</tr>\n\n<tr>\n  \n  \n  \n  \n  \n\n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n\n  \n  \n  <td class=\"content-container\">\n    \n    <em>Description</em>: Condition verification status\n    \n    <br/>\n    \n    \n    \n    \n    <em>Content URL</em>: <a href=\"http://hl7.org/fhir/R4/codesystem-condition-ver-status.html\">http://terminology.hl7.org/CodeSystem/condition-ver-status</a>\n    \n    <br/>\n    \n    \n    \n    <em>Document</em>: null @ http://terminology.hl7.org/CodeSystem/condition-ver-status\n    \n    \n    \n    <em>Resource</em>: <a href=\"http://tx.fhir.org/r4/ValueSet/condition-ver-status\">ConditionVerificationStatus</a> version: 4.0.1\n    <br/>\n    <em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/condition-ver-status|4.0.1</tt>\n    \n    \n    \n  </td>\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      <a href=\"https://loinc.org/29463-7\">LOINC: 29463-7</a> (Body weight)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      chf-codes: body-weight-change (body-weight-change)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      <a href=\"https://loinc.org/9192-6\">LOINC: 9192-6</a> (Urine output 24 hour)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      chf-codes: net-intake-output (net-intake-output)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      chf-codes: jvp (jvp)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      <a href=\"https://loinc.org/2708-6\">LOINC: 2708-6</a> (Oxygen saturation in Arterial blood)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      <a href=\"https://loinc.org/86919-8\">LOINC: 86919-8</a> (Potassium goal [Moles/volume] Serum or Plasma)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      <a href=\"https://loinc.org/39802-4\">LOINC: 39802-4</a> (Creatinine in dialysis fluid/Creatinine in serum or plasma)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Observation\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n    <br/>        \n  \n   \n   \n  \n    <em>Code Filter(s)</em>: \n    <br/>\n  \n  \n    <span class=\"tab-one\"><em>Path</em>: code</span>\n    <br/>\n  \n  \n  \n  \n    <span class=\"tab-one\"><em>Code(s)</em>: \n    \n      \n      chf-codes: egfr (egfr)\n      \n    \n    </span>\n    <br/>\n  \n  \n   \n  </td>\n</tr>\n\n<tr>\n  <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n  <td class=\"content-container\">\n    <em>Type</em>: Condition\n    <br/>\n  \n    <em>Profile(s)</em>: \n  \n    <a href=\"http://hl7.org/fhir/R4/condition.html\">Condition</a>\n    <br/>        \n  \n   \n   \n   \n  </td>\n</tr>\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n<tr>\n  \n\n<th scope=\"row\" class=\"row-header\"/>\n\n\n  <td class=\"content-container\">\n    <table>\n      <thead>\n        <tr>\n          <td><em>Name</em></td>\n          <td><em>Use</em></td>\n          <td><em>Card.</em></td>\n          <td><em>Type</em></td>\n          <td><em>Documentation</em></td>\n        </tr>\n      </thead>\n      <tbody>\n      \n        <tr>\n          <td>Encounter</td>\n          <td>In</td>\n          <td>0..1</td>\n          <td>Encounter</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Patient</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>Patient</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Body Weight</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Body Weight Change Assertion</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Daily Body Weight</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Resource</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Daily Body Weight Change</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Resource</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Body Weight Change</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Current Body Weight</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Previous Body Weight</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Current Body Weight Change</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>integer</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Urine Output</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Current Urine Output</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Net Intake/Output</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Current Net Intake/Output</td>\n          <td>Out</td>\n          <td>0..1</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Jugular Venous Pressure</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Oxygen Saturation</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Potassium</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Creatinine</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>eGFR</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Observation</td>\n          <td/>\n        </tr>\n      \n        <tr>\n          <td>Eligibility Criteria</td>\n          <td>Out</td>\n          <td>0..*</td>\n          <td>Condition</td>\n          <td/>\n        </tr>\n      \n      </tbody>\n    </table>\n  </td>\n</tr>\n\n\n\n\n\n\n\n  <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n  \n    \n    <tr>\n      <th scope=\"row\" class=\"row-header\">CQL Content</th>\n      <td>\n        <a name=\"cql-content\"> </a>\n        <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">library CHF version '1.0.0'#xD;\n#xD;\nusing FHIR version '4.0.1'#xD;\n#xD;\ninclude FHIRHelpers version '4.0.1'#xD;\n#xD;\ncodesystem \"SNOMED-CT\": 'http://snomed.info/sct'#xD;\ncodesystem \"LOINC\": 'http://loinc.org'#xD;\ncodesystem \"CHFCodes\": 'http://hl7.org/fhir/uv/cpg/CodeSystem/chf-codes'#xD;\ncodesystem \"Condition Clinical Status Code\": 'http://terminology.hl7.org/CodeSystem/condition-clinical'#xD;\ncodesystem \"Condition Verification Status Code\": 'http://terminology.hl7.org/CodeSystem/condition-ver-status'#xD;\n#xD;\ncode \"Congestive heart failure\": '42343007' from \"SNOMED-CT\"#xD;\n#xD;\ncode \"Body weight\": '29463-7' from \"LOINC\"#xD;\ncode \"Body weight change\": 'body-weight-change' from \"CHFCodes\"#xD;\ncode \"Urine output\": '9192-6' from \"LOINC\"#xD;\ncode \"Net intake/output\": 'net-intake-output' from \"CHFCodes\"#xD;\ncode \"Jugular venous pressure\": 'jvp' from \"CHFCodes\"#xD;\ncode \"Oxygen saturation\": '2708-6' from \"LOINC\"#xD;\ncode \"Potassium goal\": '86919-8' from \"LOINC\" display 'Potassium goal [Moles/volume] Serum or Plasma' // meq/L#xD;\ncode \"Creatinine in serum\": '39802-4' from \"LOINC\" display 'Creatinine in serum or plasma' // NOTE: example shows mg/dL, but no LOINC code has those units?#xD;\ncode \"eGFR result\": 'egfr' from \"CHFCodes\" // NOTE: Too many to pick from, needs clinical/terminological SME input, in mol/mm/m2#xD;\n#xD;\ncode \"Active condition\": 'active' from \"Condition Clinical Status Code\"#xD;\ncode \"Provisional condition\": 'provisional' from \"Condition Verification Status Code\"#xD;\ncode \"Confirmed condition\": 'confirmed' from \"Condition Verification Status Code\"#xD;\n#xD;\nparameter Encounter Encounter#xD;\n#xD;\ncontext Patient#xD;\n#xD;\n// Case Features#xD;\ndefine \"Body Weight\":#xD;\n  [Observation: \"Body weight\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Body Weight Change Assertion\":#xD;\n  [Observation: \"Body weight change\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Body Weight Change\":#xD;\n  \"Daily Body Weight Change\" WC#xD;\n    return Observation {#xD;\n      id: id { value: Encounter.id + '-bodyweight-change' + ToString(WC.date) },#xD;\n      extension: {#xD;\n        Extension {#xD;\n          url: url { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-instantiatesCaseFeature' },#xD;\n          value: canonical { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/chf-bodyweight-change' }#xD;\n        },#xD;\n        Extension {#xD;\n          url: url { value: 'http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureType' },#xD;\n          value: code { value: 'asserted' }#xD;\n        }#xD;\n      },#xD;\n      status: ObservationStatus { value: 'final' },#xD;\n      code: CodeableConcept {#xD;\n        coding: {#xD;\n          Coding {#xD;\n            system: uri { value: 'http://hl7.org/fhir/uv/cpg/CodeSystem/chf-codes' },#xD;\n            code: code { value: 'body-weight-change' }#xD;\n          }#xD;\n        }#xD;\n      },#xD;\n      effective: dateTime { value: WC.date },#xD;\n      issued: instant { value: Now() },#xD;\n      subject: referenceTo(Patient),#xD;\n      encounter: referenceTo(Encounter),#xD;\n      value: Quantity {#xD;\n        value: decimal { value: WC.change.value },#xD;\n        unit: string { value: WC.change.unit },#xD;\n        system: uri { value: 'http://unitsofmeasure.org' },#xD;\n        code: code { value: WC.change.unit }#xD;\n      }#xD;\n    }#xD;\n#xD;\ndefine \"Daily Body Weight\":#xD;\n  (expand Encounter.period per day) Date#xD;\n    let maxWeight: Max(\"Body Weight\" WT where WT.issued same day as Date return WT.value as FHIR.Quantity)#xD;\n    return { date: Date, weight: maxWeight }#xD;\n#xD;\ndefine \"Daily Body Weight Change\":#xD;\n  \"Daily Body Weight\" WT#xD;\n    let priorWeight: First(\"Daily Body Weight\" PWT where PWT.date &lt; WT.date sort by date descending).weight#xD;\n    return { date: WT.date, weight: WT.weight, priorWeight: priorWeight, change: WT.weight - priorWeight}#xD;\n#xD;\ndefine \"Current Body Weight\":#xD;\n  First(\"Body Weight\" WT where WT.issued same day as Today() sort by issued descending)#xD;\n#xD;\ndefine \"Previous Body Weight\":#xD;\n  First(\"Body Weight\" WT where WT.issued 1 day before day of Today() sort by issued descending)#xD;\n#xD;\ndefine \"Current Body Weight Change\":#xD;\n  \"Current Body Weight\".value - \"Previous Body Weight\".value#xD;\n#xD;\ndefine \"Urine Output\":#xD;\n  [Observation: \"Urine output\"] O#xD;\n    where O.status = 'final'#xD;\n    and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Current Urine Output\":#xD;\n  First(\"Urine Output\" UO where UO.issued same day as Today() sort by issued descending)#xD;\n#xD;\ndefine \"Net Intake/Output\":#xD;\n  [Observation: \"Net intake/output\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Current Net Intake/Output\":#xD;\n  First(\"Net Intake/Output\" IO where IO.issued same day as Today() sort by issued descending)#xD;\n#xD;\ndefine \"Jugular Venous Pressure\":#xD;\n  [Observation: \"Jugular venous pressure\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Oxygen Saturation\":#xD;\n  [Observation: \"Oxygen saturation\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Potassium\":#xD;\n  [Observation: \"Potassium goal\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"Creatinine\":#xD;\n  [Observation: \"Creatinine in serum\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\ndefine \"eGFR\":#xD;\n  [Observation: \"eGFR result\"] O#xD;\n    where O.status = 'final'#xD;\n      and references(O.encounter, Encounter)#xD;\n#xD;\n#xD;\n// Eligibility Criteria#xD;\ndefine \"Eligibility Criteria\":#xD;\n  [Condition] C#xD;\n    where C.code ~ \"Congestive heart failure\"#xD;\n      and C.clinicalStatus ~ \"Active condition\"#xD;\n      and C.verificationStatus ~ \"Confirmed condition\"#xD;\n#xD;\n// TODO: Handle contained references#xD;\n// TODO: Handle bundle references#xD;\n// TODO: Handle remote references#xD;\ndefine function references(reference Reference, encounter Encounter):#xD;\n  EndsWith(reference.reference, '/' + encounter.id)#xD;\n#xD;\ndefine function referenceTo(encounter Encounter):#xD;\n  Reference { reference: string { value: 'Encounter/' + encounter.id } }#xD;\n#xD;\ndefine function referenceTo(patient Patient):#xD;\n  Reference { reference: string { value: 'Patient/' + patient.id } }#xD;\n</code></pre>\n      </td>\n    </tr>\n    \n  \n\n<tr>\n  <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.4 of the sample-content-ig Liquid templates</th>\n</tr>\n\n    </tbody>\n  </table>\n</div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:extension ( [
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm>     ] ;
fhir:value [
a fhir:Coding ;
fhir:system [
fhir:v "http://hl7.org/fhir/version-algorithm"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/version-algorithm>       ] ;
fhir:code [ fhir:v "semver" ]     ]
  ] ) ; # 
  fhir:url [
fhir:v "http://hl7.org/fhir/uv/sdc/Library/sdc-CHF"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/sdc/Library/sdc-CHF>
  ] ; # 
  fhir:identifier ( [
fhir:system [
fhir:v "urn:ietf:rfc:3986"^^xsd:anyURI ;
fhir:l <urn:ietf:rfc:3986>     ] ;
fhir:value [ fhir:v "urn:oid:2.16.840.1.113883.4.642.40.17.28.1" ]
  ] ) ; # 
  fhir:version [ fhir:v "4.0.0-ci-build"] ; # 
  fhir:name [ fhir:v "CHF"] ; # 
  fhir:title [ fhir:v "Congestive Heart Failure Logic"] ; # 
  fhir:status [ fhir:v "active"] ; # 
  fhir:experimental [ fhir:v true] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [
fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/library-type>       ] ;
fhir:code [ fhir:v "logic-library" ] ;
fhir:display [ fhir:v "Logic Library" ]     ] )
  ] ; # 
  fhir:date [ fhir:v "2020-11-29T15:54:22-07:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "HL7 International / FHIR Infrastructure"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "HL7 International / FHIR Infrastructure" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]     ] )
  ] [
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Logic for an example congestive heart failure pathway"] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [
fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ;
fhir:l <http://unstats.un.org/unsd/methods/m49/m49.htm>       ] ;
fhir:code [ fhir:v "001" ] ;
fhir:display [ fhir:v "World" ]     ] )
  ] ) ; # 
  fhir:relatedArtifact ( [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "SNOMED CT" ] ;
fhir:url [
fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
fhir:l <http://snomed.info/sct>     ] ;
fhir:document [
fhir:url [
fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
fhir:l <http://snomed.info/sct>       ]     ] ;
fhir:resource [
fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
fhir:l <http://snomed.info/sct>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "LOINC" ] ;
fhir:url [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>     ] ;
fhir:document [
fhir:url [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>       ]     ] ;
fhir:resource [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Congestive heart failure codes" ] ;
fhir:url [
fhir:v "http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes>     ] ;
fhir:document [
fhir:url [
fhir:v "http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes>       ]     ] ;
fhir:resource [
fhir:v "http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/sdc/CodeSystem/chf-codes>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Clinical condition codes" ] ;
fhir:url [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-clinical>     ] ;
fhir:document [
fhir:url [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-clinical>       ]     ] ;
fhir:resource [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-clinical?version=4.0.1>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Condition verification status" ] ;
fhir:url [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-ver-status>     ] ;
fhir:document [
fhir:url [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-ver-status>       ]     ] ;
fhir:resource [
fhir:v "http://terminology.hl7.org/CodeSystem/condition-ver-status|4.0.1"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/condition-ver-status?version=4.0.1>     ]
  ] ) ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "Encounter" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Encounter" ]
  ] [
fhir:name [ fhir:v "Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Patient" ]
  ] [
fhir:name [ fhir:v "Body Weight" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Body Weight Change Assertion" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Daily Body Weight" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Resource" ]
  ] [
fhir:name [ fhir:v "Daily Body Weight Change" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Resource" ]
  ] [
fhir:name [ fhir:v "Body Weight Change" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Current Body Weight" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Previous Body Weight" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Current Body Weight Change" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "integer" ]
  ] [
fhir:name [ fhir:v "Urine Output" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Current Urine Output" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Net Intake/Output" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Current Net Intake/Output" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Jugular Venous Pressure" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Oxygen Saturation" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Potassium" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Creatinine" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "eGFR" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Observation" ]
  ] [
fhir:name [ fhir:v "Eligibility Criteria" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "*" ] ;
fhir:type [ fhir:v "Condition" ]
  ] ) ; # 
  fhir:dataRequirement ( [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
a loinc:29463-7 ;
fhir:system [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>         ] ;
fhir:code [ fhir:v "29463-7" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
fhir:system [
fhir:v "http://example.org/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://example.org/CodeSystem/chf-codes>         ] ;
fhir:code [ fhir:v "body-weight-change" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
a loinc:9192-6 ;
fhir:system [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>         ] ;
fhir:code [ fhir:v "9192-6" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
fhir:system [
fhir:v "http://example.org/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://example.org/CodeSystem/chf-codes>         ] ;
fhir:code [ fhir:v "net-intake-output" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
fhir:system [
fhir:v "http://example.org/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://example.org/CodeSystem/chf-codes>         ] ;
fhir:code [ fhir:v "jvp" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
a loinc:2708-6 ;
fhir:system [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>         ] ;
fhir:code [ fhir:v "2708-6" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
a loinc:86919-8 ;
fhir:system [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>         ] ;
fhir:code [ fhir:v "86919-8" ] ;
fhir:display [ fhir:v "Potassium goal [Moles/volume] Serum or Plasma" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
a loinc:39802-4 ;
fhir:system [
fhir:v "http://loinc.org"^^xsd:anyURI ;
fhir:l <http://loinc.org>         ] ;
fhir:code [ fhir:v "39802-4" ] ;
fhir:display [ fhir:v "Creatinine in dialysis fluid/Creatinine in serum or plasma" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Observation" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Observation"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Observation>     ] ) ;
    ( fhir:codeFilter [
fhir:path [ fhir:v "code" ] ;
      ( fhir:code [
fhir:system [
fhir:v "http://example.org/CodeSystem/chf-codes"^^xsd:anyURI ;
fhir:l <http://example.org/CodeSystem/chf-codes>         ] ;
fhir:code [ fhir:v "egfr" ]       ] )     ] )
  ] [
fhir:type [ fhir:v "Condition" ] ;
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Condition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Condition>     ] )
  ] ) ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "bGlicmFyeSBDSEYgdmVyc2lvbiAnMS4wLjAnDQoNCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnDQoNCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnDQoNCmNvZGVzeXN0ZW0gIlNOT01FRC1DVCI6ICdodHRwOi8vc25vbWVkLmluZm8vc2N0Jw0KY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycNCmNvZGVzeXN0ZW0gIkNIRkNvZGVzIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvdXYvY3BnL0NvZGVTeXN0ZW0vY2hmLWNvZGVzJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uIENsaW5pY2FsIFN0YXR1cyBDb2RlIjogJ2h0dHA6Ly90ZXJtaW5vbG9neS5obDcub3JnL0NvZGVTeXN0ZW0vY29uZGl0aW9uLWNsaW5pY2FsJw0KY29kZXN5c3RlbSAiQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZSI6ICdodHRwOi8vdGVybWlub2xvZ3kuaGw3Lm9yZy9Db2RlU3lzdGVtL2NvbmRpdGlvbi12ZXItc3RhdHVzJw0KDQpjb2RlICJDb25nZXN0aXZlIGhlYXJ0IGZhaWx1cmUiOiAnNDIzNDMwMDcnIGZyb20gIlNOT01FRC1DVCINCg0KY29kZSAiQm9keSB3ZWlnaHQiOiAnMjk0NjMtNycgZnJvbSAiTE9JTkMiDQpjb2RlICJCb2R5IHdlaWdodCBjaGFuZ2UiOiAnYm9keS13ZWlnaHQtY2hhbmdlJyBmcm9tICJDSEZDb2RlcyINCmNvZGUgIlVyaW5lIG91dHB1dCI6ICc5MTkyLTYnIGZyb20gIkxPSU5DIg0KY29kZSAiTmV0IGludGFrZS9vdXRwdXQiOiAnbmV0LWludGFrZS1vdXRwdXQnIGZyb20gIkNIRkNvZGVzIg0KY29kZSAiSnVndWxhciB2ZW5vdXMgcHJlc3N1cmUiOiAnanZwJyBmcm9tICJDSEZDb2RlcyINCmNvZGUgIk94eWdlbiBzYXR1cmF0aW9uIjogJzI3MDgtNicgZnJvbSAiTE9JTkMiDQpjb2RlICJQb3Rhc3NpdW0gZ29hbCI6ICc4NjkxOS04JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnUG90YXNzaXVtIGdvYWwgW01vbGVzL3ZvbHVtZV0gU2VydW0gb3IgUGxhc21hJyAvLyBtZXEvTA0KY29kZSAiQ3JlYXRpbmluZSBpbiBzZXJ1bSI6ICczOTgwMi00JyBmcm9tICJMT0lOQyIgZGlzcGxheSAnQ3JlYXRpbmluZSBpbiBzZXJ1bSBvciBwbGFzbWEnIC8vIE5PVEU6IGV4YW1wbGUgc2hvd3MgbWcvZEwsIGJ1dCBubyBMT0lOQyBjb2RlIGhhcyB0aG9zZSB1bml0cz8NCmNvZGUgImVHRlIgcmVzdWx0IjogJ2VnZnInIGZyb20gIkNIRkNvZGVzIiAvLyBOT1RFOiBUb28gbWFueSB0byBwaWNrIGZyb20sIG5lZWRzIGNsaW5pY2FsL3Rlcm1pbm9sb2dpY2FsIFNNRSBpbnB1dCwgaW4gbW9sL21tL20yDQoNCmNvZGUgIkFjdGl2ZSBjb25kaXRpb24iOiAnYWN0aXZlJyBmcm9tICJDb25kaXRpb24gQ2xpbmljYWwgU3RhdHVzIENvZGUiDQpjb2RlICJQcm92aXNpb25hbCBjb25kaXRpb24iOiAncHJvdmlzaW9uYWwnIGZyb20gIkNvbmRpdGlvbiBWZXJpZmljYXRpb24gU3RhdHVzIENvZGUiDQpjb2RlICJDb25maXJtZWQgY29uZGl0aW9uIjogJ2NvbmZpcm1lZCcgZnJvbSAiQ29uZGl0aW9uIFZlcmlmaWNhdGlvbiBTdGF0dXMgQ29kZSINCg0KcGFyYW1ldGVyIEVuY291bnRlciBFbmNvdW50ZXINCg0KY29udGV4dCBQYXRpZW50DQoNCi8vIENhc2UgRmVhdHVyZXMNCmRlZmluZSAiQm9keSBXZWlnaHQiOg0KICBbT2JzZXJ2YXRpb246ICJCb2R5IHdlaWdodCJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiQm9keSBXZWlnaHQgQ2hhbmdlIEFzc2VydGlvbiI6DQogIFtPYnNlcnZhdGlvbjogIkJvZHkgd2VpZ2h0IGNoYW5nZSJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiQm9keSBXZWlnaHQgQ2hhbmdlIjoNCiAgIkRhaWx5IEJvZHkgV2VpZ2h0IENoYW5nZSIgV0MNCiAgICByZXR1cm4gT2JzZXJ2YXRpb24gew0KICAgICAgaWQ6IGlkIHsgdmFsdWU6IEVuY291bnRlci5pZCArICctYm9keXdlaWdodC1jaGFuZ2UnICsgVG9TdHJpbmcoV0MuZGF0ZSkgfSwNCiAgICAgIGV4dGVuc2lvbjogew0KICAgICAgICBFeHRlbnNpb24gew0KICAgICAgICAgIHVybDogdXJsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NwZy1pbnN0YW50aWF0ZXNDYXNlRmVhdHVyZScgfSwNCiAgICAgICAgICB2YWx1ZTogY2Fub25pY2FsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NoZi1ib2R5d2VpZ2h0LWNoYW5nZScgfQ0KICAgICAgICB9LA0KICAgICAgICBFeHRlbnNpb24gew0KICAgICAgICAgIHVybDogdXJsIHsgdmFsdWU6ICdodHRwOi8vaGw3Lm9yZy9maGlyL3V2L2NwZy9TdHJ1Y3R1cmVEZWZpbml0aW9uL2NwZy1jYXNlRmVhdHVyZVR5cGUnIH0sDQogICAgICAgICAgdmFsdWU6IGNvZGUgeyB2YWx1ZTogJ2Fzc2VydGVkJyB9DQogICAgICAgIH0NCiAgICAgIH0sDQogICAgICBzdGF0dXM6IE9ic2VydmF0aW9uU3RhdHVzIHsgdmFsdWU6ICdmaW5hbCcgfSwNCiAgICAgIGNvZGU6IENvZGVhYmxlQ29uY2VwdCB7DQogICAgICAgIGNvZGluZzogew0KICAgICAgICAgIENvZGluZyB7DQogICAgICAgICAgICBzeXN0ZW06IHVyaSB7IHZhbHVlOiAnaHR0cDovL2hsNy5vcmcvZmhpci91di9jcGcvQ29kZVN5c3RlbS9jaGYtY29kZXMnIH0sDQogICAgICAgICAgICBjb2RlOiBjb2RlIHsgdmFsdWU6ICdib2R5LXdlaWdodC1jaGFuZ2UnIH0NCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0sDQogICAgICBlZmZlY3RpdmU6IGRhdGVUaW1lIHsgdmFsdWU6IFdDLmRhdGUgfSwNCiAgICAgIGlzc3VlZDogaW5zdGFudCB7IHZhbHVlOiBOb3coKSB9LA0KICAgICAgc3ViamVjdDogcmVmZXJlbmNlVG8oUGF0aWVudCksDQogICAgICBlbmNvdW50ZXI6IHJlZmVyZW5jZVRvKEVuY291bnRlciksDQogICAgICB2YWx1ZTogUXVhbnRpdHkgew0KICAgICAgICB2YWx1ZTogZGVjaW1hbCB7IHZhbHVlOiBXQy5jaGFuZ2UudmFsdWUgfSwNCiAgICAgICAgdW5pdDogc3RyaW5nIHsgdmFsdWU6IFdDLmNoYW5nZS51bml0IH0sDQogICAgICAgIHN5c3RlbTogdXJpIHsgdmFsdWU6ICdodHRwOi8vdW5pdHNvZm1lYXN1cmUub3JnJyB9LA0KICAgICAgICBjb2RlOiBjb2RlIHsgdmFsdWU6IFdDLmNoYW5nZS51bml0IH0NCiAgICAgIH0NCiAgICB9DQoNCmRlZmluZSAiRGFpbHkgQm9keSBXZWlnaHQiOg0KICAoZXhwYW5kIEVuY291bnRlci5wZXJpb2QgcGVyIGRheSkgRGF0ZQ0KICAgIGxldCBtYXhXZWlnaHQ6IE1heCgiQm9keSBXZWlnaHQiIFdUIHdoZXJlIFdULmlzc3VlZCBzYW1lIGRheSBhcyBEYXRlIHJldHVybiBXVC52YWx1ZSBhcyBGSElSLlF1YW50aXR5KQ0KICAgIHJldHVybiB7IGRhdGU6IERhdGUsIHdlaWdodDogbWF4V2VpZ2h0IH0NCg0KZGVmaW5lICJEYWlseSBCb2R5IFdlaWdodCBDaGFuZ2UiOg0KICAiRGFpbHkgQm9keSBXZWlnaHQiIFdUDQogICAgbGV0IHByaW9yV2VpZ2h0OiBGaXJzdCgiRGFpbHkgQm9keSBXZWlnaHQiIFBXVCB3aGVyZSBQV1QuZGF0ZSA8IFdULmRhdGUgc29ydCBieSBkYXRlIGRlc2NlbmRpbmcpLndlaWdodA0KICAgIHJldHVybiB7IGRhdGU6IFdULmRhdGUsIHdlaWdodDogV1Qud2VpZ2h0LCBwcmlvcldlaWdodDogcHJpb3JXZWlnaHQsIGNoYW5nZTogV1Qud2VpZ2h0IC0gcHJpb3JXZWlnaHR9DQoNCmRlZmluZSAiQ3VycmVudCBCb2R5IFdlaWdodCI6DQogIEZpcnN0KCJCb2R5IFdlaWdodCIgV1Qgd2hlcmUgV1QuaXNzdWVkIHNhbWUgZGF5IGFzIFRvZGF5KCkgc29ydCBieSBpc3N1ZWQgZGVzY2VuZGluZykNCg0KZGVmaW5lICJQcmV2aW91cyBCb2R5IFdlaWdodCI6DQogIEZpcnN0KCJCb2R5IFdlaWdodCIgV1Qgd2hlcmUgV1QuaXNzdWVkIDEgZGF5IGJlZm9yZSBkYXkgb2YgVG9kYXkoKSBzb3J0IGJ5IGlzc3VlZCBkZXNjZW5kaW5nKQ0KDQpkZWZpbmUgIkN1cnJlbnQgQm9keSBXZWlnaHQgQ2hhbmdlIjoNCiAgIkN1cnJlbnQgQm9keSBXZWlnaHQiLnZhbHVlIC0gIlByZXZpb3VzIEJvZHkgV2VpZ2h0Ii52YWx1ZQ0KDQpkZWZpbmUgIlVyaW5lIE91dHB1dCI6DQogIFtPYnNlcnZhdGlvbjogIlVyaW5lIG91dHB1dCJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIkN1cnJlbnQgVXJpbmUgT3V0cHV0IjoNCiAgRmlyc3QoIlVyaW5lIE91dHB1dCIgVU8gd2hlcmUgVU8uaXNzdWVkIHNhbWUgZGF5IGFzIFRvZGF5KCkgc29ydCBieSBpc3N1ZWQgZGVzY2VuZGluZykNCg0KZGVmaW5lICJOZXQgSW50YWtlL091dHB1dCI6DQogIFtPYnNlcnZhdGlvbjogIk5ldCBpbnRha2Uvb3V0cHV0Il0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KZGVmaW5lICJDdXJyZW50IE5ldCBJbnRha2UvT3V0cHV0IjoNCiAgRmlyc3QoIk5ldCBJbnRha2UvT3V0cHV0IiBJTyB3aGVyZSBJTy5pc3N1ZWQgc2FtZSBkYXkgYXMgVG9kYXkoKSBzb3J0IGJ5IGlzc3VlZCBkZXNjZW5kaW5nKQ0KDQpkZWZpbmUgIkp1Z3VsYXIgVmVub3VzIFByZXNzdXJlIjoNCiAgW09ic2VydmF0aW9uOiAiSnVndWxhciB2ZW5vdXMgcHJlc3N1cmUiXSBPDQogICAgd2hlcmUgTy5zdGF0dXMgPSAnZmluYWwnDQogICAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIk94eWdlbiBTYXR1cmF0aW9uIjoNCiAgW09ic2VydmF0aW9uOiAiT3h5Z2VuIHNhdHVyYXRpb24iXSBPDQogICAgd2hlcmUgTy5zdGF0dXMgPSAnZmluYWwnDQogICAgICBhbmQgcmVmZXJlbmNlcyhPLmVuY291bnRlciwgRW5jb3VudGVyKQ0KDQpkZWZpbmUgIlBvdGFzc2l1bSI6DQogIFtPYnNlcnZhdGlvbjogIlBvdGFzc2l1bSBnb2FsIl0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KZGVmaW5lICJDcmVhdGluaW5lIjoNCiAgW09ic2VydmF0aW9uOiAiQ3JlYXRpbmluZSBpbiBzZXJ1bSJdIE8NCiAgICB3aGVyZSBPLnN0YXR1cyA9ICdmaW5hbCcNCiAgICAgIGFuZCByZWZlcmVuY2VzKE8uZW5jb3VudGVyLCBFbmNvdW50ZXIpDQoNCmRlZmluZSAiZUdGUiI6DQogIFtPYnNlcnZhdGlvbjogImVHRlIgcmVzdWx0Il0gTw0KICAgIHdoZXJlIE8uc3RhdHVzID0gJ2ZpbmFsJw0KICAgICAgYW5kIHJlZmVyZW5jZXMoTy5lbmNvdW50ZXIsIEVuY291bnRlcikNCg0KDQovLyBFbGlnaWJpbGl0eSBDcml0ZXJpYQ0KZGVmaW5lICJFbGlnaWJpbGl0eSBDcml0ZXJpYSI6DQogIFtDb25kaXRpb25dIEMNCiAgICB3aGVyZSBDLmNvZGUgfiAiQ29uZ2VzdGl2ZSBoZWFydCBmYWlsdXJlIg0KICAgICAgYW5kIEMuY2xpbmljYWxTdGF0dXMgfiAiQWN0aXZlIGNvbmRpdGlvbiINCiAgICAgIGFuZCBDLnZlcmlmaWNhdGlvblN0YXR1cyB+ICJDb25maXJtZWQgY29uZGl0aW9uIg0KDQovLyBUT0RPOiBIYW5kbGUgY29udGFpbmVkIHJlZmVyZW5jZXMNCi8vIFRPRE86IEhhbmRsZSBidW5kbGUgcmVmZXJlbmNlcw0KLy8gVE9ETzogSGFuZGxlIHJlbW90ZSByZWZlcmVuY2VzDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlcyhyZWZlcmVuY2UgUmVmZXJlbmNlLCBlbmNvdW50ZXIgRW5jb3VudGVyKToNCiAgRW5kc1dpdGgocmVmZXJlbmNlLnJlZmVyZW5jZSwgJy8nICsgZW5jb3VudGVyLmlkKQ0KDQpkZWZpbmUgZnVuY3Rpb24gcmVmZXJlbmNlVG8oZW5jb3VudGVyIEVuY291bnRlcik6DQogIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6ICdFbmNvdW50ZXIvJyArIGVuY291bnRlci5pZCB9IH0NCg0KZGVmaW5lIGZ1bmN0aW9uIHJlZmVyZW5jZVRvKHBhdGllbnQgUGF0aWVudCk6DQogIFJlZmVyZW5jZSB7IHJlZmVyZW5jZTogc3RyaW5nIHsgdmFsdWU6ICdQYXRpZW50LycgKyBwYXRpZW50LmlkIH0gfQ0K"^^xsd:base64Binary ]
  ] ) . #