eCQM QICore Content Implementation Guide
2024.0.0 - CI Build
eCQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2024.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2024/ and changes regularly. See the Directory of published versions
Draft as of 2024-07-09 |
{
"resourceType" : "Measure",
"id" : "DiabetesEyeExamFHIR",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">Diabetes: Eye ExamFHIR</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">DiabetesEyeExamFHIR</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.0.002</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Measure-DiabetesEyeExamFHIR.html\">Diabetes: Eye ExamFHIR</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n short-name identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>CMS131FHIR</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-independent identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:459c51f4-3477-4d0f-a99f-f56756c16504</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-specific identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:d730c364-f077-4fab-8514-2d962e7f1527</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n publisher (CMS) identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>131FHIR</span>\n </p>\n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Effective Period: </b></th>\n <td style=\"padding-left: 4px;\">2025-01-01..2025-12-31</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">National Committee for Quality Assurance</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Author: </b></th>\n <td style=\"padding-left: 4px;\">National Committee for Quality Assurance</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Percentage of patients 18-75 years of age with diabetes and an active diagnosis of retinopathy in any part of the measurement period who had a retinal or dilated eye exam by an eye care professional during the measurement period or diabetics with no diagnosis of retinopathy in any part of the measurement period who had a retinal or dilated eye exam by an eye care professional during the measurement period or in the 12 months prior to the measurement period</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Purpose: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>UNKNOWN</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Copyright: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. Some measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2024 World Health Organization. All Rights Reserved. Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product. “HL7” is the registered trademark of Health Level Seven International.</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Disclaimer: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rationale: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Diabetes is the seventh leading cause of death in the United States (Centers for Disease Control and Prevention [CDC], 2022a). In 2019, diabetes affected more than 37 million Americans (11.3 percent of the U.S. population) and killed more than 87,000 people (American Diabetes Association [ADA], 2022a). Diabetes is a long-lasting disease marked by high blood glucose levels, resulting from the body's inability to produce or use insulin properly (CDC, 2022a). People with diabetes are at increased risk of serious health complications including vision loss, heart disease, stroke, kidney damage, amputation of feet or legs, and premature death (CDC, 2022b). In 2017, diabetes cost the U.S. an estimated $327 billion: $237 billion in direct medical costs and $90 billion in reduced productivity. This is a 34 percent increase from the estimated $245 billion spent on diabetes in 2012 (ADA, 2018). Diabetic retinopathy is progressive damage to the small blood vessels in the retina that may result in loss of vision. It is the leading cause of blindness in adults between 20-74 years of age. Approximately 4.1 million adults are affected by diabetic retinopathy (CDC, 2020).</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Clinical recommendation statement: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>American Diabetes Association (2023): - Adults with type 1 diabetes should have an initial dilated and comprehensive eye examination by an ophthalmologist or optometrist within 5 years after the onset of diabetes. (Level of evidence: B) - Patients with type 2 diabetes should have an initial dilated and comprehensive eye examination by an ophthalmologist or optometrist at the time of the diabetes diagnosis. (Level of evidence: B) - If there is no evidence of retinopathy for one or more annual eye exams and glycemia is well controlled, then screening every 1–2 years may be considered. If any level of diabetic retinopathy is present, subsequent dilated retinal examinations should be repeated at least annually by an ophthalmologist or optometrist. If retinopathy is progressing or sight threatening, then examinations will be required more frequently. (Level of evidence: B)</p>\n</div></td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Guidance (Usage): </b></th>\n <td style=\"padding-left: 4px;\">The eye exam must be performed by an ophthalmologist or optometrist, or there must be evidence that fundus photography results were read by a system that provides an artificial intelligence (AI) interpretation. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure: CMS131v13. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Population Criteria: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n \n <tr>\n <th><b>661d83160f0a9077c1d5a547</b></th>\n </tr>\n \n \n <tr>\n <td>Initial Population:</td>\n\n \n \n <td>Patients 18-75 years of age by the end of the measurement period, with diabetes with a visit during the measurement period</td>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator:</td>\n\n \n \n <td>Equals Initial Population</td>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator Exclusion:</td>\n\n \n \n <td>Exclude patients who are in hospice care for any part of the measurement period. Exclude patients 66 and older by the end of the measurement period with an indication of frailty for any part of the measurement period who also meet any of the following advanced illness criteria: - Advanced illness diagnosis during the measurement period or the year prior - OR taking dementia medications during the measurement period or the year prior Exclude patients 66 and older by the end of the measurement period who are living long term in a nursing home any time on or before the end of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.</td>\n \n \n\n </tr>\n \n <tr>\n <td>Numerator:</td>\n\n \n \n <td>Patients with an eye screening for diabetic retinal disease. This includes diabetics who had one of the following: - Diabetic with a diagnosis of retinopathy in any part of the measurement period and a retinal or dilated eye exam by an eye care professional in the measurement period - Diabetic with no diagnosis of retinopathy in any part of the measurement period and a retinal or dilated eye exam by an eye care professional in the measurement period or the year prior to the measurement period</td>\n \n \n\n </tr>\n \n \n </table>\n \n </td>\n </tr>\n \n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-DiabetesEyeExamFHIR.html\">DiabetesEyeExamFHIR</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Terminology and Other Dependencies: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <li><code>Library/QICoreCommon|2.1.000</code></li>\n \n <li><code>Library/Status|1.8.000</code></li>\n \n <li><code>Library/FHIRHelpers|4.4.000</code></li>\n \n <li><code>Library/Hospice|6.12.000</code></li>\n \n <li><code>Library/AdvancedIllnessandFrailty|1.16.000</code></li>\n \n <li><code>Library/CumulativeMedicationDuration|4.1.000</code></li>\n \n <li><code>Library/PalliativeCare|1.11.000</code></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a></li>\n \n <li><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</a></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">Logical Observation Identifiers, Names and Codes (LOINC)</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.327/expansion\">Diabetic Retinopathy</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.115.12.1088/expansion\">Retinal or Dilated Eye Exam</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1240/expansion\">Annual Wellness Visit</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion\">Preventive Care Services - Established Office Visit, 18 and Up</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion\">Preventive Care Services-Initial Office Visit, 18 and Up</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1016/expansion\">Home Healthcare Services</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1285/expansion\">Ophthalmological Services</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1080/expansion\">Telephone Visits</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.103.12.1001/expansion\">Diabetes</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion\">Encounter Inpatient</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1003/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion\">Hospice Care Ambulatory</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1165/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.118.12.1300/expansion\">Frailty Device</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1074/expansion\">Frailty Diagnosis</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1088/expansion\">Frailty Encounter</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1075/expansion\">Frailty Symptom</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.110.12.1082/expansion\">Advanced Illness</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1510/expansion\">Dementia Medications</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1167/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1090/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1135/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135</a></li>\n \n </td>\n </tr>\n <tr>\n <th scope=\"row\"><b>Parameters:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>name</b></th>\n <th><b>use</b></th>\n <th><b>min</b></th>\n <th><b>max</b></th>\n <th><b>type</b></th>\n </tr>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0</td>\n <td>1</td>\n <td>Period</td>\n </tr>\n \n <tr>\n <td>ErrorLevel</td>\n <td>In</td>\n <td>0</td>\n <td>1</td>\n <td>string</td>\n </tr>\n \n <tr>\n <td>Numerator</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Denominator</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n <tr>\n <td>Denominator Exclusions</td>\n <td>Out</td>\n <td>0</td>\n <td>1</td>\n <td>boolean</td>\n </tr>\n \n </table>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\"><b>DataRequirements:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>Resource Type</b></th>\n <th><b>Resource Elements</b></th>\n <th><b>Valueset Name</b></th>\n <th><b>Valueset</b></th>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Diabetic Retinopathy\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.327/expansion\">Diabetic Retinopathy</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Diabetes\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.103.12.1001/expansion\">Diabetes</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Hospice Diagnosis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1165/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Frailty Diagnosis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1074/expansion\">Frailty Diagnosis</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Advanced Illness\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.110.12.1082/expansion\">Advanced Illness</a></td>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n code\n \n </td>\n <td>\n \n \n Palliative Care Diagnosis\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1167/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n \n Retinal or Dilated Eye Exam\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.115.12.1088/expansion\">Retinal or Dilated Eye Exam</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n value\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n \n Frailty Symptom\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.113.12.1075/expansion\">Frailty Symptom</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n value\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n category\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Patient(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-patient.html\">QICorePatient</a>)</td>\n <td>\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Office Visit\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1001/expansion\">Office Visit</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Annual Wellness Visit\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1240/expansion\">Annual Wellness Visit</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Preventive Care Services Established Office Visit, 18 and Up\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion\">Preventive Care Services - Established Office Visit, 18 and Up</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Preventive Care Services Initial Office Visit, 18 and Up\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion\">Preventive Care Services-Initial Office Visit, 18 and Up</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Home Healthcare Services\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1016/expansion\">Home Healthcare Services</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Ophthalmological Services\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1285/expansion\">Ophthalmological Services</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Telephone Visits\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1080/expansion\">Telephone Visits</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n hospitalization\n \n hospitalization.dischargeDisposition\n \n period\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Encounter Inpatient\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion\">Encounter Inpatient</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n period\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Hospice Encounter\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.1003/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n period\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Frailty Encounter\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1088/expansion\">Frailty Encounter</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n period\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Palliative Care Encounter\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1090/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090</a></td>\n </tr>\n \n <tr>\n <td>ServiceRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-servicerequest.html\">QICoreServiceRequest</a>)</td>\n <td>\n \n code\n \n authoredOn\n \n authoredOn.value\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n </td>\n <td>\n \n \n Hospice Care Ambulatory\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion\">Hospice Care Ambulatory</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Hospice Care Ambulatory\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion\">Hospice Care Ambulatory</a></td>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n status\n \n status.value\n \n </td>\n <td>\n \n \n Palliative Care Intervention\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.198.12.1135/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135</a></td>\n </tr>\n \n <tr>\n <td>DeviceRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-devicerequest.html\">QICoreDeviceRequest</a>)</td>\n <td>\n \n code\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n url\n \n url.value\n \n value\n \n authoredOn\n \n authoredOn.value\n \n </td>\n <td>\n \n \n Frailty Device\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.118.12.1300/expansion\">Frailty Device</a></td>\n </tr>\n \n <tr>\n <td>MedicationRequest(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html\">QICoreMedicationRequest</a>)</td>\n <td>\n \n medication\n \n status\n \n status.value\n \n intent\n \n intent.value\n \n dosageInstruction\n \n dispenseRequest\n \n dispenseRequest.expectedSupplyDuration\n \n dispenseRequest.quantity\n \n dispenseRequest.numberOfRepeatsAllowed\n \n dispenseRequest.numberOfRepeatsAllowed.value\n \n authoredOn\n \n authoredOn.value\n \n dispenseRequest.validityPeriod\n \n </td>\n <td>\n \n \n Dementia Medications\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1510/expansion\">Dementia Medications</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n\n \n <tr>\n <th scope=\"row\"><b>Direct Reference Codes:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>display</b></th>\n <th><b>code</b></th>\n <th><b>system</b></th>\n </tr>\n \n <tr>\n <td>exam</td>\n <td>exam</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-observation-category.html\">http://terminology.hl7.org/CodeSystem/observation-category</a></td>\n </tr>\n \n <tr>\n <td>Discharge to home for hospice care (procedure)</td>\n <td>428361000124107</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Discharge to healthcare facility for hospice care (procedure)</td>\n <td>428371000124100</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>survey</td>\n <td>survey</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-observation-category.html\">http://terminology.hl7.org/CodeSystem/observation-category</a></td>\n </tr>\n \n <tr>\n <td>Hospice care [Minimum Data Set]</td>\n <td>45755-6</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Yes (qualifier value)</td>\n <td>373066001</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Medical equipment used</td>\n <td>98181-1</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Housing status</td>\n <td>71802-3</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Lives in a nursing home (finding)</td>\n <td>160734000</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)</td>\n <td>71007-9</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html\">http://loinc.org</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Logic Definitions:</b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n <tr>\n <th><b>Group</b></th>\n <th><b>Scoring</b></th>\n <th><b>Population Criteria</b></th>\n <th><b>Expression</b></th>\n </tr>\n <tr>\n \n <td> 661d83160f0a9077c1d5a547 </td>\n <td colspan=\"3\" style=\"padding-left: 4px;\">\n \n <b>Group scoring:</b>\n \n <span> proportion </span>\n \n \n\n \n\n \n\n \n\n \n <tr>\n \n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Process </span>\n </p>\n \n \n \n </td>\n \n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rate Aggregation: </b></th>\n <td colspan=\"3\" style=\"padding-left: 4px;\">None</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Improvement Notation: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <span>increase </span>\n </p>\n \n \n \n \n </td>\n </tr>\n \n\n \n\n </td>\n \n <tr>\n <td/>\n <td/>\n <td>Initial Population</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Initial Population":\n AgeInYearsAt(date from \n end of "Measurement Period"\n ) in Interval[18, 75]\n and exists ( "Qualifying Encounters" )\n and exists ( [Condition: "Diabetes"] Diabetes\n where Diabetes.prevalenceInterval ( ) overlaps day of "Measurement Period"\n )</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator Exclusion</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Denominator Exclusions":\n Hospice."Has Hospice Services"\n or AIFrailLTCF."Is Age 66 or Older with Advanced Illness and Frailty"\n or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home"\n or PalliativeCare."Has Palliative Care in the Measurement Period"</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Numerator</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Numerator":\n ( "Diabetic Retinopathy Overlapping Measurement Period"\n and exists ( "Retinal Exam in Measurement Period" )\n )\n or ( not ( "Diabetic Retinopathy Overlapping Measurement Period" )\n and exists ( "Retinal Exam in Measurement Period or Year Prior" )\n )</code></pre>\n \n </td>\n </tr>\n \n \n \n </tr>\n </table>\n \n\n <table class=\"grid-dict\">\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Diabetic Retinopathy Overlapping Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Diabetic Retinopathy Overlapping Measurement Period":\n exists ( [Condition: "Diabetic Retinopathy"] Retinopathy\n where Retinopathy.prevalenceInterval ( ) overlaps day of "Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Retinal Exam in Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Retinal Exam in Measurement Period":\n ( ( [Observation: "Retinal or Dilated Eye Exam"] ).isPhysicalExamPerformed ( ) ) RetinalExam\n where RetinalExam.effective.toInterval ( ) during day of "Measurement Period"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Retinal Exam in Measurement Period or Year Prior</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Retinal Exam in Measurement Period or Year Prior":\n ( ( [Observation: "Retinal or Dilated Eye Exam"] ).isPhysicalExamPerformed ( ) ) RetinalExam\n where RetinalExam.effective.toInterval ( ) during day of Interval[start of "Measurement Period" - 1 year, end of "Measurement Period"]</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Numerator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n ( "Diabetic Retinopathy Overlapping Measurement Period"\n and exists ( "Retinal Exam in Measurement Period" )\n )\n or ( not ( "Diabetic Retinopathy Overlapping Measurement Period" )\n and exists ( "Retinal Exam in Measurement Period or Year Prior" )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Qualifying Encounters</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Qualifying Encounters":\n ( ( [Encounter: "Office Visit"]\n union [Encounter: "Annual Wellness Visit"]\n union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]\n union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]\n union [Encounter: "Home Healthcare Services"]\n union [Encounter: "Ophthalmological Services"]\n union [Encounter: "Telephone Visits"]\n ).isEncounterPerformed ( ) ) ValidEncounters\n where ValidEncounters.period.toInterval ( ) during day of "Measurement Period"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Initial Population</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n AgeInYearsAt(date from \n end of "Measurement Period"\n ) in Interval[18, 75]\n and exists ( "Qualifying Encounters" )\n and exists ( [Condition: "Diabetes"] Diabetes\n where Diabetes.prevalenceInterval ( ) overlaps day of "Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Denominator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Hospice</td>\n \n \n <td>Has Hospice Services</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Hospice Services":\n exists ((([Encounter: "Encounter Inpatient"]).isEncounterPerformed()) InpatientEncounter\n where (InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to home for hospice care (procedure)"\n or InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to healthcare facility for hospice care (procedure)"\n )\n and InpatientEncounter.period.toInterval() ends during day of "Measurement Period"\n )\n or exists ((([Encounter: "Hospice Encounter"]).isEncounterPerformed()) HospiceEncounter\n where HospiceEncounter.period.toInterval() overlaps day of "Measurement Period"\n )\n or exists ((([Observation: "Hospice care [Minimum Data Set]"]).isAssessmentPerformed()) HospiceAssessment\n where HospiceAssessment.value ~ "Yes (qualifier value)"\n and HospiceAssessment.effective.toInterval() overlaps day of "Measurement Period"\n )\n or exists ((([ServiceRequest: "Hospice Care Ambulatory"]).isInterventionOrder()) HospiceOrder\n where HospiceOrder.authoredOn.toInterval() during day of "Measurement Period"\n // and HospiceOrder.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447\n )\n or exists ((([Procedure: "Hospice Care Ambulatory"]).isInterventionPerformed()) HospicePerformed\n where HospicePerformed.performed.toInterval() overlaps day of "Measurement Period"\n )\n or exists (([Condition: "Hospice Diagnosis"]) HospiceCareDiagnosis\n where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AdvancedIllnessandFrailty</td>\n \n \n <td>Has Criteria Indicating Frailty</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Criteria Indicating Frailty":\n exists ( (([DeviceRequest: "Frailty Device"]).isDeviceOrder()) FrailtyDeviceOrder\n where FrailtyDeviceOrder.doNotPerform() is not true\n and FrailtyDeviceOrder.authoredOn.toInterval() during day of "Measurement Period"\n )\n or exists ( (([Observation: "Medical equipment used"]).isAssessmentPerformed()) EquipmentUsed\n where EquipmentUsed.value as Concept in "Frailty Device" \n and EquipmentUsed.effective.toInterval() ends during day of "Measurement Period"\n )\n or exists ( ([Condition: "Frailty Diagnosis"]) FrailtyDiagnosis\n where FrailtyDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"\n )\n or exists ( (([Encounter: "Frailty Encounter"]).isEncounterPerformed()) FrailtyEncounter\n where FrailtyEncounter.period.toInterval() overlaps day of "Measurement Period"\n )\n or exists ( (([Observation: "Frailty Symptom"]).isSymptom()) FrailtySymptom\n where FrailtySymptom.effective.toInterval() overlaps day of "Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AdvancedIllnessandFrailty</td>\n \n \n <td>Has Advanced Illness in Year Before or During Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Advanced Illness in Year Before or During Measurement Period":\nexists ([Condition: "Advanced Illness"] AdvancedIllnessDiagnosis\nwhere AdvancedIllnessDiagnosis.prevalenceInterval() starts during day of Interval[start of "Measurement Period" - 1 year, end of "Measurement Period"])</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AdvancedIllnessandFrailty</td>\n \n \n <td>Has Dementia Medications in Year Before or During Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Dementia Medications in Year Before or During Measurement Period":\n exists (( ([MedicationRequest: medication in "Dementia Medications"]).isMedicationActive()) DementiaMedication\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-449\n where DementiaMedication.medicationRequestPeriod() overlaps day of Interval[start of "Measurement Period" - 1 year, \n end of "Measurement Period"]\n // and DementiaMedication.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AdvancedIllnessandFrailty</td>\n \n \n <td>Is Age 66 or Older with Advanced Illness and Frailty</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Is Age 66 or Older with Advanced Illness and Frailty":\n AgeInYearsAt(date from end of "Measurement Period")>= 66\n and "Has Criteria Indicating Frailty"\n and ( "Has Advanced Illness in Year Before or During Measurement Period"\n or "Has Dementia Medications in Year Before or During Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>AdvancedIllnessandFrailty</td>\n \n \n <td>Is Age 66 or Older Living Long Term in a Nursing Home</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Is Age 66 or Older Living Long Term in a Nursing Home":\n AgeInYearsAt(date from \n end of "Measurement Period"\n )>= 66\n and ( ( Last( (([Observation: "Housing status"]).isAssessmentPerformed()) HousingStatus \n where HousingStatus.effective.toInterval() ends on or before \n day of end of "Measurement Period"\n sort by \n end of effective.toInterval() asc\n )) LastHousingStatus\n where LastHousingStatus.value ~ "Lives in a nursing home (finding)"\n ) is not null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>PalliativeCare</td>\n \n \n <td>Has Palliative Care in the Measurement Period</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Palliative Care in the Measurement Period":\n exists ((([Observation: "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"]).isAssessmentPerformed()) PalliativeAssessment\n where PalliativeAssessment.effective.toInterval() overlaps day of "Measurement Period"\n )\n or exists ([Condition: "Palliative Care Diagnosis"] PalliativeDiagnosis\n where PalliativeDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"\n )\n or exists ((([Encounter: "Palliative Care Encounter"]).isEncounterPerformed()) PalliativeEncounter\n where PalliativeEncounter.period.toInterval() overlaps day of "Measurement Period"\n )\n or exists ((([Procedure: "Palliative Care Intervention"]).isInterventionPerformed()) PalliativeIntervention\n where PalliativeIntervention.performed.toInterval() overlaps day of "Measurement Period"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>DiabetesEyeExamFHIR</td>\n \n \n <td>Denominator Exclusions</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Denominator Exclusions":\n Hospice."Has Hospice Services"\n or AIFrailLTCF."Is Age 66 or Older with Advanced Illness and Frailty"\n or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home"\n or PalliativeCare."Has Palliative Care in the Measurement Period"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>prevalenceInterval</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting \ninterval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.\n*/\ndefine fluent function prevalenceInterval(condition Condition):\nif condition.clinicalStatus ~ "active"\n or condition.clinicalStatus ~ "recurrence"\n or condition.clinicalStatus ~ "relapse" then\n Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]\nelse\n (end of condition.abatementInterval()) abatementDate\n return if abatementDate is null then\n Interval[start of condition.onset.toInterval(), abatementDate)\n else\n Interval[start of condition.onset.toInterval(), abatementDate]</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isPhysicalExamPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Physical Exam, Performed\ndefine fluent function isPhysicalExamPerformed(Obs List<Observation>):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }\n and exists ( O.category ObservationCategory\n where ( ObservationCategory ) ~ "exam"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>FHIRHelpers</td>\n \n \n <td>ToConcept</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isEncounterPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Encounter, Performed\n//General usage unless required otherwise by measure intent (e.g., follow-up encounters)\ndefine fluent function isEncounterPerformed(Enc List<Encounter>):\n Enc E\n where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>toInterval</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.\nIf the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n*/\ndefine fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):\n case\n\t when choice is DateTime then\n \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval<DateTime> then\n \t\tchoice as Interval<DateTime>\n\t\twhen choice is Quantity then\n\t\t Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval<Quantity> then\n\t\t Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>\n\t\telse\n\t\t\tnull as Interval<DateTime>\n\tend</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isAssessmentPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA.\n\n//Assessment, Performed\ndefine fluent function isAssessmentPerformed(Obs List<Observation>):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }\n and exists ( O.category ObservationCategory\n where ( ObservationCategory ) ~ "survey"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isInterventionOrder</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Intervention, Order: active and completed only \ndefine fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):\n ServiceRequest S\n where S.status in { 'active', 'completed' }\n and S.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isInterventionPerformed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Intervention, Performed\ndefine fluent function isInterventionPerformed(Proc List<Procedure>):\n Proc P\n where P.status ~ 'completed'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isDeviceOrder</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Device, Order - Personal Use Devices: active and completed only\ndefine fluent function isDeviceOrder(DeviceRequest List<DeviceRequest>):\n DeviceRequest D\n where D.status in { 'active', 'completed' }\n and D.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>doNotPerform</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns true if the given DeviceRequest is a negation (i.e. do not perform this order)\n*/\ndefine fluent function doNotPerform(deviceRequest DeviceRequest):\n singleton from (\n deviceRequest.modifierExtension E\n where E.url = 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-doNotPerform'\n return E.value as Boolean\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isSymptom</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Symptom\ndefine fluent function isSymptom(Obs List<Observation>):\n Obs O\n where O.status in { 'preliminary', 'final', 'amended', 'corrected' }</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>Status</td>\n \n \n <td>isMedicationActive</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">//Medication, Active\ndefine fluent function isMedicationActive(MedicationRequest List<MedicationRequest>):\n MedicationRequest M\n where M.status = 'active'\n and M.intent = 'order'</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>medicationRequestPeriod</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define fluent function medicationRequestPeriod(Request "MedicationRequest"):\n Request R\n let\n dosage: singleton from R.dosageInstruction,\n doseAndRate: singleton from dosage.doseAndRate,\n timing: dosage.timing,\n frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),\n period: Quantity(timing.repeat.period, timing.repeat.periodUnit),\n doseRange: doseAndRate.dose,\n doseQuantity: doseAndRate.dose,\n dose: Coalesce(end of doseRange, doseQuantity),\n dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),\n boundsPeriod: timing.repeat.bounds as Interval<DateTime>,\n daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,\n quantity: R.dispenseRequest.quantity,\n refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),\n startDate:\n Coalesce(\n date from start of boundsPeriod,\n date from R.authoredOn,\n date from start of R.dispenseRequest.validityPeriod\n ),\n totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)\n return\n if startDate is not null and totalDaysSupplied is not null then\n Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]\n else if startDate is not null and boundsPeriod."high" is not null then\n Interval[startDate, date from end of boundsPeriod]\n else\n null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>Quantity</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/**********************************************************************/\n/* Functions in this region are copied from opioid-mme-r4 */\n/**********************************************************************/\n\ndefine function Quantity(value Decimal, unit String):\n if value is not null then\n System.Quantity { value: value, unit: unit }\n else\n null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CumulativeMedicationDuration</td>\n \n \n <td>ToDaily</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n Goal is to get to number of days\n Two broad approaches to the calculation:\n 1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered\n 2) Based on relevant period, determine a covered interval and calculate the length of that interval in days\nThis topic covers several use cases and illustrates how to calculate Cumulative\nMedication Duration for each type of medication resource using the supply and\nfrequency approach.\n*/\n\n/*\n For the first approach, we need to get from frequency to a frequency/day\n So we define ToDaily\n*/\n\n/*\n Calculates daily frequency given frequency within a period\n*/\ndefine function ToDaily(frequency System.Integer, period System.Quantity):\n case period.unit\n when 'h' then frequency * (24.0 / period.value)\n when 'min' then frequency * (24.0 / period.value) * 60\n when 's' then frequency * (24.0 / period.value) * 60 * 60\n when 'd' then frequency * (24.0 / period.value) / 24\n when 'wk' then frequency * (24.0 / period.value) / (24 * 7)\n when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hour' then frequency * (24.0 / period.value)\n when 'minute' then frequency * (24.0 / period.value) * 60\n when 'second' then frequency * (24.0 / period.value) * 60 * 60\n when 'day' then frequency * (24.0 / period.value) / 24\n when 'week' then frequency * (24.0 / period.value) / (24 * 7)\n when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hours' then frequency * (24.0 / period.value)\n when 'minutes' then frequency * (24.0 / period.value) * 60\n when 'seconds' then frequency * (24.0 / period.value) * 60 * 60\n when 'days' then frequency * (24.0 / period.value) / 24\n when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)\n when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)\n end</code></pre>\n </td>\n \n </tr>\n \n </table>\n </td>\n </tr>\n \n \n \n\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/observation-category",
"code" : "exam",
"display" : "exam"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "428361000124107",
"display" : "Discharge to home for hospice care (procedure)"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "428371000124100",
"display" : "Discharge to healthcare facility for hospice care (procedure)"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/observation-category",
"code" : "survey",
"display" : "survey"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "45755-6",
"display" : "Hospice care [Minimum Data Set]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "373066001",
"display" : "Yes (qualifier value)"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "98181-1",
"display" : "Medical equipment used"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71802-3",
"display" : "Housing status"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://snomed.info/sct",
"code" : "160734000",
"display" : "Lives in a nursing home (finding)"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71007-9",
"display" : "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Diabetic Retinopathy Overlapping Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Diabetic Retinopathy Overlapping Measurement Period\":\n exists ( [Condition: \"Diabetic Retinopathy\"] Retinopathy\n where Retinopathy.prevalenceInterval ( ) overlaps day of \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Retinal Exam in Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Retinal Exam in Measurement Period\":\n ( ( [Observation: \"Retinal or Dilated Eye Exam\"] ).isPhysicalExamPerformed ( ) ) RetinalExam\n where RetinalExam.effective.toInterval ( ) during day of \"Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Retinal Exam in Measurement Period or Year Prior"
},
{
"url" : "statement",
"valueString" : "define \"Retinal Exam in Measurement Period or Year Prior\":\n ( ( [Observation: \"Retinal or Dilated Eye Exam\"] ).isPhysicalExamPerformed ( ) ) RetinalExam\n where RetinalExam.effective.toInterval ( ) during day of Interval[start of \"Measurement Period\" - 1 year, end of \"Measurement Period\"]"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n ( \"Diabetic Retinopathy Overlapping Measurement Period\"\n and exists ( \"Retinal Exam in Measurement Period\" )\n )\n or ( not ( \"Diabetic Retinopathy Overlapping Measurement Period\" )\n and exists ( \"Retinal Exam in Measurement Period or Year Prior\" )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Qualifying Encounters"
},
{
"url" : "statement",
"valueString" : "define \"Qualifying Encounters\":\n ( ( [Encounter: \"Office Visit\"]\n union [Encounter: \"Annual Wellness Visit\"]\n union [Encounter: \"Preventive Care Services Established Office Visit, 18 and Up\"]\n union [Encounter: \"Preventive Care Services Initial Office Visit, 18 and Up\"]\n union [Encounter: \"Home Healthcare Services\"]\n union [Encounter: \"Ophthalmological Services\"]\n union [Encounter: \"Telephone Visits\"]\n ).isEncounterPerformed ( ) ) ValidEncounters\n where ValidEncounters.period.toInterval ( ) during day of \"Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n AgeInYearsAt(date from \n end of \"Measurement Period\"\n ) in Interval[18, 75]\n and exists ( \"Qualifying Encounters\" )\n and exists ( [Condition: \"Diabetes\"] Diabetes\n where Diabetes.prevalenceInterval ( ) overlaps day of \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n \"Initial Population\""
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Hospice"
},
{
"url" : "name",
"valueString" : "Has Hospice Services"
},
{
"url" : "statement",
"valueString" : "define \"Has Hospice Services\":\n exists ((([Encounter: \"Encounter Inpatient\"]).isEncounterPerformed()) InpatientEncounter\n where (InpatientEncounter.hospitalization.dischargeDisposition ~ \"Discharge to home for hospice care (procedure)\"\n or InpatientEncounter.hospitalization.dischargeDisposition ~ \"Discharge to healthcare facility for hospice care (procedure)\"\n )\n and InpatientEncounter.period.toInterval() ends during day of \"Measurement Period\"\n )\n or exists ((([Encounter: \"Hospice Encounter\"]).isEncounterPerformed()) HospiceEncounter\n where HospiceEncounter.period.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists ((([Observation: \"Hospice care [Minimum Data Set]\"]).isAssessmentPerformed()) HospiceAssessment\n where HospiceAssessment.value ~ \"Yes (qualifier value)\"\n and HospiceAssessment.effective.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists ((([ServiceRequest: \"Hospice Care Ambulatory\"]).isInterventionOrder()) HospiceOrder\n where HospiceOrder.authoredOn.toInterval() during day of \"Measurement Period\"\n // and HospiceOrder.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447\n )\n or exists ((([Procedure: \"Hospice Care Ambulatory\"]).isInterventionPerformed()) HospicePerformed\n where HospicePerformed.performed.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists (([Condition: \"Hospice Diagnosis\"]) HospiceCareDiagnosis\n where HospiceCareDiagnosis.prevalenceInterval() overlaps day of \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "AdvancedIllnessandFrailty"
},
{
"url" : "name",
"valueString" : "Has Criteria Indicating Frailty"
},
{
"url" : "statement",
"valueString" : "define \"Has Criteria Indicating Frailty\":\n exists ( (([DeviceRequest: \"Frailty Device\"]).isDeviceOrder()) FrailtyDeviceOrder\n where FrailtyDeviceOrder.doNotPerform() is not true\n and FrailtyDeviceOrder.authoredOn.toInterval() during day of \"Measurement Period\"\n )\n or exists ( (([Observation: \"Medical equipment used\"]).isAssessmentPerformed()) EquipmentUsed\n where EquipmentUsed.value as Concept in \"Frailty Device\" \n and EquipmentUsed.effective.toInterval() ends during day of \"Measurement Period\"\n )\n or exists ( ([Condition: \"Frailty Diagnosis\"]) FrailtyDiagnosis\n where FrailtyDiagnosis.prevalenceInterval() overlaps day of \"Measurement Period\"\n )\n or exists ( (([Encounter: \"Frailty Encounter\"]).isEncounterPerformed()) FrailtyEncounter\n where FrailtyEncounter.period.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists ( (([Observation: \"Frailty Symptom\"]).isSymptom()) FrailtySymptom\n where FrailtySymptom.effective.toInterval() overlaps day of \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "AdvancedIllnessandFrailty"
},
{
"url" : "name",
"valueString" : "Has Advanced Illness in Year Before or During Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Has Advanced Illness in Year Before or During Measurement Period\":\nexists ([Condition: \"Advanced Illness\"] AdvancedIllnessDiagnosis\nwhere AdvancedIllnessDiagnosis.prevalenceInterval() starts during day of Interval[start of \"Measurement Period\" - 1 year, end of \"Measurement Period\"])"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "AdvancedIllnessandFrailty"
},
{
"url" : "name",
"valueString" : "Has Dementia Medications in Year Before or During Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Has Dementia Medications in Year Before or During Measurement Period\":\n exists (( ([MedicationRequest: medication in \"Dementia Medications\"]).isMedicationActive()) DementiaMedication\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-449\n where DementiaMedication.medicationRequestPeriod() overlaps day of Interval[start of \"Measurement Period\" - 1 year, \n end of \"Measurement Period\"]\n // and DementiaMedication.doNotPerform is not true\n // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "AdvancedIllnessandFrailty"
},
{
"url" : "name",
"valueString" : "Is Age 66 or Older with Advanced Illness and Frailty"
},
{
"url" : "statement",
"valueString" : "define \"Is Age 66 or Older with Advanced Illness and Frailty\":\n AgeInYearsAt(date from end of \"Measurement Period\")>= 66\n and \"Has Criteria Indicating Frailty\"\n and ( \"Has Advanced Illness in Year Before or During Measurement Period\"\n or \"Has Dementia Medications in Year Before or During Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "AdvancedIllnessandFrailty"
},
{
"url" : "name",
"valueString" : "Is Age 66 or Older Living Long Term in a Nursing Home"
},
{
"url" : "statement",
"valueString" : "define \"Is Age 66 or Older Living Long Term in a Nursing Home\":\n AgeInYearsAt(date from \n end of \"Measurement Period\"\n )>= 66\n and ( ( Last( (([Observation: \"Housing status\"]).isAssessmentPerformed()) HousingStatus \n where HousingStatus.effective.toInterval() ends on or before \n day of end of \"Measurement Period\"\n sort by \n end of effective.toInterval() asc\n )) LastHousingStatus\n where LastHousingStatus.value ~ \"Lives in a nursing home (finding)\"\n ) is not null"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "PalliativeCare"
},
{
"url" : "name",
"valueString" : "Has Palliative Care in the Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Has Palliative Care in the Measurement Period\":\n exists ((([Observation: \"Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)\"]).isAssessmentPerformed()) PalliativeAssessment\n where PalliativeAssessment.effective.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists ([Condition: \"Palliative Care Diagnosis\"] PalliativeDiagnosis\n where PalliativeDiagnosis.prevalenceInterval() overlaps day of \"Measurement Period\"\n )\n or exists ((([Encounter: \"Palliative Care Encounter\"]).isEncounterPerformed()) PalliativeEncounter\n where PalliativeEncounter.period.toInterval() overlaps day of \"Measurement Period\"\n )\n or exists ((([Procedure: \"Palliative Care Intervention\"]).isInterventionPerformed()) PalliativeIntervention\n where PalliativeIntervention.performed.toInterval() overlaps day of \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "DiabetesEyeExamFHIR"
},
{
"url" : "name",
"valueString" : "Denominator Exclusions"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exclusions\":\n Hospice.\"Has Hospice Services\"\n or AIFrailLTCF.\"Is Age 66 or Older with Advanced Illness and Frailty\"\n or AIFrailLTCF.\"Is Age 66 or Older Living Long Term in a Nursing Home\"\n or PalliativeCare.\"Has Palliative Care in the Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "prevalenceInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from\nonset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting \ninterval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.\n*/\ndefine fluent function prevalenceInterval(condition Condition):\nif condition.clinicalStatus ~ \"active\"\n or condition.clinicalStatus ~ \"recurrence\"\n or condition.clinicalStatus ~ \"relapse\" then\n Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]\nelse\n (end of condition.abatementInterval()) abatementDate\n return if abatementDate is null then\n Interval[start of condition.onset.toInterval(), abatementDate)\n else\n Interval[start of condition.onset.toInterval(), abatementDate]"
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isPhysicalExamPerformed"
},
{
"url" : "statement",
"valueString" : "//Physical Exam, Performed\ndefine fluent function isPhysicalExamPerformed(Obs List<Observation>):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }\n and exists ( O.category ObservationCategory\n where ( ObservationCategory ) ~ \"exam\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isEncounterPerformed"
},
{
"url" : "statement",
"valueString" : "//Encounter, Performed\n//General usage unless required otherwise by measure intent (e.g., follow-up encounters)\ndefine fluent function isEncounterPerformed(Enc List<Encounter>):\n Enc E\n where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "toInterval"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval\n@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types\nto an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible\nrepresentations for timing-valued elements in QICore, allowing this function to be used across any resource.\nThe input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.\nThe intent of this function is to provide a clear and concise mechanism to treat single\nelements that have multiple possible representations as intervals so that logic doesn't have to account\nfor the variability. More complex calculations (such as medication request period or dispense period\ncalculation) need specific guidance and consideration. That guidance may make use of this function, but\nthe focus of this function is on single element calculations where the semantics are unambiguous.\nIf the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.\nIf the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,\nand the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.\nIf the input is a DateTime Interval, the result is the input.\nIf the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result\nis a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending\nimmediately before one year later than the date the patient turned the age given as the end of the quantity interval.\nIf the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval\n*/\ndefine fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):\n case\n\t when choice is DateTime then\n \tInterval[choice as DateTime, choice as DateTime]\n\t\twhen choice is Interval<DateTime> then\n \t\tchoice as Interval<DateTime>\n\t\twhen choice is Quantity then\n\t\t Interval[Patient.birthDate + (choice as Quantity),\n\t\t\t Patient.birthDate + (choice as Quantity) + 1 year)\n\t\twhen choice is Interval<Quantity> then\n\t\t Interval[Patient.birthDate + (choice.low as Quantity),\n\t\t\t Patient.birthDate + (choice.high as Quantity) + 1 year)\n\t\twhen choice is Timing then\n Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>\n\t\telse\n\t\t\tnull as Interval<DateTime>\n\tend"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isAssessmentPerformed"
},
{
"url" : "statement",
"valueString" : "//This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA.\n\n//Assessment, Performed\ndefine fluent function isAssessmentPerformed(Obs List<Observation>):\n Obs O\n where O.status in { 'final', 'amended', 'corrected' }\n and exists ( O.category ObservationCategory\n where ( ObservationCategory ) ~ \"survey\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isInterventionOrder"
},
{
"url" : "statement",
"valueString" : "//Intervention, Order: active and completed only \ndefine fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):\n ServiceRequest S\n where S.status in { 'active', 'completed' }\n and S.intent = 'order'"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isInterventionPerformed"
},
{
"url" : "statement",
"valueString" : "//Intervention, Performed\ndefine fluent function isInterventionPerformed(Proc List<Procedure>):\n Proc P\n where P.status ~ 'completed'"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isDeviceOrder"
},
{
"url" : "statement",
"valueString" : "//Device, Order - Personal Use Devices: active and completed only\ndefine fluent function isDeviceOrder(DeviceRequest List<DeviceRequest>):\n DeviceRequest D\n where D.status in { 'active', 'completed' }\n and D.intent = 'order'"
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "doNotPerform"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns true if the given DeviceRequest is a negation (i.e. do not perform this order)\n*/\ndefine fluent function doNotPerform(deviceRequest DeviceRequest):\n singleton from (\n deviceRequest.modifierExtension E\n where E.url = 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-doNotPerform'\n return E.value as Boolean\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isSymptom"
},
{
"url" : "statement",
"valueString" : "//Symptom\ndefine fluent function isSymptom(Obs List<Observation>):\n Obs O\n where O.status in { 'preliminary', 'final', 'amended', 'corrected' }"
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "Status"
},
{
"url" : "name",
"valueString" : "isMedicationActive"
},
{
"url" : "statement",
"valueString" : "//Medication, Active\ndefine fluent function isMedicationActive(MedicationRequest List<MedicationRequest>):\n MedicationRequest M\n where M.status = 'active'\n and M.intent = 'order'"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CumulativeMedicationDuration"
},
{
"url" : "name",
"valueString" : "medicationRequestPeriod"
},
{
"url" : "statement",
"valueString" : "define fluent function medicationRequestPeriod(Request \"MedicationRequest\"):\n Request R\n let\n dosage: singleton from R.dosageInstruction,\n doseAndRate: singleton from dosage.doseAndRate,\n timing: dosage.timing,\n frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),\n period: Quantity(timing.repeat.period, timing.repeat.periodUnit),\n doseRange: doseAndRate.dose,\n doseQuantity: doseAndRate.dose,\n dose: Coalesce(end of doseRange, doseQuantity),\n dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),\n boundsPeriod: timing.repeat.bounds as Interval<DateTime>,\n daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,\n quantity: R.dispenseRequest.quantity,\n refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),\n startDate:\n Coalesce(\n date from start of boundsPeriod,\n date from R.authoredOn,\n date from start of R.dispenseRequest.validityPeriod\n ),\n totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)\n return\n if startDate is not null and totalDaysSupplied is not null then\n Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]\n else if startDate is not null and boundsPeriod.\"high\" is not null then\n Interval[startDate, date from end of boundsPeriod]\n else\n null"
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CumulativeMedicationDuration"
},
{
"url" : "name",
"valueString" : "Quantity"
},
{
"url" : "statement",
"valueString" : "/**********************************************************************/\n/* Functions in this region are copied from opioid-mme-r4 */\n/**********************************************************************/\n\ndefine function Quantity(value Decimal, unit String):\n if value is not null then\n System.Quantity { value: value, unit: unit }\n else\n null"
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CumulativeMedicationDuration"
},
{
"url" : "name",
"valueString" : "ToDaily"
},
{
"url" : "statement",
"valueString" : "/*\n Goal is to get to number of days\n Two broad approaches to the calculation:\n 1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered\n 2) Based on relevant period, determine a covered interval and calculate the length of that interval in days\nThis topic covers several use cases and illustrates how to calculate Cumulative\nMedication Duration for each type of medication resource using the supply and\nfrequency approach.\n*/\n\n/*\n For the first approach, we need to get from frequency to a frequency/day\n So we define ToDaily\n*/\n\n/*\n Calculates daily frequency given frequency within a period\n*/\ndefine function ToDaily(frequency System.Integer, period System.Quantity):\n case period.unit\n when 'h' then frequency * (24.0 / period.value)\n when 'min' then frequency * (24.0 / period.value) * 60\n when 's' then frequency * (24.0 / period.value) * 60 * 60\n when 'd' then frequency * (24.0 / period.value) / 24\n when 'wk' then frequency * (24.0 / period.value) / (24 * 7)\n when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hour' then frequency * (24.0 / period.value)\n when 'minute' then frequency * (24.0 / period.value) * 60\n when 'second' then frequency * (24.0 / period.value) * 60 * 60\n when 'day' then frequency * (24.0 / period.value) / 24\n when 'week' then frequency * (24.0 / period.value) / (24 * 7)\n when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n when 'hours' then frequency * (24.0 / period.value)\n when 'minutes' then frequency * (24.0 / period.value) * 60\n when 'seconds' then frequency * (24.0 / period.value) * 60 * 60\n when 'days' then frequency * (24.0 / period.value) / 24\n when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)\n when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */\n when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */\n else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library QICoreCommon",
"resource" : "Library/QICoreCommon|2.1.000"
},
{
"type" : "depends-on",
"display" : "Library Status",
"resource" : "Library/Status|1.8.000"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "Library/FHIRHelpers|4.4.000"
},
{
"type" : "depends-on",
"display" : "Library Hospice",
"resource" : "Library/Hospice|6.12.000"
},
{
"type" : "depends-on",
"display" : "Library AIFrailLTCF",
"resource" : "Library/AdvancedIllnessandFrailty|1.16.000"
},
{
"type" : "depends-on",
"display" : "Library CMD",
"resource" : "Library/CumulativeMedicationDuration|4.1.000"
},
{
"type" : "depends-on",
"display" : "Library PalliativeCare",
"resource" : "Library/PalliativeCare|1.11.000"
},
{
"type" : "depends-on",
"display" : "Code system ObservationCategoryCodes",
"resource" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"type" : "depends-on",
"display" : "Code system SNOMEDCT",
"resource" : "http://snomed.info/sct"
},
{
"type" : "depends-on",
"display" : "Code system LOINC",
"resource" : "http://loinc.org"
},
{
"type" : "depends-on",
"display" : "Value set Diabetic Retinopathy",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.327"
},
{
"type" : "depends-on",
"display" : "Value set Retinal or Dilated Eye Exam",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.115.12.1088"
},
{
"type" : "depends-on",
"display" : "Value set Office Visit",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
},
{
"type" : "depends-on",
"display" : "Value set Annual Wellness Visit",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240"
},
{
"type" : "depends-on",
"display" : "Value set Preventive Care Services Established Office Visit, 18 and Up",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"
},
{
"type" : "depends-on",
"display" : "Value set Preventive Care Services Initial Office Visit, 18 and Up",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"
},
{
"type" : "depends-on",
"display" : "Value set Home Healthcare Services",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016"
},
{
"type" : "depends-on",
"display" : "Value set Ophthalmological Services",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1285"
},
{
"type" : "depends-on",
"display" : "Value set Telephone Visits",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080"
},
{
"type" : "depends-on",
"display" : "Value set Diabetes",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.103.12.1001"
},
{
"type" : "depends-on",
"display" : "Value set Encounter Inpatient",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
},
{
"type" : "depends-on",
"display" : "Value set Hospice Encounter",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003"
},
{
"type" : "depends-on",
"display" : "Value set Hospice Care Ambulatory",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"
},
{
"type" : "depends-on",
"display" : "Value set Hospice Diagnosis",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165"
},
{
"type" : "depends-on",
"display" : "Value set Frailty Device",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300"
},
{
"type" : "depends-on",
"display" : "Value set Frailty Diagnosis",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074"
},
{
"type" : "depends-on",
"display" : "Value set Frailty Encounter",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088"
},
{
"type" : "depends-on",
"display" : "Value set Frailty Symptom",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075"
},
{
"type" : "depends-on",
"display" : "Value set Advanced Illness",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082"
},
{
"type" : "depends-on",
"display" : "Value set Dementia Medications",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510"
},
{
"type" : "depends-on",
"display" : "Value set Palliative Care Diagnosis",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167"
},
{
"type" : "depends-on",
"display" : "Value set Palliative Care Encounter",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090"
},
{
"type" : "depends-on",
"display" : "Value set Palliative Care Intervention",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "ErrorLevel",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator Exclusions",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.327"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.103.12.1001"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.115.12.1088"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"value",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "45755-6",
"display" : "Hospice care [Minimum Data Set]"
}
]
},
{
"path" : "value"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"value",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "98181-1",
"display" : "Medical equipment used"
}
]
},
{
"path" : "value",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300"
}
],
"dateFilter" : [
{
"path" : "effective",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-expression",
"valueExpression" : {
"language" : "text/cql-identifier",
"expression" : "Measurement Period"
}
}
]
}
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "71802-3",
"display" : "Housing status"
}
]
}
],
"dateFilter" : [
{
"path" : "effective"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"value",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "71802-3",
"display" : "Housing status"
}
]
},
{
"path" : "value"
}
],
"dateFilter" : [
{
"path" : "effective"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"category"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://loinc.org",
"code" : "71007-9",
"display" : "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"
}
]
}
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1285"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"hospitalization",
"hospitalization.dischargeDisposition",
"period",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"period",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"period",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088"
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"period",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090"
}
]
},
{
"type" : "ServiceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest"
],
"mustSupport" : [
"code",
"authoredOn",
"authoredOn.value",
"status",
"status.value",
"intent",
"intent.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"
}
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
],
"mustSupport" : [
"code",
"performed",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"
}
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
],
"mustSupport" : [
"code",
"performed",
"status",
"status.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135"
}
]
},
{
"type" : "DeviceRequest",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest"
],
"mustSupport" : [
"code",
"status",
"status.value",
"intent",
"intent.value",
"url",
"url.value",
"value",
"authoredOn",
"authoredOn.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300"
}
]
},
{
"type" : "MedicationRequest",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"
],
"mustSupport" : [
"medication",
"status",
"status.value",
"intent",
"intent.value",
"dosageInstruction",
"dispenseRequest",
"dispenseRequest.expectedSupplyDuration",
"dispenseRequest.quantity",
"dispenseRequest.numberOfRepeatsAllowed",
"dispenseRequest.numberOfRepeatsAllowed.value",
"authoredOn",
"authoredOn.value",
"dispenseRequest.validityPeriod"
],
"codeFilter" : [
{
"path" : "medication",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510"
}
]
}
]
}
],
"extension" : [
{
"id" : "effective-data-requirements",
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements",
"valueReference" : {
"reference" : "#effective-data-requirements"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
}
],
"url" : "https://madie.cms.gov/Measure/DiabetesEyeExamFHIR",
"identifier" : [
{
"use" : "usual",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "short-name"
}
]
},
"system" : "https://madie.cms.gov/measure/shortName",
"value" : "CMS131FHIR"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "version-independent"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:459c51f4-3477-4d0f-a99f-f56756c16504"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "version-specific"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:d730c364-f077-4fab-8514-2d962e7f1527"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "publisher"
}
]
},
"system" : "https://madie.cms.gov/measure/cmsId",
"value" : "131FHIR",
"assigner" : {
"display" : "CMS"
}
}
],
"version" : "0.0.002",
"name" : "DiabetesEyeExamFHIR",
"title" : "Diabetes: Eye ExamFHIR",
"status" : "draft",
"experimental" : false,
"date" : "2024-07-09T14:53:54+00:00",
"publisher" : "National Committee for Quality Assurance",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "https://www.ncqa.org/"
}
]
}
],
"description" : "Percentage of patients 18-75 years of age with diabetes and an active diagnosis of retinopathy in any part of the measurement period who had a retinal or dilated eye exam by an eye care professional during the measurement period or diabetics with no diagnosis of retinopathy in any part of the measurement period who had a retinal or dilated eye exam by an eye care professional during the measurement period or in the 12 months prior to the measurement period",
"purpose" : "UNKNOWN",
"usage" : "The eye exam must be performed by an ophthalmologist or optometrist, or there must be evidence that fundus photography results were read by a system that provides an artificial intelligence (AI) interpretation. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure: CMS131v13. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).",
"copyright" : "This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. Some measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2024 World Health Organization. All Rights Reserved. Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product. “HL7” is the registered trademark of Health Level Seven International.",
"effectivePeriod" : {
"start" : "2025-01-01",
"end" : "2025-12-31"
},
"author" : [
{
"name" : "National Committee for Quality Assurance",
"telecom" : [
{
"system" : "url",
"value" : "https://www.ncqa.org/"
}
]
}
],
"library" : [
🔗 "https://madie.cms.gov/Library/DiabetesEyeExamFHIR"
],
"disclaimer" : "The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].",
"rationale" : "Diabetes is the seventh leading cause of death in the United States (Centers for Disease Control and Prevention [CDC], 2022a). In 2019, diabetes affected more than 37 million Americans (11.3 percent of the U.S. population) and killed more than 87,000 people (American Diabetes Association [ADA], 2022a). Diabetes is a long-lasting disease marked by high blood glucose levels, resulting from the body's inability to produce or use insulin properly (CDC, 2022a). People with diabetes are at increased risk of serious health complications including vision loss, heart disease, stroke, kidney damage, amputation of feet or legs, and premature death (CDC, 2022b). In 2017, diabetes cost the U.S. an estimated $327 billion: $237 billion in direct medical costs and $90 billion in reduced productivity. This is a 34 percent increase from the estimated $245 billion spent on diabetes in 2012 (ADA, 2018). Diabetic retinopathy is progressive damage to the small blood vessels in the retina that may result in loss of vision. It is the leading cause of blindness in adults between 20-74 years of age. Approximately 4.1 million adults are affected by diabetic retinopathy (CDC, 2020).",
"clinicalRecommendationStatement" : "American Diabetes Association (2023): - Adults with type 1 diabetes should have an initial dilated and comprehensive eye examination by an ophthalmologist or optometrist within 5 years after the onset of diabetes. (Level of evidence: B) - Patients with type 2 diabetes should have an initial dilated and comprehensive eye examination by an ophthalmologist or optometrist at the time of the diabetes diagnosis. (Level of evidence: B) - If there is no evidence of retinopathy for one or more annual eye exams and glycemia is well controlled, then screening every 1–2 years may be considered. If any level of diabetic retinopathy is present, subsequent dilated retinal examinations should be repeated at least annually by an ophthalmologist or optometrist. If retinopathy is progressing or sight threatening, then examinations will be required more frequently. (Level of evidence: B)",
"group" : [
{
"id" : "661d83160f0a9077c1d5a547",
"extension" : [
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis",
"valueCode" : "boolean"
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-type",
"code" : "process",
"display" : "Process"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation",
"valueCode" : "None"
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
"code" : "decrease",
"display" : "increase"
}
]
}
}
],
"population" : [
{
"id" : "09B959A8-5007-435B-A107-AC0D91F8AC19",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"description" : "Patients 18-75 years of age by the end of the measurement period, with diabetes with a visit during the measurement period",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "077EECBD-AA7A-4B03-A3C8-BDCD664F93C8",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator",
"display" : "Denominator"
}
]
},
"description" : "Equals Initial Population",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "81932DE1-4819-46D7-B907-E60460A3AD94",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator-exclusion",
"display" : "Denominator Exclusion"
}
]
},
"description" : "Exclude patients who are in hospice care for any part of the measurement period. Exclude patients 66 and older by the end of the measurement period with an indication of frailty for any part of the measurement period who also meet any of the following advanced illness criteria: - Advanced illness diagnosis during the measurement period or the year prior - OR taking dementia medications during the measurement period or the year prior Exclude patients 66 and older by the end of the measurement period who are living long term in a nursing home any time on or before the end of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exclusions"
}
},
{
"id" : "2C9431F7-C001-4CF4-B73D-7EE0634FE9CB",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"description" : "Patients with an eye screening for diabetic retinal disease. This includes diabetics who had one of the following: - Diabetic with a diagnosis of retinopathy in any part of the measurement period and a retinal or dilated eye exam by an eye care professional in the measurement period - Diabetic with no diagnosis of retinopathy in any part of the measurement period and a retinal or dilated eye exam by an eye care professional in the measurement period or the year prior to the measurement period",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
]
}
]
}