dQM CMS Content Implementation Guide
2026.1.0 - CI Build
dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2026.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2026/ and changes regularly. See the Directory of published versions
| Page standards status: Informative | Maturity Level: 1 |
<Library xmlns="http://hl7.org/fhir">
<id value="AdvancedIllnessandFrailty"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="narrative-table">
<tbody>
<tr>
<th colspan="2" scope="row" class="row-header">Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Title</th>
<td class="content-container">Advanced Illness and Frailty</td>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">2026.1.0</td>
</tr>
<tr>
<th scope="row" class="row-header">Topic</th>
<td class="content-container">FHIR
</td>
</tr>
<tr>
<th scope="row" class="row-header">Topic</th>
<td class="content-container">CQL
</td>
</tr>
<tr>
<th scope="row" class="row-header">Description</th>
<td class="content-container"><div><p>AdvancedIllnessandFrailty logic.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Type</th>
<td class="content-container">
logic-library from <a href="http://terminology.hl7.org/7.3.0/CodeSystem-library-type.html">http://terminology.hl7.org/CodeSystem/library-type</a>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="parameters"> </a>Parameters</th>
</tr>
<tr>
<th scope="row" class="row-header">Parameter</th>
<td class="content-container">None</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Library Content</th>
</tr>
<tr>
<th scope="row" class="row-header">CQL Content</th>
<td>
<a name="cql-content"> </a>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
NOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.
*/
library AdvancedIllnessandFrailty version '2.1.000'
using USQualityCore version '0.5.0'
using USCore version '6.1.0-derived'
using FHIR version '4.0.1'
include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers
include hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon
include hl7.fhir.us.cql.CumulativeMedicationDuration version '2.0.0-ballot' called CMD
include Status version '2.1.000' called Status
codesystem "LOINC": 'http://loinc.org'
codesystem "SNOMEDCT": 'http://snomed.info/sct'
valueset "Advanced Illness": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082'
valueset "Dementia Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510'
valueset "Frailty Device": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300'
valueset "Frailty Diagnosis": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074'
valueset "Frailty Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088'
valueset "Frailty Symptom": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075'
code "Housing status": '71802-3' from "LOINC" display 'Housing status'
code "Lives in nursing home (finding)": '160734000' from "SNOMEDCT" display 'Lives in nursing home (finding)'
code "Medical equipment used": '98181-1' from "LOINC" display 'Medical equipment used'
parameter "Measurement Period" Interval<DateTime>
context Patient
define "Is Age 66 or Older with Advanced Illness and Frailty":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and "Has Criteria Indicating Frailty"
and ( "Has Advanced Illness in Year Before or During Measurement Period"
or "Has Dementia Medications in Year Before or During Measurement Period"
)
define "Is Age 66 to 80 with Advanced Illness and Frailty or Is Age 81 or Older with Frailty":
( AgeInYearsAt(date from end of "Measurement Period") in Interval[66, 80]
and "Has Criteria Indicating Frailty"
and ( "Has Advanced Illness in Year Before or During Measurement Period"
or "Has Dementia Medications in Year Before or During Measurement Period"
)
)
or ( AgeInYearsAt(date from end of "Measurement Period")>= 81
and "Has Criteria Indicating Frailty"
)
define "Has Criteria Indicating Frailty":
exists ( (([USQualityCore.DeviceRequest: "Frailty Device"]).isDeviceOrderPersonalUseDevices()) FrailtyDeviceOrder
where FrailtyDeviceOrder.authoredOn.toInterval() during day of "Measurement Period"
)
or exists ( (([ObservationScreeningAssessment: "Medical equipment used"]).isAssessmentPerformed()) EquipmentUsed
where EquipmentUsed.value as CodeableConcept in "Frailty Device"
and EquipmentUsed.effective.toInterval() ends during day of "Measurement Period"
)
// TODO: Consider whether to keep this as the union of problems and encounter diagnoses
or exists ( (([FHIR.Condition: "Frailty Diagnosis"]).verified()) FrailtyDiagnosis
where FrailtyDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
)
or exists ( (([USQualityCore.Encounter: "Frailty Encounter"]).isEncounterPerformed()) FrailtyEncounter
where FrailtyEncounter.period overlaps day of "Measurement Period"
)
or exists ( (([USQualityCore.SimpleObservation: "Frailty Symptom"]).isSymptom()) FrailtySymptom
where FrailtySymptom.effective.toInterval() overlaps day of "Measurement Period"
)
define "Has Advanced Illness in Year Before or During Measurement Period":
// TODO: Consider whether to keep this as the union of problems and encounter diagnoses
exists ((([Condition: "Advanced Illness"]).verified()) AdvancedIllnessDiagnosis
where AdvancedIllnessDiagnosis.prevalenceInterval() starts during day of Interval[start of "Measurement Period" - 1 year, end of "Measurement Period"])
define "Has Dementia Medications in Year Before or During Measurement Period":
exists (( ([FHIR.MedicationRequest: "Dementia Medications"]).isMedicationActive()) DementiaMedication
where DementiaMedication.medicationRequestPeriod() overlaps day of Interval[start of "Measurement Period" - 1 year,
end of "Measurement Period"]
)
define "Is Age 66 or Older Living Long Term in a Nursing Home":
AgeInYearsAt(date from end of "Measurement Period") >= 66
and ( ( Last( (([ObservationScreeningAssessment: "Housing status"]).isAssessmentPerformed()) HousingStatus
where HousingStatus.effective.toInterval() ends on or before
day of end of "Measurement Period"
sort by
end of effective.toInterval() asc
)) LastHousingStatus
where LastHousingStatus.value ~ "Lives in nursing home (finding)"
) is not null
</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.5.6-cibuild of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
<valueInteger value="1"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="cds"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="informative"/>
</extension>
<url value="https://madie.cms.gov/Library/AdvancedIllnessandFrailty"/>
<version value="2026.1.0"/>
<name value="AdvancedIllnessandFrailty"/>
<title value="Advanced Illness and Frailty"/>
<status value="active"/>
<experimental value="false"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="logic-library"/>
</coding>
</type>
<date value="2026-07-30T20:17:17+00:00"/>
<description value="AdvancedIllnessandFrailty logic."/>
<topic>
<text value="FHIR"/>
</topic>
<topic>
<text value="CQL"/>
</topic>
<content>
<contentType value="text/cql"/>
<data
value="LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBBZHZhbmNlZElsbG5lc3NhbmRGcmFpbHR5IHZlcnNpb24gJzIuMS4wMDAnCgp1c2luZyBVU1F1YWxpdHlDb3JlIHZlcnNpb24gJzAuNS4wJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBDTUQKCmluY2x1ZGUgU3RhdHVzIHZlcnNpb24gJzIuMS4wMDAnIGNhbGxlZCBTdGF0dXMKCmNvZGVzeXN0ZW0gIkxPSU5DIjogJ2h0dHA6Ly9sb2luYy5vcmcnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnCgp2YWx1ZXNldCAiQWR2YW5jZWQgSWxsbmVzcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTAuMTIuMTA4MicKdmFsdWVzZXQgIkRlbWVudGlhIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjE5Ni4xMi4xNTEwJwp2YWx1ZXNldCAiRnJhaWx0eSBEZXZpY2UiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTE4LjEyLjEzMDAnCnZhbHVlc2V0ICJGcmFpbHR5IERpYWdub3NpcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTMuMTIuMTA3NCcKdmFsdWVzZXQgIkZyYWlsdHkgRW5jb3VudGVyIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDg4Jwp2YWx1ZXNldCAiRnJhaWx0eSBTeW1wdG9tIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExMy4xMi4xMDc1JwogCmNvZGUgIkhvdXNpbmcgc3RhdHVzIjogJzcxODAyLTMnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdIb3VzaW5nIHN0YXR1cycKY29kZSAiTGl2ZXMgaW4gbnVyc2luZyBob21lIChmaW5kaW5nKSI6ICcxNjA3MzQwMDAnIGZyb20gIlNOT01FRENUIiBkaXNwbGF5ICdMaXZlcyBpbiBudXJzaW5nIGhvbWUgKGZpbmRpbmcpJwpjb2RlICJNZWRpY2FsIGVxdWlwbWVudCB1c2VkIjogJzk4MTgxLTEnIGZyb20gIkxPSU5DIiBkaXNwbGF5ICdNZWRpY2FsIGVxdWlwbWVudCB1c2VkJwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgoKY29udGV4dCBQYXRpZW50CgpkZWZpbmUgIklzIEFnZSA2NiBvciBPbGRlciB3aXRoIEFkdmFuY2VkIElsbG5lc3MgYW5kIEZyYWlsdHkiOgogICBBZ2VJblllYXJzQXQoZGF0ZSBmcm9tIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gNjYKICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgIGFuZCAoICJIYXMgQWR2YW5jZWQgSWxsbmVzcyBpbiBZZWFyIEJlZm9yZSBvciBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgIG9yICJIYXMgRGVtZW50aWEgTWVkaWNhdGlvbnMgaW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIKICAgICkKCmRlZmluZSAiSXMgQWdlIDY2IHRvIDgwIHdpdGggQWR2YW5jZWQgSWxsbmVzcyBhbmQgRnJhaWx0eSBvciBJcyBBZ2UgODEgb3IgT2xkZXIgd2l0aCBGcmFpbHR5IjoKICAoIEFnZUluWWVhcnNBdChkYXRlIGZyb20gZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFs2NiwgODBdCiAgICAgIGFuZCAiSGFzIENyaXRlcmlhIEluZGljYXRpbmcgRnJhaWx0eSIKICAgICAgYW5kICggIkhhcyBBZHZhbmNlZCBJbGxuZXNzIGluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICAgICBvciAiSGFzIERlbWVudGlhIE1lZGljYXRpb25zIGluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiCiAgICAgICkKICApCiAgICBvciAoIEFnZUluWWVhcnNBdChkYXRlIGZyb20gZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKT49IDgxCiAgICAgICAgYW5kICJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IgogICAgKQoKZGVmaW5lICJIYXMgQ3JpdGVyaWEgSW5kaWNhdGluZyBGcmFpbHR5IjoKICBleGlzdHMgKCAoKFtVU1F1YWxpdHlDb3JlLkRldmljZVJlcXVlc3Q6ICJGcmFpbHR5IERldmljZSJdKS5pc0RldmljZU9yZGVyUGVyc29uYWxVc2VEZXZpY2VzKCkpIEZyYWlsdHlEZXZpY2VPcmRlcgogICAgICB3aGVyZSBGcmFpbHR5RGV2aWNlT3JkZXIuYXV0aG9yZWRPbi50b0ludGVydmFsKCkgZHVyaW5nIGRheSBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICkKICAgIG9yIGV4aXN0cyAoICgoW09ic2VydmF0aW9uU2NyZWVuaW5nQXNzZXNzbWVudDogIk1lZGljYWwgZXF1aXBtZW50IHVzZWQiXSkuaXNBc3Nlc3NtZW50UGVyZm9ybWVkKCkpIEVxdWlwbWVudFVzZWQKICAgICAgICB3aGVyZSBFcXVpcG1lbnRVc2VkLnZhbHVlIGFzIENvZGVhYmxlQ29uY2VwdCBpbiAiRnJhaWx0eSBEZXZpY2UiIAogICAgICAgIGFuZCBFcXVpcG1lbnRVc2VkLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgZW5kcyBkdXJpbmcgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCiAgICAvLyBUT0RPOiBDb25zaWRlciB3aGV0aGVyIHRvIGtlZXAgdGhpcyBhcyB0aGUgdW5pb24gb2YgcHJvYmxlbXMgYW5kIGVuY291bnRlciBkaWFnbm9zZXMKICAgIG9yIGV4aXN0cyAoICgoW0ZISVIuQ29uZGl0aW9uOiAiRnJhaWx0eSBEaWFnbm9zaXMiXSkudmVyaWZpZWQoKSkgRnJhaWx0eURpYWdub3NpcwogICAgICAgIHdoZXJlIEZyYWlsdHlEaWFnbm9zaXMucHJldmFsZW5jZUludGVydmFsKCkgb3ZlcmxhcHMgZGF5IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiCiAgICApCiAgICBvciBleGlzdHMgKCAoKFtVU1F1YWxpdHlDb3JlLkVuY291bnRlcjogIkZyYWlsdHkgRW5jb3VudGVyIl0pLmlzRW5jb3VudGVyUGVyZm9ybWVkKCkpIEZyYWlsdHlFbmNvdW50ZXIKICAgICAgICB3aGVyZSBGcmFpbHR5RW5jb3VudGVyLnBlcmlvZCBvdmVybGFwcyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICkKICAgIG9yIGV4aXN0cyAoICgoW1VTUXVhbGl0eUNvcmUuU2ltcGxlT2JzZXJ2YXRpb246ICJGcmFpbHR5IFN5bXB0b20iXSkuaXNTeW1wdG9tKCkpIEZyYWlsdHlTeW1wdG9tCiAgICAgICAgd2hlcmUgRnJhaWx0eVN5bXB0b20uZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBvdmVybGFwcyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICkKCmRlZmluZSAiSGFzIEFkdmFuY2VkIElsbG5lc3MgaW4gWWVhciBCZWZvcmUgb3IgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6Ci8vIFRPRE86IENvbnNpZGVyIHdoZXRoZXIgdG8ga2VlcCB0aGlzIGFzIHRoZSB1bmlvbiBvZiBwcm9ibGVtcyBhbmQgZW5jb3VudGVyIGRpYWdub3NlcwpleGlzdHMgKCgoW0NvbmRpdGlvbjogIkFkdmFuY2VkIElsbG5lc3MiXSkudmVyaWZpZWQoKSkgQWR2YW5jZWRJbGxuZXNzRGlhZ25vc2lzCndoZXJlIEFkdmFuY2VkSWxsbmVzc0RpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwoKSBzdGFydHMgZHVyaW5nIGRheSBvZiBJbnRlcnZhbFtzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIiAtIDEgeWVhciwgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiXSkKCmRlZmluZSAiSGFzIERlbWVudGlhIE1lZGljYXRpb25zIGluIFllYXIgQmVmb3JlIG9yIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgogIGV4aXN0cyAoKCAoW0ZISVIuTWVkaWNhdGlvblJlcXVlc3Q6ICJEZW1lbnRpYSBNZWRpY2F0aW9ucyJdKS5pc01lZGljYXRpb25BY3RpdmUoKSkgRGVtZW50aWFNZWRpY2F0aW9uCiAgICAgIHdoZXJlIERlbWVudGlhTWVkaWNhdGlvbi5tZWRpY2F0aW9uUmVxdWVzdFBlcmlvZCgpIG92ZXJsYXBzIGRheSBvZiBJbnRlcnZhbFtzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIiAtIDEgeWVhciwgCiAgICAgICAgZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiXQogICkKCmRlZmluZSAiSXMgQWdlIDY2IG9yIE9sZGVyIExpdmluZyBMb25nIFRlcm0gaW4gYSBOdXJzaW5nIEhvbWUiOgogIEFnZUluWWVhcnNBdChkYXRlIGZyb20gZW5kIG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSA+PSA2NgogICAgYW5kICggKCBMYXN0KCAoKFtPYnNlcnZhdGlvblNjcmVlbmluZ0Fzc2Vzc21lbnQ6ICJIb3VzaW5nIHN0YXR1cyJdKS5pc0Fzc2Vzc21lbnRQZXJmb3JtZWQoKSkgSG91c2luZ1N0YXR1cyAgICAKICAgICAgICAgIHdoZXJlIEhvdXNpbmdTdGF0dXMuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBlbmRzIG9uIG9yIGJlZm9yZSAKICAgICAgICAgIGRheSBvZiBlbmQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgICAgIHNvcnQgYnkgCiAgICAgICAgICBlbmQgb2YgZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBhc2MKICAgICAgKSkgTGFzdEhvdXNpbmdTdGF0dXMKICAgICAgICB3aGVyZSBMYXN0SG91c2luZ1N0YXR1cy52YWx1ZSB+ICJMaXZlcyBpbiBudXJzaW5nIGhvbWUgKGZpbmRpbmcpIgogICAgKSBpcyBub3QgbnVsbAogIA=="/>
</content>
</Library>