Quality Measure STU2 for FHIR R4 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v1.1.0: STU 2 Ballot 1) 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

{
  "resourceType" : "Library",
  "id" : "riskadjustment-fhir2",
  "text" : {
    "status" : "generated",
    "div" : "<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>    <!-- <th:block th:each=\"cont, iter : ${resource.contributor}\"> -->    <!-- <tr style=\"vertical-align: top;\"> -->    <!-- <th th:if=\"${iter.index == 0}\" th:rowspan=\"${iter.size}\"  scope=\"row\"><b>Contributor: </b></th> -->    <!-- <td style=\"padding-left: 25px; padding-right: 25px;\"> -->    <!-- <b><span th:narrative=\"${cont.type.toCode()}\"></span>: </b><span th:narrative=\"${cont.name}\"></span> -->    <!-- </td> -->    <!-- </tr> -->    <!-- </th:block> -->    <!-- Filter down to human readable content --><tr style=\"vertical-align: top;\"><th scope=\"row\"><b>Content: </b></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'\n/* \nusing FHIR version '1.0.2'\n\ninclude FHIRHelpers version '1.0.2' called FHIRHelpers\ninclude SupplementalDataElements_FHIR2 version '1.0.0' called SDE\n\nvalueset &quot;Serum Albumin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.60'\nvalueset &quot;Cirrhosis or other liver disease&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.63'\nvalueset &quot;Encounter Inpatient&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset &quot;CABG_Open and Endoscopic&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.39'\nvalueset &quot;Bilirubin&quot;: 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.2400'\n\nparameter &quot;Measurement Period&quot; Interval&lt;DateTime&gt;\n\ncontext Patient\n\ndefine &quot;SDE Ethnicity&quot;:\n  SDE.&quot;SDE Ethnicity&quot;\n\ndefine &quot;SDE Payer&quot;:\n  SDE.&quot;SDE Payer&quot;\n\ndefine &quot;SDE Race&quot;:\n  SDE.&quot;SDE Race&quot;\n\ndefine &quot;SDE Sex&quot;:\n  SDE.&quot;SDE Sex&quot;\n\ndefine &quot;Encounter Inpatient 365&quot;: [&quot;Encounter&quot;: &quot;Encounter Inpatient&quot;] E\n    where FHIRHelpers.ToQuantity(E.length) &lt;= 365 days // Shouldn't need the ToQuantity, need a FHIR.Duration conversion\n      and E.period ends during &quot;Measurement Period&quot;\n\t\t\tand E.status.value in {'finished'}\n\ndefine &quot;CABG_Open and Endoscopic During Encounter&quot;: [&quot;Procedure&quot;: &quot;CABG_Open and Endoscopic&quot;] P\n    with &quot;Encounter Inpatient 365&quot; E\n      such that P.performedPeriod starts during E.period\n\t\t\t\tand P.status.value in {'completed'}\n\ndefine &quot;Hepatic Failure&quot;:\n    exists (&quot;Cirrhosis Dx&quot;)\n    and exists (&quot;Bilirubin Test&quot;)\n    and exists (&quot;Serum Albumin Test&quot;)\n\ndefine &quot;Cirrhosis Dx&quot;: [&quot;Condition&quot;: &quot;Cirrhosis or other liver disease&quot;] D\n    with &quot;CABG_Open and Endoscopic During Encounter&quot; C\n\t\t\tsuch that D.onsetDateTime.value before start of C.performedPeriod\n//      such that Coalesce (D.onsetDateTime.value, start of ToInterval(D.onsetPeriod)) before start of ToInterval(C.performedPeriod)\n\ndefine &quot;Bilirubin Test&quot;:\n[&quot;Observation&quot;: &quot;Bilirubin&quot;] L\n    with &quot;CABG_Open and Endoscopic During Encounter&quot; C\n      such that L.effectiveDateTime.value before start of C.performedPeriod\n//\t\t\t\tsuch that Coalesce (L.effectiveDateTime.value, start of ToInterval(L.effectivePeriod)) starts before start of ToInterval(C.performedPeriod)\n    with &quot;Encounter Inpatient 365&quot; E\n      such that L.effectiveDateTime.value during E.period\n    where L.valueQuantity &gt; 2 'mg/dL'\n      and L.status.value in {'final', 'amended', 'corrected', 'appended'}\n\ndefine &quot;Serum Albumin Test&quot;:\n[&quot;Observation&quot;: &quot;Serum Albumin&quot;] L\n    with &quot;CABG_Open and Endoscopic During Encounter&quot; C\n      such that L.effectiveDateTime.value before start of C.performedPeriod\n    with &quot;Encounter Inpatient 365&quot; E\n      such that L.effectiveDateTime.value during E.period\n    where L.valueQuantity &lt; 3.5 'g/dL'\n      and L.status.value in {'final', 'amended', 'corrected', 'appended'}\n\ndefine &quot;Initial Population&quot;: &quot;Encounter Inpatient 365&quot;\n\ndefine &quot;Denominator&quot;: &quot;Initial Population&quot;\n\ndefine &quot;Numerator&quot;: &quot;CABG_Open and Endoscopic During Encounter&quot; */\n</code></pre>\n                    \n                    \n                </td>\n            </tr>\n        \n    </table>\n</div>"
  },
  "url" : "http://hl7.org/fhir/us/cqfmeasures/Library/riskadjustment-fhir2",
  "version" : "1.1.0",
  "name" : "RiskAdjustment_FHIR2",
  "status" : "active",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2019-12-24T00:29:38+00:00",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "urn:iso:std:iso:3166",
          "code" : "US",
          "display" : "United States of America"
        }
      ]
    }
  ],
  "content" : [
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxpZGVudGlmaWVyIGlkPSJSaXNrQWRqdXN0bWVudF9GSElSMiIgdmVyc2lvbj0iMC4wLjAwMSIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICA8L3VzaW5ncz4KPC9saWJyYXJ5Pgo="
    },
    {
      "contentType" : "text/cql",
      "data" : "bGlicmFyeSBSaXNrQWRqdXN0bWVudF9GSElSMiB2ZXJzaW9uICcwLjAuMDAxJwovKiAKdXNpbmcgRkhJUiB2ZXJzaW9uICcxLjAuMicKCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnMS4wLjInIGNhbGxlZCBGSElSSGVscGVycwppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50c19GSElSMiB2ZXJzaW9uICcxLjAuMCcgY2FsbGVkIFNERQoKdmFsdWVzZXQgIlNlcnVtIEFsYnVtaW4iOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjYwJwp2YWx1ZXNldCAiQ2lycmhvc2lzIG9yIG90aGVyIGxpdmVyIGRpc2Vhc2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjYzJwp2YWx1ZXNldCAiRW5jb3VudGVyIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy42NjYuNS4zMDcnCnZhbHVlc2V0ICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDI5LjM5Jwp2YWx1ZXNldCAiQmlsaXJ1YmluIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjY2Ni41LjI0MDAnCgpwYXJhbWV0ZXIgIk1lYXN1cmVtZW50IFBlcmlvZCIgSW50ZXJ2YWw8RGF0ZVRpbWU+Cgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJFbmNvdW50ZXIgSW5wYXRpZW50IDM2NSI6IFsiRW5jb3VudGVyIjogIkVuY291bnRlciBJbnBhdGllbnQiXSBFCiAgICB3aGVyZSBGSElSSGVscGVycy5Ub1F1YW50aXR5KEUubGVuZ3RoKSA8PSAzNjUgZGF5cyAvLyBTaG91bGRuJ3QgbmVlZCB0aGUgVG9RdWFudGl0eSwgbmVlZCBhIEZISVIuRHVyYXRpb24gY29udmVyc2lvbgogICAgICBhbmQgRS5wZXJpb2QgZW5kcyBkdXJpbmcgIk1lYXN1cmVtZW50IFBlcmlvZCIKCQkJYW5kIEUuc3RhdHVzLnZhbHVlIGluIHsnZmluaXNoZWQnfQoKZGVmaW5lICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciI6IFsiUHJvY2VkdXJlIjogIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyJdIFAKICAgIHdpdGggIkVuY291bnRlciBJbnBhdGllbnQgMzY1IiBFCiAgICAgIHN1Y2ggdGhhdCBQLnBlcmZvcm1lZFBlcmlvZCBzdGFydHMgZHVyaW5nIEUucGVyaW9kCgkJCQlhbmQgUC5zdGF0dXMudmFsdWUgaW4geydjb21wbGV0ZWQnfQoKZGVmaW5lICJIZXBhdGljIEZhaWx1cmUiOgogICAgZXhpc3RzICgiQ2lycmhvc2lzIER4IikKICAgIGFuZCBleGlzdHMgKCJCaWxpcnViaW4gVGVzdCIpCiAgICBhbmQgZXhpc3RzICgiU2VydW0gQWxidW1pbiBUZXN0IikKCmRlZmluZSAiQ2lycmhvc2lzIER4IjogWyJDb25kaXRpb24iOiAiQ2lycmhvc2lzIG9yIG90aGVyIGxpdmVyIGRpc2Vhc2UiXSBECiAgICB3aXRoICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciIgQwoJCQlzdWNoIHRoYXQgRC5vbnNldERhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAovLyAgICAgIHN1Y2ggdGhhdCBDb2FsZXNjZSAoRC5vbnNldERhdGVUaW1lLnZhbHVlLCBzdGFydCBvZiBUb0ludGVydmFsKEQub25zZXRQZXJpb2QpKSBiZWZvcmUgc3RhcnQgb2YgVG9JbnRlcnZhbChDLnBlcmZvcm1lZFBlcmlvZCkKCmRlZmluZSAiQmlsaXJ1YmluIFRlc3QiOgpbIk9ic2VydmF0aW9uIjogIkJpbGlydWJpbiJdIEwKICAgIHdpdGggIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyBEdXJpbmcgRW5jb3VudGVyIiBDCiAgICAgIHN1Y2ggdGhhdCBMLmVmZmVjdGl2ZURhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAovLwkJCQlzdWNoIHRoYXQgQ29hbGVzY2UgKEwuZWZmZWN0aXZlRGF0ZVRpbWUudmFsdWUsIHN0YXJ0IG9mIFRvSW50ZXJ2YWwoTC5lZmZlY3RpdmVQZXJpb2QpKSBzdGFydHMgYmVmb3JlIHN0YXJ0IG9mIFRvSW50ZXJ2YWwoQy5wZXJmb3JtZWRQZXJpb2QpCiAgICB3aXRoICJFbmNvdW50ZXIgSW5wYXRpZW50IDM2NSIgRQogICAgICBzdWNoIHRoYXQgTC5lZmZlY3RpdmVEYXRlVGltZS52YWx1ZSBkdXJpbmcgRS5wZXJpb2QKICAgIHdoZXJlIEwudmFsdWVRdWFudGl0eSA+IDIgJ21nL2RMJwogICAgICBhbmQgTC5zdGF0dXMudmFsdWUgaW4geydmaW5hbCcsICdhbWVuZGVkJywgJ2NvcnJlY3RlZCcsICdhcHBlbmRlZCd9CgpkZWZpbmUgIlNlcnVtIEFsYnVtaW4gVGVzdCI6ClsiT2JzZXJ2YXRpb24iOiAiU2VydW0gQWxidW1pbiJdIEwKICAgIHdpdGggIkNBQkdfT3BlbiBhbmQgRW5kb3Njb3BpYyBEdXJpbmcgRW5jb3VudGVyIiBDCiAgICAgIHN1Y2ggdGhhdCBMLmVmZmVjdGl2ZURhdGVUaW1lLnZhbHVlIGJlZm9yZSBzdGFydCBvZiBDLnBlcmZvcm1lZFBlcmlvZAogICAgd2l0aCAiRW5jb3VudGVyIElucGF0aWVudCAzNjUiIEUKICAgICAgc3VjaCB0aGF0IEwuZWZmZWN0aXZlRGF0ZVRpbWUudmFsdWUgZHVyaW5nIEUucGVyaW9kCiAgICB3aGVyZSBMLnZhbHVlUXVhbnRpdHkgPCAzLjUgJ2cvZEwnCiAgICAgIGFuZCBMLnN0YXR1cy52YWx1ZSBpbiB7J2ZpbmFsJywgJ2FtZW5kZWQnLCAnY29ycmVjdGVkJywgJ2FwcGVuZGVkJ30KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjogIkVuY291bnRlciBJbnBhdGllbnQgMzY1IgoKZGVmaW5lICJEZW5vbWluYXRvciI6ICJJbml0aWFsIFBvcHVsYXRpb24iCgpkZWZpbmUgIk51bWVyYXRvciI6ICJDQUJHX09wZW4gYW5kIEVuZG9zY29waWMgRHVyaW5nIEVuY291bnRlciIgKi8K"
    }
  ]
}