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-12-18 |
{
"resourceType" : "Measure",
"id" : "FunctionalStatusAssessmentsforHeartFailureFHIR",
"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;\">Functional Status Assessments for Heart FailureFHIR</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.1.000</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-FunctionalStatusAssessmentsforHeartFailureFHIR.html\">Functional Status Assessments for Heart FailureFHIR</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>CMS90FHIR</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:54792d38-7ad9-459c-b209-91b8915ab7ac</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:e1455c1f-ab8a-4337-86ad-903576c55d4e</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>90FHIR</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;\">Centers for Medicare & Medicaid Services (CMS)</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 years of age and older with heart failure who completed initial and follow-up patient-reported functional status assessments</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>Copyright\tThis Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). CMS contracted (Contract HHSP23320095627WC; HHSP23337008T) with the National Committee for Quality Assurance (NCQA) to develop this electronic measure. 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.</p>\n<p>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.</p>\n<p>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.</p>\n<p>The American Dental Association (“ADA”) holds a copyright to the Current Dental Terminology (“CDT”) codes contained in certain measure specifications. The CDT codes in the measure specifications are included with the permission of the ADA. All uses of the CDT codes require a license from the ADA. No alteration, amendments, or modifications of the CDT or any portion thereof is allowed. Resale, transmission, or distribution of copies of the CDT or other portions of the CDT is also not allowed. To inquire about licensing, contact CDT-SNODENT@ada.org.</p>\n<p>The 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.</p>\n<p>This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.</p>\n<p>ICD-10 copyright 2024 World Health Organization. All Rights Reserved.</p>\n<p>“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.</p>\n<p>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 <tr>\n <th scope=\"row\"><b>Scoring: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion </span>\n </p>\n \n \n \n </td>\n </tr>\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>Patients living with heart failure often have poor functional status and health-related quality of life, which declines as the disease progresses (Allen et al., 2012). In addition, their care is often complicated by multiple comorbidities. To assist in managing these complex patients, the American College of Cardiology Foundation and American Heart Association recommend collecting initial and repeat assessments of a patient's function and ability to complete desired activities of daily living (Hunt et al., 2009). The American Heart Association also released scientific statements emphasizing the collection of patient-reported health status (for example, functional limitations, symptom burden, quality of life) from heart failure patients as an important means of establishing a dynamic conversation between patient and provider regarding care goals and the patient's priorities (Allen et al., 2012; Rumsfeld et al., 2013).</p>\n<p>The most recent update to clinical guidelines by the American Heart Association, the American College of Cardiology, and the Heart Failure Society of America further emphasizes that better understanding of symptom burden and prognosis may improve the quality of treatment decisions. The guideline also indicates that routine assessment can facilitate population health management by identifying high-risk patients needing closer monitoring or referral to specialized centers and that patient-reported health status assessment increases the patient’s role in care, which can motivate initiation and uptake of medical therapy (Heidenreich et al., 2022).</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>The American Heart Association, the American College of Cardiology, and the Heart Failure Society of America (2022):\nThis guideline provides patient-centric recommendations for clinicians to prevent, diagnose, and manage patients with heart failure and specifically recommends assessing patient-reported health status using a validated questionnaire to provide incremental information for patient functional status, symptom burden, and prognosis. Tools specifically recommended in the guideline are as follows:</p>\n<ul>\n<li>The Kansas City Cardiomyopathy Questionnaire or,</li>\n<li>The Minnesota Living with Heart Failure Questionnaire</li>\n<li>PROMIS-Plus-HF [Patient Reported Outcomes Measurement Information System Plus-Heart Failure]</li>\n</ul>\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;\">Initial functional status assessment (FSA) and encounter: The initial FSA is an FSA that occurs within two weeks before or during an encounter, in the 180 days or more before the end of the measurement period.\n\nFollow-up FSA: The follow-up FSA must be completed at least 30 days but no more than 180 days after the initial FSA.\n\nThe same FSA instrument must be used for the initial and follow-up assessment.\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure: CMS90v14.\n\nPlease refer to the HL7 QI-Core Implementation Guide (http://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 (http://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>654a6f0e78418140875e3610</b></th>\n </tr>\n \n \n <tr>\n <td>Initial Population:</td>\n\n \n \n <td>Patients 18 years of age and older who had two outpatient encounters during the measurement period and a diagnosis of heart failure that starts any time before and continues into 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.\n\nExclude patients with severe cognitive impairment in 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 patient-reported functional status assessment results (i.e., Veterans RAND 12-item health survey [VR-12]; VR-36; Kansas City Cardiomyopathy Questionnaire [KCCQ]; KCCQ-12; Minnesota Living with Heart Failure Questionnaire [MLHFQ]; Patient-Reported Outcomes Measurement Information System [PROMIS]-10 Global Health; PROMIS-29) present in the EHR within two weeks before or during the initial FSA encounter and results for the follow-up FSA at least 30 days but no more than 180 days after the initial FSA</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-FunctionalStatusAssessmentsforHeartFailureFHIR.html\">FunctionalStatusAssessmentsforHeartFailureFHIR</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/Status|1.8.000</code></li>\n \n <li><code>Library/QICoreCommon|2.1.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><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</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=\"http://hl7.org/fhir/R4/codesystem-snomedct.html\">SNOMED CT (all versions)</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.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.101.12.1089/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.376/expansion\">Heart Failure</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 </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>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>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 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 status\n \n status.value\n \n period\n \n </td>\n <td>\n \n \n Virtual 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.1089/expansion\">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089</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>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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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>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 Heart Failure\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.376/expansion\">Heart Failure</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 </td>\n <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 </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>survey</td>\n <td>survey</td>\n <td><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">http://terminology.hl7.org/CodeSystem/observation-category</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-10 Global Mental Health (GMH) score T-score</td>\n <td>71969-0</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-10 Global Physical Health (GPH) score T-score</td>\n <td>71971-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Sleep disturbance score T-score</td>\n <td>71955-9</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Satisfaction with participation in social roles score T-score</td>\n <td>71957-5</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Physical function score T-score</td>\n <td>71959-1</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Pain interference score T-score</td>\n <td>71961-7</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Fatigue score T-score</td>\n <td>71963-3</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Depression score T-score</td>\n <td>71965-8</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>PROMIS-29 Anxiety score T-score</td>\n <td>71967-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-12 Mental component summary (MCS) score - oblique method T-score</td>\n <td>72026-8</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-12 Physical component summary (PCS) score - oblique method T-score</td>\n <td>72025-0</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-12 Mental component summary (MCS) score - orthogonal method T-score</td>\n <td>72028-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-12 Physical component summary (PCS) score - orthogonal method T-score</td>\n <td>72027-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-36 Mental component summary (MCS) score - oblique method T-score</td>\n <td>71990-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-36 Physical component summary (PCS) score - oblique method T-score</td>\n <td>71989-8</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-36 Mental component summary (MCS) score - orthogonal method T-score</td>\n <td>72008-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>VR-36 Physical component summary (PCS) score - orthogonal method T-score</td>\n <td>72007-8</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Physical score [MLHFQ]</td>\n <td>85618-7</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Emotional score [MLHFQ]</td>\n <td>85609-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Kansas City Cardiomyopathy Questionnaire - 12 item [KCCQ-12]</td>\n <td>86923-0</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Overall summary score [KCCQ-12]</td>\n <td>86924-8</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Quality of life score [KCCQ]</td>\n <td>72189-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Symptom stability score [KCCQ]</td>\n <td>72194-4</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Self-efficacy score [KCCQ]</td>\n <td>72190-2</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Total symptom score [KCCQ]</td>\n <td>72191-0</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Physical limitation score [KCCQ]</td>\n <td>72195-1</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Social limitation score [KCCQ]</td>\n <td>72196-9</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Overall summary score [KCCQ]</td>\n <td>71940-1</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</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=\"https://browser.ihtsdotools.org/\">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=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Yes (qualifier value)</td>\n <td>373066001</td>\n <td><a href=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</a></td>\n </tr>\n \n <tr>\n <td>Hospice care [Minimum Data Set]</td>\n <td>45755-6</td>\n <td><a href=\"https://loinc.org/\">http://loinc.org</a></td>\n </tr>\n \n <tr>\n <td>Severe cognitive impairment (finding)</td>\n <td>702956004</td>\n <td><a href=\"https://browser.ihtsdotools.org/\">http://snomed.info/sct</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> 654a6f0e78418140875e3610 </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 <b>Measure scoring:</b>\n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion</span>\n </p>\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 start of "Measurement Period") >= 18\n and exists ( ( [Condition: "Heart Failure"] ) HeartFailure\n where HeartFailure.prevalenceInterval ( ) overlaps before "Measurement Period"\n )\n and exists ( "Two Outpatient Encounters during Measurement Period" )</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 exists ( ( [Condition: "Severe cognitive impairment (finding)"] ) SevereCognitiveImpairment\n where SevereCognitiveImpairment.prevalenceInterval ( ) overlaps "Measurement Period"\n )</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 ( "Has Encounter with Initial and Follow Up PROMIS10 Assessments" )\n or ( "Has Encounter with Initial and Follow Up PROMIS29 Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR12 Oblique Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR36 Oblique Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments" )\n or ( "Has Encounter with Initial and Follow Up MLHFQ Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ12 Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ Total Score Assessments" )</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>FunctionalStatusAssessmentsforHeartFailureFHIR</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: "Telephone Visits"]\n union [Encounter: "Virtual Encounter"]\n ).isEncounterPerformed ( ) ) ValidEncounter\n where ValidEncounter.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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date PROMIS10 Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date PROMIS10 Total Assessment Completed":\n from\n ( ( [Observation: "PROMIS-10 Global Mental Health (GMH) score T-score"] ).isAssessmentPerformed ( ) ) PROMIS10MentalScore,\n ( ( [Observation: "PROMIS-10 Global Physical Health (GPH) score T-score"] ).isAssessmentPerformed ( ) ) PROMIS10PhysicalScore\n let PROMIS10MentalScoreDate: date from start of PROMIS10MentalScore.effective.toInterval ( ),\n PROMIS10PhysicalScoreDate: date from start of PROMIS10PhysicalScore.effective.toInterval ( )\n where PROMIS10MentalScoreDate same day as PROMIS10PhysicalScoreDate\n and PROMIS10MentalScore.value is not null\n and PROMIS10PhysicalScore.value is not null\n return PROMIS10MentalScoreDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up PROMIS10 Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up PROMIS10 Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date PROMIS10 Total Assessment Completed" InitialPROMIS10Date,\n "Date PROMIS10 Total Assessment Completed" FollowupPROMIS10Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialPROMIS10Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupPROMIS10Date during day of Interval[date from InitialPROMIS10Date + 30 days, date from InitialPROMIS10Date + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date PROMIS29 Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date PROMIS29 Total Assessment Completed":\n from\n ( ( [Observation: "PROMIS-29 Sleep disturbance score T-score"] ).isAssessmentPerformed ( ) ) Promis29Sleep,\n ( ( [Observation: "PROMIS-29 Satisfaction with participation in social roles score T-score"] ).isAssessmentPerformed ( ) ) Promis29SocialRoles,\n ( ( [Observation: "PROMIS-29 Physical function score T-score"] ).isAssessmentPerformed ( ) ) Promis29Physical,\n ( ( [Observation: "PROMIS-29 Pain interference score T-score"] ).isAssessmentPerformed ( ) ) Promis29Pain,\n ( ( [Observation: "PROMIS-29 Fatigue score T-score"] ).isAssessmentPerformed ( ) ) Promis29Fatigue,\n ( ( [Observation: "PROMIS-29 Depression score T-score"] ).isAssessmentPerformed ( ) ) Promis29Depression,\n ( ( [Observation: "PROMIS-29 Anxiety score T-score"] ).isAssessmentPerformed ( ) ) Promis29Anxiety\n let Promis29SleepDate: date from start of Promis29Sleep.effective.toInterval ( ),\n Promis29SocialRolesDate: date from start of Promis29SocialRoles.effective.toInterval ( ),\n Promis29PhysicalDate: date from start of Promis29Physical.effective.toInterval ( ),\n Promis29PainDate: date from start of Promis29Pain.effective.toInterval ( ),\n Promis29FatigueDate: date from start of Promis29Fatigue.effective.toInterval ( ),\n Promis29DepressionDate: date from start of Promis29Depression.effective.toInterval ( ),\n Promis29AnxietyDate: date from start of Promis29Anxiety.effective.toInterval ( )\n where Promis29SleepDate same day as Promis29SocialRolesDate\n and Promis29SocialRoles.value is not null\n and Promis29SleepDate same day as Promis29PhysicalDate\n and Promis29Physical.value is not null\n and Promis29SleepDate same day as Promis29PainDate\n and Promis29Pain.value is not null\n and Promis29SleepDate same day as Promis29FatigueDate\n and Promis29Fatigue.value is not null\n and Promis29SleepDate same day as Promis29DepressionDate\n and Promis29Depression.value is not null\n and Promis29SleepDate same day as Promis29AnxietyDate\n and Promis29Anxiety.value is not null\n and Promis29Sleep.value is not null\n return Promis29SleepDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up PROMIS29 Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up PROMIS29 Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date PROMIS29 Total Assessment Completed" InitialPROMIS29Date,\n "Date PROMIS29 Total Assessment Completed" FollowupPROMIS29Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialPROMIS29Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupPROMIS29Date during day of Interval[date from InitialPROMIS29Date + 30 days, date from InitialPROMIS29Date + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date VR12 Oblique Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date VR12 Oblique Total Assessment Completed":\n from\n ( ( [Observation: "VR-12 Mental component summary (MCS) score - oblique method T-score"] ).isAssessmentPerformed ( ) ) VR12MentalAssessment,\n ( ( [Observation: "VR-12 Physical component summary (PCS) score - oblique method T-score"] ).isAssessmentPerformed ( ) ) VR12PhysicalAssessment\n let VR12MentalAssessmentDate: date from start of VR12MentalAssessment.effective.toInterval ( ),\n VR12PhysicalAssessmentDate: date from start of VR12PhysicalAssessment.effective.toInterval ( )\n where VR12MentalAssessmentDate same day as VR12PhysicalAssessmentDate\n and VR12MentalAssessment.value is not null\n and VR12PhysicalAssessment.value is not null\n return VR12MentalAssessmentDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up VR12 Oblique Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up VR12 Oblique Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date VR12 Oblique Total Assessment Completed" InitialVR12ObliqueDate,\n "Date VR12 Oblique Total Assessment Completed" FollowupVR12ObliqueDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialVR12ObliqueDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR12ObliqueDate during day of Interval[date from InitialVR12ObliqueDate + 30 days, date from InitialVR12ObliqueDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date VR12 Orthogonal Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date VR12 Orthogonal Total Assessment Completed":\n from\n ( ( [Observation: "VR-12 Mental component summary (MCS) score - orthogonal method T-score"] ).isAssessmentPerformed ( ) ) VR12MentalAssessment,\n ( ( [Observation: "VR-12 Physical component summary (PCS) score - orthogonal method T-score"] ).isAssessmentPerformed ( ) ) VR12PhysicalAssessment\n let VR12MentalAssessmentDate: date from start of VR12MentalAssessment.effective.toInterval ( ),\n VR12PhysicalAssessmentDate: date from start of VR12PhysicalAssessment.effective.toInterval ( )\n where VR12MentalAssessmentDate same day as VR12PhysicalAssessmentDate\n and VR12MentalAssessment.value is not null\n and VR12PhysicalAssessment.value is not null\n return VR12MentalAssessmentDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date VR12 Orthogonal Total Assessment Completed" InitialVR12OrthogonalDate,\n "Date VR12 Orthogonal Total Assessment Completed" FollowupVR12OrthogonalDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialVR12OrthogonalDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR12OrthogonalDate during day of Interval[date from InitialVR12OrthogonalDate + 30 days, date from InitialVR12OrthogonalDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date VR36 Oblique Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date VR36 Oblique Total Assessment Completed":\n from\n ( ( [Observation: "VR-36 Mental component summary (MCS) score - oblique method T-score"] ).isAssessmentPerformed ( ) ) VR36MentalAssessment,\n ( ( [Observation: "VR-36 Physical component summary (PCS) score - oblique method T-score"] ).isAssessmentPerformed ( ) ) VR36PhysicalAssessment\n let VR36MentalAssessmentDate: date from start of VR36MentalAssessment.effective.toInterval ( ),\n VR36PhysicalAssessmentDate: date from start of VR36PhysicalAssessment.effective.toInterval ( )\n where VR36MentalAssessmentDate same day as VR36PhysicalAssessmentDate\n and VR36MentalAssessment.value is not null\n and VR36PhysicalAssessment.value is not null\n return VR36MentalAssessmentDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up VR36 Oblique Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up VR36 Oblique Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date VR36 Oblique Total Assessment Completed" InitialVR36ObliqueDate,\n "Date VR36 Oblique Total Assessment Completed" FollowupVR36ObliqueDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialVR36ObliqueDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR36ObliqueDate during day of Interval[date from InitialVR36ObliqueDate + 30 days, date from InitialVR36ObliqueDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date VR36 Orthogonal Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date VR36 Orthogonal Total Assessment Completed":\n from\n ( ( [Observation: "VR-36 Mental component summary (MCS) score - orthogonal method T-score"] ).isAssessmentPerformed ( ) ) VR36MentalAssessment,\n ( ( [Observation: "VR-36 Physical component summary (PCS) score - orthogonal method T-score"] ).isAssessmentPerformed ( ) ) VR36PhysicalAssessment\n let VR36MentalAssessmentDate: date from start of VR36MentalAssessment.effective.toInterval ( ),\n VR36PhysicalAssessmentDate: date from start of VR36PhysicalAssessment.effective.toInterval ( )\n where VR36MentalAssessmentDate same day as VR36PhysicalAssessmentDate\n and VR36MentalAssessment.value is not null\n and VR36PhysicalAssessment.value is not null\n return VR36MentalAssessmentDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date VR36 Orthogonal Total Assessment Completed" InitialVR36OrthogonalDate,\n "Date VR36 Orthogonal Total Assessment Completed" FollowupVR36OrthogonalDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialVR36OrthogonalDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR36OrthogonalDate during day of Interval[date from InitialVR36OrthogonalDate + 30 days, date from InitialVR36OrthogonalDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date MLHFQ Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date MLHFQ Total Assessment Completed":\n from\n ( ( [Observation: "Physical score [MLHFQ]"] ).isAssessmentPerformed ( ) ) MLHFQPhysical,\n ( ( [Observation: "Emotional score [MLHFQ]"] ).isAssessmentPerformed ( ) ) MLHFQEmotional\n let MLHFQPhysicalDate: date from start of MLHFQPhysical.effective.toInterval ( ),\n MLHFQEmotionalDate: date from start of MLHFQEmotional.effective.toInterval ( )\n where MLHFQPhysicalDate same day as MLHFQEmotionalDate\n and MLHFQPhysical.value is not null\n and MLHFQEmotional.value is not null\n return MLHFQPhysicalDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up MLHFQ Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up MLHFQ Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date MLHFQ Total Assessment Completed" InitialMLHFQDate,\n "Date MLHFQ Total Assessment Completed" FollowupMLHFQDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialMLHFQDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupMLHFQDate during day of Interval[date from InitialMLHFQDate + 30 days, date from InitialMLHFQDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date KCCQ12 Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date KCCQ12 Total Assessment Completed":\n from\n ( ( [Observation: "Kansas City Cardiomyopathy Questionnaire - 12 item [KCCQ-12]"] ).isAssessmentPerformed ( ) ) KCCQ12Item,\n ( ( [Observation: "Overall summary score [KCCQ-12]"] ).isAssessmentPerformed ( ) ) KCCQ12Summary\n let KCCQ12ItemDate: date from start of KCCQ12Item.effective.toInterval ( ),\n KCCQ12SummaryDate: date from start of KCCQ12Summary.effective.toInterval ( )\n where KCCQ12ItemDate same day as KCCQ12SummaryDate\n and KCCQ12Item.value is not null\n and KCCQ12Summary.value is not null\n return KCCQ12ItemDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up KCCQ12 Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up KCCQ12 Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date KCCQ12 Total Assessment Completed" InitialKCCQ12Date,\n "Date KCCQ12 Total Assessment Completed" FollowupKCCQ12Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialKCCQ12Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQ12Date during day of Interval[date from InitialKCCQ12Date + 30 days, date from InitialKCCQ12Date + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date KCCQ Domain Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date KCCQ Domain Assessment Completed":\n from\n ( ( [Observation: "Quality of life score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQLifeQuality,\n ( ( [Observation: "Symptom stability score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQSymptomStability,\n ( ( [Observation: "Self-efficacy score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQSelfEfficacy,\n ( ( [Observation: "Total symptom score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQSymptoms,\n ( ( [Observation: "Physical limitation score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQPhysicalLimits,\n ( ( [Observation: "Social limitation score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQSocialLimits\n let KCCQLifeQualityDate: date from start of KCCQLifeQuality.effective.toInterval ( ),\n KCCQSymptomStabilityDate: date from start of KCCQSymptomStability.effective.toInterval ( ),\n KCCQSelfEfficacyDate: date from start of KCCQSelfEfficacy.effective.toInterval ( ),\n KCCQSymptomsDate: date from start of KCCQSymptoms.effective.toInterval ( ),\n KCCQPhysicalLimitsDate: date from start of KCCQPhysicalLimits.effective.toInterval ( ),\n KCCQSocialLimitsDate: date from start of KCCQSocialLimits.effective.toInterval ( )\n where KCCQLifeQualityDate same day as KCCQSymptomStabilityDate\n and KCCQSymptomStability.value is not null\n and KCCQLifeQualityDate same day as KCCQSelfEfficacyDate\n and KCCQSelfEfficacy.value is not null\n and KCCQLifeQualityDate same day as KCCQSymptomsDate\n and KCCQSymptoms.value is not null\n and KCCQLifeQualityDate same day as KCCQPhysicalLimitsDate\n and KCCQPhysicalLimits.value is not null\n and KCCQLifeQualityDate same day as KCCQSocialLimitsDate\n and KCCQSocialLimits.value is not null\n and KCCQLifeQuality.value is not null\n return KCCQLifeQualityDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date KCCQ Domain Assessment Completed" InitialKCCQAssessmentDate,\n "Date KCCQ Domain Assessment Completed" FollowupKCCQAssessmentDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialKCCQAssessmentDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQAssessmentDate during day of Interval[date from InitialKCCQAssessmentDate + 30 days, date from InitialKCCQAssessmentDate + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Date KCCQ Total Assessment Completed</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Date KCCQ Total Assessment Completed":\n ( ( [Observation: "Overall summary score [KCCQ]"] ).isAssessmentPerformed ( ) ) KCCQSummaryScore\n let KCCQSummaryScoreDate: date from start of KCCQSummaryScore.effective.toInterval ( )\n where KCCQSummaryScore.value is not null\n return KCCQSummaryScoreDate</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Has Encounter with Initial and Follow Up KCCQ Total Score Assessments</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Has Encounter with Initial and Follow Up KCCQ Total Score Assessments":\n exists ( from\n "Qualifying Encounters" ValidEncounters,\n "Date KCCQ Total Assessment Completed" InitialKCCQTotalScore,\n "Date KCCQ Total Assessment Completed" FollowupKCCQTotalScore\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of "Measurement Period"\n and InitialKCCQTotalScore 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQTotalScore during day of Interval[date from InitialKCCQTotalScore + 30 days, date from InitialKCCQTotalScore + 180 days]\n return ValidEncounters\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>FunctionalStatusAssessmentsforHeartFailureFHIR</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 ( "Has Encounter with Initial and Follow Up PROMIS10 Assessments" )\n or ( "Has Encounter with Initial and Follow Up PROMIS29 Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR12 Oblique Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR36 Oblique Assessments" )\n or ( "Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments" )\n or ( "Has Encounter with Initial and Follow Up MLHFQ Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ12 Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments" )\n or ( "Has Encounter with Initial and Follow Up KCCQ Total Score Assessments" )</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>FunctionalStatusAssessmentsforHeartFailureFHIR</td>\n \n \n <td>Two Outpatient Encounters 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 "Two Outpatient Encounters during Measurement Period":\n from\n "Qualifying Encounters" OfficeVisit1,\n "Qualifying Encounters" OfficeVisit2\n where OfficeVisit2.period.toInterval ( ) starts 1 day or more after day of end of OfficeVisit1.period.toInterval ( )\n return OfficeVisit1</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>FunctionalStatusAssessmentsforHeartFailureFHIR</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 start of "Measurement Period") >= 18\n and exists ( ( [Condition: "Heart Failure"] ) HeartFailure\n where HeartFailure.prevalenceInterval ( ) overlaps before "Measurement Period"\n )\n and exists ( "Two Outpatient Encounters during 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>FunctionalStatusAssessmentsforHeartFailureFHIR</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>FunctionalStatusAssessmentsforHeartFailureFHIR</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 exists ( ( [Condition: "Severe cognitive impairment (finding)"] ) SevereCognitiveImpairment\n where SevereCognitiveImpairment.prevalenceInterval ( ) overlaps "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>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>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>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>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 </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" : "survey",
"display" : "survey"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71969-0",
"display" : "PROMIS-10 Global Mental Health (GMH) score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71971-6",
"display" : "PROMIS-10 Global Physical Health (GPH) score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71955-9",
"display" : "PROMIS-29 Sleep disturbance score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71957-5",
"display" : "PROMIS-29 Satisfaction with participation in social roles score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71959-1",
"display" : "PROMIS-29 Physical function score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71961-7",
"display" : "PROMIS-29 Pain interference score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71963-3",
"display" : "PROMIS-29 Fatigue score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71965-8",
"display" : "PROMIS-29 Depression score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71967-4",
"display" : "PROMIS-29 Anxiety score T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72026-8",
"display" : "VR-12 Mental component summary (MCS) score - oblique method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72025-0",
"display" : "VR-12 Physical component summary (PCS) score - oblique method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72028-4",
"display" : "VR-12 Mental component summary (MCS) score - orthogonal method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72027-6",
"display" : "VR-12 Physical component summary (PCS) score - orthogonal method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71990-6",
"display" : "VR-36 Mental component summary (MCS) score - oblique method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71989-8",
"display" : "VR-36 Physical component summary (PCS) score - oblique method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72008-6",
"display" : "VR-36 Mental component summary (MCS) score - orthogonal method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72007-8",
"display" : "VR-36 Physical component summary (PCS) score - orthogonal method T-score"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "85618-7",
"display" : "Physical score [MLHFQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "85609-6",
"display" : "Emotional score [MLHFQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "86923-0",
"display" : "Kansas City Cardiomyopathy Questionnaire - 12 item [KCCQ-12]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "86924-8",
"display" : "Overall summary score [KCCQ-12]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72189-4",
"display" : "Quality of life score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72194-4",
"display" : "Symptom stability score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72190-2",
"display" : "Self-efficacy score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72191-0",
"display" : "Total symptom score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72195-1",
"display" : "Physical limitation score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "72196-9",
"display" : "Social limitation score [KCCQ]"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://loinc.org",
"code" : "71940-1",
"display" : "Overall summary score [KCCQ]"
}
},
{
"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://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" : "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" : "702956004",
"display" : "Severe cognitive impairment (finding)"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Qualifying Encounters"
},
{
"url" : "statement",
"valueString" : "define \"Qualifying Encounters\":\n ( ( [Encounter: \"Office Visit\"]\n union [Encounter: \"Telephone Visits\"]\n union [Encounter: \"Virtual Encounter\"]\n ).isEncounterPerformed ( ) ) ValidEncounter\n where ValidEncounter.period.toInterval ( ) during day of \"Measurement Period\""
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date PROMIS10 Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date PROMIS10 Total Assessment Completed\":\n from\n ( ( [Observation: \"PROMIS-10 Global Mental Health (GMH) score T-score\"] ).isAssessmentPerformed ( ) ) PROMIS10MentalScore,\n ( ( [Observation: \"PROMIS-10 Global Physical Health (GPH) score T-score\"] ).isAssessmentPerformed ( ) ) PROMIS10PhysicalScore\n let PROMIS10MentalScoreDate: date from start of PROMIS10MentalScore.effective.toInterval ( ),\n PROMIS10PhysicalScoreDate: date from start of PROMIS10PhysicalScore.effective.toInterval ( )\n where PROMIS10MentalScoreDate same day as PROMIS10PhysicalScoreDate\n and PROMIS10MentalScore.value is not null\n and PROMIS10PhysicalScore.value is not null\n return PROMIS10MentalScoreDate"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up PROMIS10 Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up PROMIS10 Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date PROMIS10 Total Assessment Completed\" InitialPROMIS10Date,\n \"Date PROMIS10 Total Assessment Completed\" FollowupPROMIS10Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialPROMIS10Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupPROMIS10Date during day of Interval[date from InitialPROMIS10Date + 30 days, date from InitialPROMIS10Date + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date PROMIS29 Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date PROMIS29 Total Assessment Completed\":\n from\n ( ( [Observation: \"PROMIS-29 Sleep disturbance score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Sleep,\n ( ( [Observation: \"PROMIS-29 Satisfaction with participation in social roles score T-score\"] ).isAssessmentPerformed ( ) ) Promis29SocialRoles,\n ( ( [Observation: \"PROMIS-29 Physical function score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Physical,\n ( ( [Observation: \"PROMIS-29 Pain interference score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Pain,\n ( ( [Observation: \"PROMIS-29 Fatigue score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Fatigue,\n ( ( [Observation: \"PROMIS-29 Depression score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Depression,\n ( ( [Observation: \"PROMIS-29 Anxiety score T-score\"] ).isAssessmentPerformed ( ) ) Promis29Anxiety\n let Promis29SleepDate: date from start of Promis29Sleep.effective.toInterval ( ),\n Promis29SocialRolesDate: date from start of Promis29SocialRoles.effective.toInterval ( ),\n Promis29PhysicalDate: date from start of Promis29Physical.effective.toInterval ( ),\n Promis29PainDate: date from start of Promis29Pain.effective.toInterval ( ),\n Promis29FatigueDate: date from start of Promis29Fatigue.effective.toInterval ( ),\n Promis29DepressionDate: date from start of Promis29Depression.effective.toInterval ( ),\n Promis29AnxietyDate: date from start of Promis29Anxiety.effective.toInterval ( )\n where Promis29SleepDate same day as Promis29SocialRolesDate\n and Promis29SocialRoles.value is not null\n and Promis29SleepDate same day as Promis29PhysicalDate\n and Promis29Physical.value is not null\n and Promis29SleepDate same day as Promis29PainDate\n and Promis29Pain.value is not null\n and Promis29SleepDate same day as Promis29FatigueDate\n and Promis29Fatigue.value is not null\n and Promis29SleepDate same day as Promis29DepressionDate\n and Promis29Depression.value is not null\n and Promis29SleepDate same day as Promis29AnxietyDate\n and Promis29Anxiety.value is not null\n and Promis29Sleep.value is not null\n return Promis29SleepDate"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up PROMIS29 Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up PROMIS29 Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date PROMIS29 Total Assessment Completed\" InitialPROMIS29Date,\n \"Date PROMIS29 Total Assessment Completed\" FollowupPROMIS29Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialPROMIS29Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupPROMIS29Date during day of Interval[date from InitialPROMIS29Date + 30 days, date from InitialPROMIS29Date + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date VR12 Oblique Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date VR12 Oblique Total Assessment Completed\":\n from\n ( ( [Observation: \"VR-12 Mental component summary (MCS) score - oblique method T-score\"] ).isAssessmentPerformed ( ) ) VR12MentalAssessment,\n ( ( [Observation: \"VR-12 Physical component summary (PCS) score - oblique method T-score\"] ).isAssessmentPerformed ( ) ) VR12PhysicalAssessment\n let VR12MentalAssessmentDate: date from start of VR12MentalAssessment.effective.toInterval ( ),\n VR12PhysicalAssessmentDate: date from start of VR12PhysicalAssessment.effective.toInterval ( )\n where VR12MentalAssessmentDate same day as VR12PhysicalAssessmentDate\n and VR12MentalAssessment.value is not null\n and VR12PhysicalAssessment.value is not null\n return VR12MentalAssessmentDate"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up VR12 Oblique Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up VR12 Oblique Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date VR12 Oblique Total Assessment Completed\" InitialVR12ObliqueDate,\n \"Date VR12 Oblique Total Assessment Completed\" FollowupVR12ObliqueDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialVR12ObliqueDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR12ObliqueDate during day of Interval[date from InitialVR12ObliqueDate + 30 days, date from InitialVR12ObliqueDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date VR12 Orthogonal Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date VR12 Orthogonal Total Assessment Completed\":\n from\n ( ( [Observation: \"VR-12 Mental component summary (MCS) score - orthogonal method T-score\"] ).isAssessmentPerformed ( ) ) VR12MentalAssessment,\n ( ( [Observation: \"VR-12 Physical component summary (PCS) score - orthogonal method T-score\"] ).isAssessmentPerformed ( ) ) VR12PhysicalAssessment\n let VR12MentalAssessmentDate: date from start of VR12MentalAssessment.effective.toInterval ( ),\n VR12PhysicalAssessmentDate: date from start of VR12PhysicalAssessment.effective.toInterval ( )\n where VR12MentalAssessmentDate same day as VR12PhysicalAssessmentDate\n and VR12MentalAssessment.value is not null\n and VR12PhysicalAssessment.value is not null\n return VR12MentalAssessmentDate"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date VR12 Orthogonal Total Assessment Completed\" InitialVR12OrthogonalDate,\n \"Date VR12 Orthogonal Total Assessment Completed\" FollowupVR12OrthogonalDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialVR12OrthogonalDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR12OrthogonalDate during day of Interval[date from InitialVR12OrthogonalDate + 30 days, date from InitialVR12OrthogonalDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date VR36 Oblique Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date VR36 Oblique Total Assessment Completed\":\n from\n ( ( [Observation: \"VR-36 Mental component summary (MCS) score - oblique method T-score\"] ).isAssessmentPerformed ( ) ) VR36MentalAssessment,\n ( ( [Observation: \"VR-36 Physical component summary (PCS) score - oblique method T-score\"] ).isAssessmentPerformed ( ) ) VR36PhysicalAssessment\n let VR36MentalAssessmentDate: date from start of VR36MentalAssessment.effective.toInterval ( ),\n VR36PhysicalAssessmentDate: date from start of VR36PhysicalAssessment.effective.toInterval ( )\n where VR36MentalAssessmentDate same day as VR36PhysicalAssessmentDate\n and VR36MentalAssessment.value is not null\n and VR36PhysicalAssessment.value is not null\n return VR36MentalAssessmentDate"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up VR36 Oblique Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up VR36 Oblique Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date VR36 Oblique Total Assessment Completed\" InitialVR36ObliqueDate,\n \"Date VR36 Oblique Total Assessment Completed\" FollowupVR36ObliqueDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialVR36ObliqueDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR36ObliqueDate during day of Interval[date from InitialVR36ObliqueDate + 30 days, date from InitialVR36ObliqueDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date VR36 Orthogonal Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date VR36 Orthogonal Total Assessment Completed\":\n from\n ( ( [Observation: \"VR-36 Mental component summary (MCS) score - orthogonal method T-score\"] ).isAssessmentPerformed ( ) ) VR36MentalAssessment,\n ( ( [Observation: \"VR-36 Physical component summary (PCS) score - orthogonal method T-score\"] ).isAssessmentPerformed ( ) ) VR36PhysicalAssessment\n let VR36MentalAssessmentDate: date from start of VR36MentalAssessment.effective.toInterval ( ),\n VR36PhysicalAssessmentDate: date from start of VR36PhysicalAssessment.effective.toInterval ( )\n where VR36MentalAssessmentDate same day as VR36PhysicalAssessmentDate\n and VR36MentalAssessment.value is not null\n and VR36PhysicalAssessment.value is not null\n return VR36MentalAssessmentDate"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date VR36 Orthogonal Total Assessment Completed\" InitialVR36OrthogonalDate,\n \"Date VR36 Orthogonal Total Assessment Completed\" FollowupVR36OrthogonalDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialVR36OrthogonalDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupVR36OrthogonalDate during day of Interval[date from InitialVR36OrthogonalDate + 30 days, date from InitialVR36OrthogonalDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date MLHFQ Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date MLHFQ Total Assessment Completed\":\n from\n ( ( [Observation: \"Physical score [MLHFQ]\"] ).isAssessmentPerformed ( ) ) MLHFQPhysical,\n ( ( [Observation: \"Emotional score [MLHFQ]\"] ).isAssessmentPerformed ( ) ) MLHFQEmotional\n let MLHFQPhysicalDate: date from start of MLHFQPhysical.effective.toInterval ( ),\n MLHFQEmotionalDate: date from start of MLHFQEmotional.effective.toInterval ( )\n where MLHFQPhysicalDate same day as MLHFQEmotionalDate\n and MLHFQPhysical.value is not null\n and MLHFQEmotional.value is not null\n return MLHFQPhysicalDate"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up MLHFQ Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up MLHFQ Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date MLHFQ Total Assessment Completed\" InitialMLHFQDate,\n \"Date MLHFQ Total Assessment Completed\" FollowupMLHFQDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialMLHFQDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupMLHFQDate during day of Interval[date from InitialMLHFQDate + 30 days, date from InitialMLHFQDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date KCCQ12 Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date KCCQ12 Total Assessment Completed\":\n from\n ( ( [Observation: \"Kansas City Cardiomyopathy Questionnaire - 12 item [KCCQ-12]\"] ).isAssessmentPerformed ( ) ) KCCQ12Item,\n ( ( [Observation: \"Overall summary score [KCCQ-12]\"] ).isAssessmentPerformed ( ) ) KCCQ12Summary\n let KCCQ12ItemDate: date from start of KCCQ12Item.effective.toInterval ( ),\n KCCQ12SummaryDate: date from start of KCCQ12Summary.effective.toInterval ( )\n where KCCQ12ItemDate same day as KCCQ12SummaryDate\n and KCCQ12Item.value is not null\n and KCCQ12Summary.value is not null\n return KCCQ12ItemDate"
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up KCCQ12 Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up KCCQ12 Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date KCCQ12 Total Assessment Completed\" InitialKCCQ12Date,\n \"Date KCCQ12 Total Assessment Completed\" FollowupKCCQ12Date\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialKCCQ12Date 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQ12Date during day of Interval[date from InitialKCCQ12Date + 30 days, date from InitialKCCQ12Date + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date KCCQ Domain Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date KCCQ Domain Assessment Completed\":\n from\n ( ( [Observation: \"Quality of life score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQLifeQuality,\n ( ( [Observation: \"Symptom stability score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQSymptomStability,\n ( ( [Observation: \"Self-efficacy score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQSelfEfficacy,\n ( ( [Observation: \"Total symptom score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQSymptoms,\n ( ( [Observation: \"Physical limitation score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQPhysicalLimits,\n ( ( [Observation: \"Social limitation score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQSocialLimits\n let KCCQLifeQualityDate: date from start of KCCQLifeQuality.effective.toInterval ( ),\n KCCQSymptomStabilityDate: date from start of KCCQSymptomStability.effective.toInterval ( ),\n KCCQSelfEfficacyDate: date from start of KCCQSelfEfficacy.effective.toInterval ( ),\n KCCQSymptomsDate: date from start of KCCQSymptoms.effective.toInterval ( ),\n KCCQPhysicalLimitsDate: date from start of KCCQPhysicalLimits.effective.toInterval ( ),\n KCCQSocialLimitsDate: date from start of KCCQSocialLimits.effective.toInterval ( )\n where KCCQLifeQualityDate same day as KCCQSymptomStabilityDate\n and KCCQSymptomStability.value is not null\n and KCCQLifeQualityDate same day as KCCQSelfEfficacyDate\n and KCCQSelfEfficacy.value is not null\n and KCCQLifeQualityDate same day as KCCQSymptomsDate\n and KCCQSymptoms.value is not null\n and KCCQLifeQualityDate same day as KCCQPhysicalLimitsDate\n and KCCQPhysicalLimits.value is not null\n and KCCQLifeQualityDate same day as KCCQSocialLimitsDate\n and KCCQSocialLimits.value is not null\n and KCCQLifeQuality.value is not null\n return KCCQLifeQualityDate"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date KCCQ Domain Assessment Completed\" InitialKCCQAssessmentDate,\n \"Date KCCQ Domain Assessment Completed\" FollowupKCCQAssessmentDate\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialKCCQAssessmentDate 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQAssessmentDate during day of Interval[date from InitialKCCQAssessmentDate + 30 days, date from InitialKCCQAssessmentDate + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Date KCCQ Total Assessment Completed"
},
{
"url" : "statement",
"valueString" : "define \"Date KCCQ Total Assessment Completed\":\n ( ( [Observation: \"Overall summary score [KCCQ]\"] ).isAssessmentPerformed ( ) ) KCCQSummaryScore\n let KCCQSummaryScoreDate: date from start of KCCQSummaryScore.effective.toInterval ( )\n where KCCQSummaryScore.value is not null\n return KCCQSummaryScoreDate"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Has Encounter with Initial and Follow Up KCCQ Total Score Assessments"
},
{
"url" : "statement",
"valueString" : "define \"Has Encounter with Initial and Follow Up KCCQ Total Score Assessments\":\n exists ( from\n \"Qualifying Encounters\" ValidEncounters,\n \"Date KCCQ Total Assessment Completed\" InitialKCCQTotalScore,\n \"Date KCCQ Total Assessment Completed\" FollowupKCCQTotalScore\n where ValidEncounters.period.toInterval ( ) ends 180 days or more before day of end of \"Measurement Period\"\n and InitialKCCQTotalScore 14 days or less on or before day of end of ValidEncounters.period.toInterval ( )\n and date from FollowupKCCQTotalScore during day of Interval[date from InitialKCCQTotalScore + 30 days, date from InitialKCCQTotalScore + 180 days]\n return ValidEncounters\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n ( \"Has Encounter with Initial and Follow Up PROMIS10 Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up PROMIS29 Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up VR12 Oblique Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up VR12 Orthogonal Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up VR36 Oblique Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up VR36 Orthogonal Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up MLHFQ Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up KCCQ12 Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up KCCQ Domain Score Assessments\" )\n or ( \"Has Encounter with Initial and Follow Up KCCQ Total Score Assessments\" )"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Two Outpatient Encounters during Measurement Period"
},
{
"url" : "statement",
"valueString" : "define \"Two Outpatient Encounters during Measurement Period\":\n from\n \"Qualifying Encounters\" OfficeVisit1,\n \"Qualifying Encounters\" OfficeVisit2\n where OfficeVisit2.period.toInterval ( ) starts 1 day or more after day of end of OfficeVisit1.period.toInterval ( )\n return OfficeVisit1"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n AgeInYearsAt(date from start of \"Measurement Period\") >= 18\n and exists ( ( [Condition: \"Heart Failure\"] ) HeartFailure\n where HeartFailure.prevalenceInterval ( ) overlaps before \"Measurement Period\"\n )\n and exists ( \"Two Outpatient Encounters during Measurement Period\" )"
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n \"Initial Population\""
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"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" : 25
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FunctionalStatusAssessmentsforHeartFailureFHIR"
},
{
"url" : "name",
"valueString" : "Denominator Exclusions"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exclusions\":\n Hospice.\"Has Hospice Services\"\n or exists ( ( [Condition: \"Severe cognitive impairment (finding)\"] ) SevereCognitiveImpairment\n where SevereCognitiveImpairment.prevalenceInterval ( ) overlaps \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"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" : 27
}
],
"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" : 28
}
],
"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" : 29
}
],
"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" : 30
}
],
"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" : 31
}
],
"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" : 32
}
],
"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" : 33
}
],
"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 Status",
"resource" : "Library/Status|1.8.000"
},
{
"type" : "depends-on",
"display" : "Library QICoreCommon",
"resource" : "Library/QICoreCommon|2.1.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" : "Code system ObservationCategoryCodes",
"resource" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"type" : "depends-on",
"display" : "Code system LOINC",
"resource" : "http://loinc.org"
},
{
"type" : "depends-on",
"display" : "Code system SNOMEDCT",
"resource" : "http://snomed.info/sct"
},
{
"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 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 Virtual Encounter",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089"
},
{
"type" : "depends-on",
"display" : "Value set Heart Failure",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.376"
},
{
"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"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"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" : "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.464.1003.101.12.1080"
}
]
},
{
"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.1089"
}
]
},
{
"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" : "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" : "71969-0",
"display" : "PROMIS-10 Global Mental Health (GMH) score T-score"
}
]
}
]
},
{
"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" : "71971-6",
"display" : "PROMIS-10 Global Physical Health (GPH) score T-score"
}
]
}
]
},
{
"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" : "71955-9",
"display" : "PROMIS-29 Sleep disturbance score T-score"
}
]
}
]
},
{
"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" : "71957-5",
"display" : "PROMIS-29 Satisfaction with participation in social roles score T-score"
}
]
}
]
},
{
"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" : "71959-1",
"display" : "PROMIS-29 Physical function score T-score"
}
]
}
]
},
{
"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" : "71961-7",
"display" : "PROMIS-29 Pain interference score T-score"
}
]
}
]
},
{
"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" : "71963-3",
"display" : "PROMIS-29 Fatigue score T-score"
}
]
}
]
},
{
"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" : "71965-8",
"display" : "PROMIS-29 Depression score T-score"
}
]
}
]
},
{
"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" : "71967-4",
"display" : "PROMIS-29 Anxiety score T-score"
}
]
}
]
},
{
"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" : "72026-8",
"display" : "VR-12 Mental component summary (MCS) score - oblique method T-score"
}
]
}
]
},
{
"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" : "72025-0",
"display" : "VR-12 Physical component summary (PCS) score - oblique method T-score"
}
]
}
]
},
{
"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" : "72028-4",
"display" : "VR-12 Mental component summary (MCS) score - orthogonal method T-score"
}
]
}
]
},
{
"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" : "72027-6",
"display" : "VR-12 Physical component summary (PCS) score - orthogonal method T-score"
}
]
}
]
},
{
"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" : "71990-6",
"display" : "VR-36 Mental component summary (MCS) score - oblique method T-score"
}
]
}
]
},
{
"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" : "71989-8",
"display" : "VR-36 Physical component summary (PCS) score - oblique method T-score"
}
]
}
]
},
{
"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" : "72008-6",
"display" : "VR-36 Mental component summary (MCS) score - orthogonal method T-score"
}
]
}
]
},
{
"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" : "72007-8",
"display" : "VR-36 Physical component summary (PCS) score - orthogonal method T-score"
}
]
}
]
},
{
"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" : "85618-7",
"display" : "Physical score [MLHFQ]"
}
]
}
]
},
{
"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" : "85609-6",
"display" : "Emotional score [MLHFQ]"
}
]
}
]
},
{
"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" : "86923-0",
"display" : "Kansas City Cardiomyopathy Questionnaire - 12 item [KCCQ-12]"
}
]
}
]
},
{
"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" : "86924-8",
"display" : "Overall summary score [KCCQ-12]"
}
]
}
]
},
{
"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" : "72189-4",
"display" : "Quality of life score [KCCQ]"
}
]
}
]
},
{
"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" : "72194-4",
"display" : "Symptom stability score [KCCQ]"
}
]
}
]
},
{
"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" : "72190-2",
"display" : "Self-efficacy score [KCCQ]"
}
]
}
]
},
{
"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" : "72191-0",
"display" : "Total symptom score [KCCQ]"
}
]
}
]
},
{
"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" : "72195-1",
"display" : "Physical limitation score [KCCQ]"
}
]
}
]
},
{
"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" : "72196-9",
"display" : "Social limitation score [KCCQ]"
}
]
}
]
},
{
"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" : "71940-1",
"display" : "Overall summary score [KCCQ]"
}
]
}
]
},
{
"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" : "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.376"
}
]
},
{
"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",
"code" : [
{
"system" : "http://snomed.info/sct",
"code" : "702956004",
"display" : "Severe cognitive impairment (finding)"
}
]
}
]
},
{
"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"
}
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
},
{
"id" : "effective-data-requirements",
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements",
"valueReference" : {
"reference" : "#effective-data-requirements"
}
}
],
"url" : "https://madie.cms.gov/Measure/FunctionalStatusAssessmentsforHeartFailureFHIR",
"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" : "CMS90FHIR"
},
{
"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:54792d38-7ad9-459c-b209-91b8915ab7ac"
},
{
"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:e1455c1f-ab8a-4337-86ad-903576c55d4e"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "publisher"
}
]
},
"system" : "https://madie.cms.gov/measure/cmsId",
"value" : "90FHIR",
"assigner" : {
"display" : "CMS"
}
}
],
"version" : "0.1.000",
"name" : "FunctionalStatusAssessmentsforHeartFailureFHIR",
"title" : "Functional Status Assessments for Heart FailureFHIR",
"status" : "draft",
"experimental" : false,
"date" : "2024-12-18T21:25:49+00:00",
"publisher" : "Centers for Medicare & Medicaid Services (CMS)",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "https://www.cms.gov/"
}
]
}
],
"description" : "Percentage of patients 18 years of age and older with heart failure who completed initial and follow-up patient-reported functional status assessments",
"purpose" : "UNKNOWN",
"usage" : "Initial functional status assessment (FSA) and encounter: The initial FSA is an FSA that occurs within two weeks before or during an encounter, in the 180 days or more before the end of the measurement period.\n\nFollow-up FSA: The follow-up FSA must be completed at least 30 days but no more than 180 days after the initial FSA.\n\nThe same FSA instrument must be used for the initial and follow-up assessment.\n\nThis eCQM is a patient-based measure.\n\nThis FHIR-based measure has been derived from the QDM-based measure: CMS90v14.\n\nPlease refer to the HL7 QI-Core Implementation Guide (http://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 (http://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).",
"copyright" : "Copyright\tThis Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). CMS contracted (Contract HHSP23320095627WC; HHSP23337008T) with the National Committee for Quality Assurance (NCQA) to develop this electronic measure. 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.\n\nLimited 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.\n\nCPT(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.\n\nThe American Dental Association (“ADA”) holds a copyright to the Current Dental Terminology (“CDT”) codes contained in certain measure specifications. The CDT codes in the measure specifications are included with the permission of the ADA. All uses of the CDT codes require a license from the ADA. No alteration, amendments, or modifications of the CDT or any portion thereof is allowed. Resale, transmission, or distribution of copies of the CDT or other portions of the CDT is also not allowed. To inquire about licensing, contact CDT-SNODENT@ada.org.\n\nThe 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.\n\nThis material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.\n\nICD-10 copyright 2024 World Health Organization. All Rights Reserved.\n\n“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/FunctionalStatusAssessmentsforHeartFailureFHIR"
],
"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.\n \nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].",
"scoring" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
},
"rationale" : "Patients living with heart failure often have poor functional status and health-related quality of life, which declines as the disease progresses (Allen et al., 2012). In addition, their care is often complicated by multiple comorbidities. To assist in managing these complex patients, the American College of Cardiology Foundation and American Heart Association recommend collecting initial and repeat assessments of a patient's function and ability to complete desired activities of daily living (Hunt et al., 2009). The American Heart Association also released scientific statements emphasizing the collection of patient-reported health status (for example, functional limitations, symptom burden, quality of life) from heart failure patients as an important means of establishing a dynamic conversation between patient and provider regarding care goals and the patient's priorities (Allen et al., 2012; Rumsfeld et al., 2013).\n\nThe most recent update to clinical guidelines by the American Heart Association, the American College of Cardiology, and the Heart Failure Society of America further emphasizes that better understanding of symptom burden and prognosis may improve the quality of treatment decisions. The guideline also indicates that routine assessment can facilitate population health management by identifying high-risk patients needing closer monitoring or referral to specialized centers and that patient-reported health status assessment increases the patient’s role in care, which can motivate initiation and uptake of medical therapy (Heidenreich et al., 2022).",
"clinicalRecommendationStatement" : "The American Heart Association, the American College of Cardiology, and the Heart Failure Society of America (2022): \nThis guideline provides patient-centric recommendations for clinicians to prevent, diagnose, and manage patients with heart failure and specifically recommends assessing patient-reported health status using a validated questionnaire to provide incremental information for patient functional status, symptom burden, and prognosis. Tools specifically recommended in the guideline are as follows: \n- The Kansas City Cardiomyopathy Questionnaire or,\n- The Minnesota Living with Heart Failure Questionnaire \n- PROMIS-Plus-HF [Patient Reported Outcomes Measurement Information System Plus-Heart Failure]",
"group" : [
{
"id" : "654a6f0e78418140875e3610",
"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" : "2E9E52A5-86CB-4BBC-946E-CF9F508ED4ED",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"description" : "Patients 18 years of age and older who had two outpatient encounters during the measurement period and a diagnosis of heart failure that starts any time before and continues into the measurement period",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "415C061F-BCED-4D60-A095-8D49899F1C63",
"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" : "00703AD5-2195-42F3-99CA-CC95B25D5A1C",
"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.\n\nExclude patients with severe cognitive impairment in any part of the measurement period.",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exclusions"
}
},
{
"id" : "1513CC95-F7B4-495B-910E-6AF5CF970E33",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"description" : "Patients with patient-reported functional status assessment results (i.e., Veterans RAND 12-item health survey [VR-12]; VR-36; Kansas City Cardiomyopathy Questionnaire [KCCQ]; KCCQ-12; Minnesota Living with Heart Failure Questionnaire [MLHFQ]; Patient-Reported Outcomes Measurement Information System [PROMIS]-10 Global Health; PROMIS-29) present in the EHR within two weeks before or during the initial FSA encounter and results for the follow-up FSA at least 30 days but no more than 180 days after the initial FSA",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
]
}
]
}