Quality Measure STU2 for FHIR R4 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v2.0.0: STU 2) based on FHIR R4. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

RiskAdjustment_FHIR2


<Library xmlns="http://hl7.org/fhir">
  <id value="risk-adjustment-FHIR2"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
   <table class="grid dict">
      <tr>
         <th scope="row"><b>Id: </b></th>
         <td style="padding-left: 25px; padding-right: 25px;">riskadjustment-fhir2</td>
      </tr>
      <tr>
         <th scope="row"><b>Type: </b></th>
         <td style="padding-right: 25px;"><span><br/><span><span style="padding-left: 25px;"><b>system: </b><span>http://terminology.hl7.org/CodeSystem/library-type</span><br/></span><span style="padding-left: 25px;"><b>code: </b><span>logic-library</span></span></span></span></td>
      </tr>
      <tr>
         <th scope="row"><b>Version: </b></th>
         <td style="padding-left: 25px; padding-right: 25px;">0.0.001</td>
      </tr>
      <tr>
         <th scope="row"><b>Status: </b></th>
         <td style="padding-left: 25px; padding-right: 25px;">active</td>
      </tr>
      <tr style="vertical-align: top;">
         <th scope="row"><a id="cql-content"><b>Content: </b></a></th>
         <td style="padding-left: 25px; padding-right: 25px;"><b>type: </b><span>text/cql</span></td>
      </tr>
      <tr>
         <td colspan="2" style="padding-left: 25px; padding-right: 25px;">
            <pre><code class="language-cql">library RiskAdjustment_FHIR2 version '0.0.001'

using FHIR version '1.0.2'

include FHIRHelpers version '1.0.2' called FHIRHelpers
include SupplementalDataElements_FHIR2 version '1.0.0' called SDE

valueset &quot;Serum Albumin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.60'
valueset &quot;Cirrhosis or other liver disease&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.63'
valueset &quot;Encounter Inpatient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset &quot;CABG_Open and Endoscopic&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.39'
valueset &quot;Bilirubin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.2400'

parameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;

context Patient

define &quot;SDE Ethnicity&quot;:
  SDE.&quot;SDE Ethnicity&quot;

define &quot;SDE Payer&quot;:
  SDE.&quot;SDE Payer&quot;

define &quot;SDE Race&quot;:
  SDE.&quot;SDE Race&quot;

define &quot;SDE Sex&quot;:
  SDE.&quot;SDE Sex&quot;

define &quot;Encounter Inpatient 365&quot;: [&quot;Encounter&quot;: &quot;Encounter Inpatient&quot;] E
    where FHIRHelpers.ToQuantity(E.length) &lt;= 365 days // Shouldn't need the ToQuantity, need a FHIR.Duration conversion
      and E.period ends during &quot;Measurement Period&quot;
	and E.status.value in {'finished'}

define &quot;CABG_Open and Endoscopic During Encounter&quot;: [&quot;Procedure&quot;: &quot;CABG_Open and Endoscopic&quot;] P
    with &quot;Encounter Inpatient 365&quot; E
      such that P.performedPeriod starts during E.period
	and P.status.value in {'completed'}

define &quot;Hepatic Failure&quot;:
    exists (&quot;Cirrhosis Dx&quot;)
    and exists (&quot;Bilirubin Test&quot;)
    and exists (&quot;Serum Albumin Test&quot;)

define &quot;Cirrhosis Dx&quot;: [&quot;Condition&quot;: &quot;Cirrhosis or other liver disease&quot;] D
    with &quot;CABG_Open and Endoscopic During Encounter&quot; C
	such that D.onsetDateTime.value before start of C.performedPeriod
	such that Coalesce (D.onsetDateTime.value, start of ToInterval(D.onsetPeriod)) before start of ToInterval(C.performedPeriod)

define &quot;Bilirubin Test&quot;:
[&quot;Observation&quot;: &quot;Bilirubin&quot;] L
    with &quot;CABG_Open and Endoscopic During Encounter&quot; C
      such that L.effectiveDateTime.value before start of C.performedPeriod
such that Coalesce (L.effectiveDateTime.value, start of ToInterval(L.effectivePeriod)) starts before start of ToInterval(C.performedPeriod)
    with &quot;Encounter Inpatient 365&quot; E
      such that L.effectiveDateTime.value during E.period
    where L.valueQuantity &gt; 2 'mg/dL'
      and L.status.value in {'final', 'amended', 'corrected', 'appended'}

define &quot;Serum Albumin Test&quot;:
[&quot;Observation&quot;: &quot;Serum Albumin&quot;] L
    with &quot;CABG_Open and Endoscopic During Encounter&quot; C
      such that L.effectiveDateTime.value before start of C.performedPeriod
    with &quot;Encounter Inpatient 365&quot; E
      such that L.effectiveDateTime.value during E.period
    where L.valueQuantity &lt; 3.5 'g/dL'
      and L.status.value in {'final', 'amended', 'corrected', 'appended'}

define &quot;Initial Population&quot;: &quot;Encounter Inpatient 365&quot;

define &quot;Denominator&quot;: &quot;Initial Population&quot;

define &quot;Numerator&quot;: &quot;CABG_Open and Endoscopic During Encounter&quot;
</code></pre>
         </td>
      </tr>
   </table>
</div>
  </text>
  <url value="http://hl7.org/fhir/us/cqfmeasures/Library/risk-adjustment-FHIR2"/>
  <version value="0.0.001"/>
  <name value="RiskAdjustment_FHIR2"/>
  <status value="active"/>
  <experimental value="true"/>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/library-type"/>
      <code value="logic-library"/>
    </coding>
  </type>
  <date value="2020-07-23T20:25:10+00:00"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <content>
    <contentType value="application/elm+xml"/>
    <data
          value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxpZGVudGlmaWVyIGlkPSJSaXNrQWRqdXN0bWVudF9GSElSMiIgdmVyc2lvbj0iMC4wLjAwMSIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICA8L3VzaW5ncz4KPC9saWJyYXJ5Pgo="/>
  </content>
  <content>
    <contentType value="text/cql"/>
    <data
          value="bGlicmFyeSBSaXNrQWRqdXN0bWVudF9GSElSMiB2ZXJzaW9uICcwLjAuMDAxJwovKiAKdXNpbmcgRkhJUiB2ZXJzaW9uICcxLjAuMicKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMS4wLjInIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMiB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKdmFsdWVzZXQgIlNlcnVtIEFsYnVtaW4iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjYwJwp2YWx1ZXNldCAiQ2lycmhvc2lzIG9yIG90aGVyIGxpdmVyIGRpc2Vhc2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjYzJwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjM5Jwp2YWx1ZXNldCAiQmlsaXJ1YmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjI0MDAnCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+Cgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJFbmNvdW50ZXIgSW5wYXRpZW50IDM2NSI6IFsiRW5jb3VudGVyIjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFCiAgICB3aGVyZSBGSElSSGVscGVycy5Ub1F1YW50aXR5KEUubGVuZ3RoKSA8PSAzNjUgZGF5cyAvLyBTaG91bGRuJ3QgbmVlZCB0aGUgVG9RdWFudGl0eSwgbmVlZCBhIEZISVIuRHVyYXRpb24gY29udmVyc2lvbgogICAgICBhbmQgRS5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJYW5kIEUuc3RhdHVzLnZhbHVlIGluIHsnZmluaXNoZWQnfQoKZGVmaW5lICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciI6IFsiUHJvY2VkdXJlIjogIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyJdIFAKICAgIHdpdGggIkVuY291bnRlciBJbnBhdGllbnQgMzY1IiBFCiAgICAgIHN1Y2ggdGhhdCBQLnBlcmZvcm1lZFBlcmlvZCBzdGFydHMgZHVyaW5nIEUucGVyaW9kCgkJCQlhbmQgUC5zdGF0dXMudmFsdWUgaW4geydjb21wbGV0ZWQnfQoKZGVmaW5lICJIZXBhdGljIEZhaWx1cmUiOgogICAgZXhpc3RzICgiQ2lycmhvc2lzIER4IikKICAgIGFuZCBleGlzdHMgKCJCaWxpcnViaW4gVGVzdCIpCiAgICBhbmQgZXhpc3RzICgiU2VydW0gQWxidW1pbiBUZXN0IikKCmRlZmluZSAiQ2lycmhvc2lzIER4IjogWyJDb25kaXRpb24iOiAiQ2lycmhvc2lzIG9yIG90aGVyIGxpdmVyIGRpc2Vhc2UiXSBECiAgICB3aXRoICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciIgQwoJCQlzdWNoIHRoYXQgRC5vbnNldERhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAovLyAgICAgIHN1Y2ggdGhhdCBDb2FsZXNjZSAoRC5vbnNldERhdGVUaW1lLnZhbHVlLCBzdGFydCBvZiBUb0ludGVydmFsKEQub25zZXRQZXJpb2QpKSBiZWZvcmUgc3RhcnQgb2YgVG9JbnRlcnZhbChDLnBlcmZvcm1lZFBlcmlvZCkKCmRlZmluZSAiQmlsaXJ1YmluIFRlc3QiOgpbIk9ic2VydmF0aW9uIjogIkJpbGlydWJpbiJdIEwKICAgIHdpdGggIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyBEdXJpbmcgRW5jb3VudGVyIiBDCiAgICAgIHN1Y2ggdGhhdCBMLmVmZmVjdGl2ZURhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAovLwkJCQlzdWNoIHRoYXQgQ29hbGVzY2UgKEwuZWZmZWN0aXZlRGF0ZVRpbWUudmFsdWUsIHN0YXJ0IG9mIFRvSW50ZXJ2YWwoTC5lZmZlY3RpdmVQZXJpb2QpKSBzdGFydHMgYmVmb3JlIHN0YXJ0IG9mIFRvSW50ZXJ2YWwoQy5wZXJmb3JtZWRQZXJpb2QpCiAgICB3aXRoICJFbmNvdW50ZXIgSW5wYXRpZW50IDM2NSIgRQogICAgICBzdWNoIHRoYXQgTC5lZmZlY3RpdmVEYXRlVGltZS52YWx1ZSBkdXJpbmcgRS5wZXJpb2QKICAgIHdoZXJlIEwudmFsdWVRdWFudGl0eSA+IDIgJ21nL2RMJwogICAgICBhbmQgTC5zdGF0dXMudmFsdWUgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdhcHBlbmRlZCd9CgpkZWZpbmUgIlNlcnVtIEFsYnVtaW4gVGVzdCI6ClsiT2JzZXJ2YXRpb24iOiAiU2VydW0gQWxidW1pbiJdIEwKICAgIHdpdGggIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyBEdXJpbmcgRW5jb3VudGVyIiBDCiAgICAgIHN1Y2ggdGhhdCBMLmVmZmVjdGl2ZURhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAogICAgd2l0aCAiRW5jb3VudGVyIElucGF0aWVudCAzNjUiIEUKICAgICAgc3VjaCB0aGF0IEwuZWZmZWN0aXZlRGF0ZVRpbWUudmFsdWUgZHVyaW5nIEUucGVyaW9kCiAgICB3aGVyZSBMLnZhbHVlUXVhbnRpdHkgPCAzLjUgJ2cvZEwnCiAgICAgIGFuZCBMLnN0YXR1cy52YWx1ZSBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJ30KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjogIkVuY291bnRlciBJbnBhdGllbnQgMzY1IgoKZGVmaW5lICJEZW5vbWluYXRvciI6ICJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIk51bWVyYXRvciI6ICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciIgKi8K"/>
  </content>
</Library>