Quality Measure Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-measures/ and changes regularly. See the Directory of published versions
Active as of 2024-12-10 |
<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 "Serum Albumin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.60'
valueset "Cirrhosis or other liver disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.63'
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
valueset "CABG_Open and Endoscopic": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1029.39'
valueset "Bilirubin": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.2400'
parameter "Measurement Period" Interval<DateTime>
context Patient
define "SDE Ethnicity":
SDE."SDE Ethnicity"
define "SDE Payer":
SDE."SDE Payer"
define "SDE Race":
SDE."SDE Race"
define "SDE Sex":
SDE."SDE Sex"
define "Encounter Inpatient 365": ["Encounter": "Encounter Inpatient"] E
where FHIRHelpers.ToQuantity(E.length) <= 365 days // Shouldn't need the ToQuantity, need a FHIR.Duration conversion
and E.period ends during "Measurement Period"
and E.status.value in {'finished'}
define "CABG_Open and Endoscopic During Encounter": ["Procedure": "CABG_Open and Endoscopic"] P
with "Encounter Inpatient 365" E
such that P.performedPeriod starts during E.period
and P.status.value in {'completed'}
define "Hepatic Failure":
exists ("Cirrhosis Dx")
and exists ("Bilirubin Test")
and exists ("Serum Albumin Test")
define "Cirrhosis Dx": ["Condition": "Cirrhosis or other liver disease"] D
with "CABG_Open and Endoscopic During Encounter" 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 "Bilirubin Test":
["Observation": "Bilirubin"] L
with "CABG_Open and Endoscopic During Encounter" 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 "Encounter Inpatient 365" E
such that L.effectiveDateTime.value during E.period
where L.valueQuantity > 2 'mg/dL'
and L.status.value in {'final', 'amended', 'corrected', 'appended'}
define "Serum Albumin Test":
["Observation": "Serum Albumin"] L
with "CABG_Open and Endoscopic During Encounter" C
such that L.effectiveDateTime.value before start of C.performedPeriod
with "Encounter Inpatient 365" E
such that L.effectiveDateTime.value during E.period
where L.valueQuantity < 3.5 'g/dL'
and L.status.value in {'final', 'amended', 'corrected', 'appended'}
define "Initial Population": "Encounter Inpatient 365"
define "Denominator": "Initial Population"
define "Numerator": "CABG_Open and Endoscopic During Encounter"
</code></pre>
</td>
</tr>
</table>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="cqi"/>
</extension>
<url
value="http://hl7.org/fhir/uv/cqfmeasures/Library/risk-adjustment-FHIR2"/>
<version value="0.0.001"/>
<name value="RiskAdjustment_FHIR2"/>
<title 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="2024-12-10T20:48:29+00:00"/>
<publisher value="HL7 International / Clinical Quality Information"/>
<contact>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/cqi"/>
</telecom>
</contact>
<description
value="Example library illustrating risk adjustment with FHIR DSTU2"/>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
</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>