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
{ "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 "Serum Albumin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.60'\nvalueset "Cirrhosis or other liver disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.63'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "CABG_Open and Endoscopic": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.39'\nvalueset "Bilirubin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.2400'\n\nparameter "Measurement Period" Interval<DateTime>\n\ncontext Patient\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Encounter Inpatient 365": ["Encounter": "Encounter Inpatient"] E\n where FHIRHelpers.ToQuantity(E.length) <= 365 days // Shouldn't need the ToQuantity, need a FHIR.Duration conversion\n and E.period ends during "Measurement Period"\n\t\t\tand E.status.value in {'finished'}\n\ndefine "CABG_Open and Endoscopic During Encounter": ["Procedure": "CABG_Open and Endoscopic"] P\n with "Encounter Inpatient 365" E\n such that P.performedPeriod starts during E.period\n\t\t\t\tand P.status.value in {'completed'}\n\ndefine "Hepatic Failure":\n exists ("Cirrhosis Dx")\n and exists ("Bilirubin Test")\n and exists ("Serum Albumin Test")\n\ndefine "Cirrhosis Dx": ["Condition": "Cirrhosis or other liver disease"] D\n with "CABG_Open and Endoscopic During Encounter" 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 "Bilirubin Test":\n["Observation": "Bilirubin"] L\n with "CABG_Open and Endoscopic During Encounter" 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 "Encounter Inpatient 365" E\n such that L.effectiveDateTime.value during E.period\n where L.valueQuantity > 2 'mg/dL'\n and L.status.value in {'final', 'amended', 'corrected', 'appended'}\n\ndefine "Serum Albumin Test":\n["Observation": "Serum Albumin"] L\n with "CABG_Open and Endoscopic During Encounter" C\n such that L.effectiveDateTime.value before start of C.performedPeriod\n with "Encounter Inpatient 365" E\n such that L.effectiveDateTime.value during E.period\n where L.valueQuantity < 3.5 'g/dL'\n and L.status.value in {'final', 'amended', 'corrected', 'appended'}\n\ndefine "Initial Population": "Encounter Inpatient 365"\n\ndefine "Denominator": "Initial Population"\n\ndefine "Numerator": "CABG_Open and Endoscopic During Encounter" */\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" } ] }