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

Measure: Use of High-Risk Medications in Older AdultsFHIR

Official URL: https://madie.cms.gov/Measure/UseofHighRiskMedicationsintheElderlyFHIR Version: 0.2.001
Draft as of 2024-07-09 Responsible: National Committee for Quality Assurance Computable Name: UseofHighRiskMedicationsintheElderlyFHIR
Other Identifiers: Short Name (use: usual, ), UUID:fa08c5d7-5345-4e0b-aa2d-d937099db108 (use: official, ), UUID:d9904550-61cd-4ea8-b36b-9d808a339278 (use: official, ), Publisher (use: official, )

Copyright/Legal: This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). CMS contracted (Contract HHSM-500-2011-00079C) 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.

Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.

CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.

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.

This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.

ICD-10 copyright 2024 World Health Organization. All Rights Reserved.

The Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product.

“HL7” is the registered trademark of Health Level Seven International.

Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class. Three rates are reported.

  1. Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class.
  2. Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class, except for appropriate diagnoses.
  3. Total rate (the sum of the two numerators divided by the denominator, deduplicating for patients in both numerators).

UNKNOWN

Title: Use of High-Risk Medications in Older AdultsFHIR
Id: UseofHighRiskMedicationsintheElderlyFHIR
Version: 0.2.001
Url: Use of High-Risk Medications in Older AdultsFHIR
short-name identifier:

CMS156FHIR

version-independent identifier:

urn:uuid:fa08c5d7-5345-4e0b-aa2d-d937099db108

version-specific identifier:

urn:uuid:d9904550-61cd-4ea8-b36b-9d808a339278

publisher (CMS) identifier:

156FHIR

Effective Period: 2025-01-01..2025-12-31
Status: draft
Publisher: National Committee for Quality Assurance
Author: National Committee for Quality Assurance
Description:

Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class. Three rates are reported.

  1. Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class.
  2. Percentage of patients 65 years of age and older who were ordered at least two high-risk medications from the same drug class, except for appropriate diagnoses.
  3. Total rate (the sum of the two numerators divided by the denominator, deduplicating for patients in both numerators).
Purpose:

UNKNOWN

Copyright:

This Physician Performance Measure (Measure) and related data specifications are owned and stewarded by the Centers for Medicare & Medicaid Services (CMS). CMS contracted (Contract HHSM-500-2011-00079C) 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.

Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third party codes contained in the specifications.

CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.

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.

This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.

ICD-10 copyright 2024 World Health Organization. All Rights Reserved.

The Measure uses RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the Measure and does not endorse or recommend this or any other product.

“HL7” is the registered trademark of Health Level Seven International.

Disclaimer:

The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.

Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].

Scoring:

Proportion

Rationale:

Certain medications (MacKinnon & Hepler, 2003) are associated with increased risk of harm from drug side-effects and drug toxicity and pose a concern for patient safety. There is clinical consensus that these drugs pose increased risks in older adults (Kaufman, Brodin, & Sarafian, 2005). Potentially inappropriate medication (PIM) use in older adults has been connected to significantly longer hospital stay lengths and increased hospitalization costs (Hagstrom et al., 2015) as well as increased risk of death (Lau et al., 2004). Use of specific high-risk medications such as hypnotics, including benzodiazepine receptor agonists, and nonsteroidal anti-inflammatory drugs (NSAIDS) can result in increased risk of delirium, falls, fractures, gastrointestinal bleeding and acute kidney injury (Merel & Paauw, 2017). Long-term use of benzodiazepines in older adults has been associated with increased risk of dementia (Zhong, Wang, Zhang, & Zhao, 2015; Takada et al., 2016). Additionally, the use of antipsychotics can lead to increased risk of stroke and greater cognitive decline in older adults with dementia (Tampi et al., 2016). Among Medicare beneficiaries it is estimated that the prevalence of PIM use was 77% among long-stay nursing home residents (defined as >101 consecutive days in a nursing home). The most common PIMs were benzodiazepines, antipsychotics, and insulin (Riester et al., 2023).

Older adults receiving inappropriate medications are more likely to report poorer health status at follow-up, compared to those who receive appropriate medications (Fu, Liu, & Christensen, 2004). A study of the prevalence of potentially inappropriate medication use in older adults found that 40 percent of individuals 65 and older filled at least one prescription for a potentially inappropriate medication and 13 percent filled two or more (Fick et al., 2008). While some adverse drug events (ADEs) are unavoidable, studies estimate that between 30 and 80 percent of ADEs in older adults are preventable (MacKinnon & Hepler, 2003). More recently with the onset of the COVID-19 pandemic, several studies have shown an increase in anxiety, insomnia and depression rates, which could result in an increase in the use of high-risk medications in order to treat these conditions (Agrawal, 2020).

Reducing the number of inappropriate prescriptions can lead to improved patient safety and significant cost savings. Conservative estimates of extra costs due to potentially inappropriate medications in older adults average $7.2 billion a year (Fu et al., 2007). Medication use by older adults will likely increase further as the U.S. population ages, new drugs are developed, and new therapeutic and preventive uses for medications are discovered (Rothberg et al., 2008). The annual direct costs of preventable ADEs in the Medicare population have been estimated to exceed $800 million (Institute of Medicine, 2007). By the year 2030, nearly one in five U.S. residents is expected to be aged 65 years or older; this age group is projected to more than double from 38.7 million in 2008 to more than 88.5 million in 2050. Likewise, the population aged 85 years or older is expected to increase almost four-fold, from 5.4 million to 19 million between 2008 and 2050. As the older adult population continues to grow, the number of older adults who present with multiple medical conditions for which several medications are prescribed will likely continue to increase, resulting in polypharmacy concerns (Gray & Gardner, 2009).

Clinical recommendation statement:

The measure is based on recommendations from the American Geriatrics Society Beers Criteria[R] for Potentially Inappropriate Medication Use in Older Adults (2023). The criteria were developed through key clinical expert consensus processes by Beers in 1997, Zhan in 2001, Fick et al. in 2003, 2012, 2015, and 2019 and, most recently the American Geriatrics Society Beers Criteria Update Expert Panel in 2023. The Beers Criteria identifies lists of drugs that are potentially inappropriate for all older adults, except for those with certain conditions for which some high-risk medications may be warranted, and drugs that are potentially inappropriate in older adults based on various high-risk factors such as dosage, days supply and underlying diseases or conditions. NCQA's Geriatric Measurement Advisory Panel recommended a subset of drugs that should be used with caution in older adults for inclusion in the measure based upon the recommendations in the Beers Criteria.

Guidance (Usage): The intent of the measure is to assess if the patient has been ordered at least two high-risk medication prescriptions from the same drug class on different days. The intent of the measure is to assess if the reporting provider ordered the high-risk medication(s). If the patient had a high-risk medication previously prescribed by another provider, they would not be counted towards the numerator unless the reporting provider also ordered a high-risk medication from the same drug class for them. Calculate average daily dose for each prescription event. To calculate average daily dose, multiply the quantity of pills prescribed by the dose of each pill and divide by the days supply. For example, a prescription for the 30-days supply of digoxin containing 15 pills, 0.25 mg each pill, has an average daily dose of 0.125 mg. To calculate average daily dose for elixirs and concentrates, multiply the volume prescribed by daily dose and divide by the days supply. Do not round when calculating average daily dose. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure:  CMS156v13. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).
Population Criteria:
66460d4ef4fc785d8711734b
Initial Population: Patients 65 years and older at the end of the measurement period who had a visit during the measurement period
Denominator: Equals Initial Population
Denominator Exclusion: Exclude patients who are in hospice care for any part of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.
Numerator: Rate 1: Patients with at least two orders of high-risk medications from the same drug class on different days. a. At least two orders of high-risk medications from the same drug class. b. At least two orders of high-risk medications from the same drug class with summed days supply greater than 90 days. c. At least two orders of high-risk medications from the same drug class each exceeding average daily dose criteria.
66460d4ef4fc785d8711734c
Initial Population: Patients 65 years and older at the end of the measurement period who had a visit during the measurement period
Denominator: Equals Initial Population
Denominator Exclusion: Exclude patients who are in hospice care for any part of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.
Numerator: Rate 2: Patients with at least two orders of high-risk medications from the same drug class (i.e., antipsychotics and benzodiazepines) on different days except for appropriate diagnoses. a. Patients with two or more antipsychotic prescriptions ordered on different days, and who did not have a diagnosis of schizophrenia, schizoaffective disorder, or bipolar disorder on or between January 1 of the year prior to the measurement period and the IPSD for antipsychotics. b. Patients with two or more benzodiazepine prescriptions ordered on different days, and who did not have a diagnosis of seizure disorders, rapid eye movement sleep behavior disorder, benzodiazepine withdrawal, ethanol withdrawal, or severe generalized anxiety disorder on or between January 1 of the year prior to the measurement period and the IPSD for benzodiazepines.
66460d4ef4fc785d8711734d
Initial Population: Patients 65 years and older at the end of the measurement period who had a visit during the measurement period
Denominator: Equals Initial Population
Denominator Exclusion: Exclude patients who are in hospice care for any part of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.
Numerator: Total rate (the sum of the two previous numerators, deduplicated).
Libraries:
UseofHighRiskMedicationsintheElderlyFHIR
Terminology and Other Dependencies:
  • Library/Status|1.8.000
  • Library/CumulativeMedicationDuration|4.1.000
  • Library/FHIRHelpers|4.4.000
  • Library/QICoreCommon|2.1.000
  • Library/CQMCommon|2.2.000
  • Library/Hospice|6.12.000
  • Library/PalliativeCare|1.11.000
  • RxNorm
  • Current Procedural Terminology (CPT®)
  • SNOMED CT (all versions)
  • Observation Category Codes
  • Logical Observation Identifiers, Names and Codes (LOINC)
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1523
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1205
  • Bipolar Disorder
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1522
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1206
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1207
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1208
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1209
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1210
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1043
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1049
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1050
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1051
  • Guanfacine
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1053
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1054
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1055
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1057
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1058
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1059
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1060
  • Nonbenzodiazepine hypnotics
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1062
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1063
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1247
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1248
  • Anti Infectives, other
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1065
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1067
  • Office Visit
  • Ophthalmological Services
  • Preventive Care Services - Established Office Visit, 18 and Up
  • Discharge Services - Nursing Facility
  • Nursing Facility Visit
  • Care Services in Long-Term Residential Facility
  • Preventive Care Services-Initial Office Visit, 18 and Up
  • Annual Wellness Visit
  • Home Healthcare Services
  • Telephone Visits
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
  • Encounter Inpatient
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
  • Hospice Care Ambulatory
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
  • Parameters:
    name use min max type
    Measurement Period In 0 1 Period
    ErrorLevel In 0 1 string
    Numerator 3 Out 0 1 boolean
    Denominator Out 0 1 boolean
    Numerator 1 Out 0 1 boolean
    Numerator 2 Out 0 1 boolean
    Initial Population Out 0 1 boolean
    Denominator Exclusions Out 0 1 boolean
    DataRequirements:
    Resource Type Resource Elements Valueset Name Valueset
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Antipsychotics for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1523
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Benzodiazepines for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1522
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Antihistamines for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1043
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Antiparkinsonian Agents for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1049
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Gastrointestinal Antispasmodics for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1050
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Dipyridamole Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1051
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Guanfacine Medications Guanfacine
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Nifedipine Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1053
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Antidepressants for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1054
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Barbiturates for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1055
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Meprobamate Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1057
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Estrogens for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1058
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Sulfonylureas for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1059
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Desiccated Thyroid Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1060
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Nonbenzodiazepine Hypnotics for Older Adults Nonbenzodiazepine hypnotics
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Skeletal Muscle Relaxants for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1062
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Pain Medications for Older Adults http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1063
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Megestrol Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1247
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Meperidine Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1248
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Potentially Harmful Antiinfectives for Older Adults Anti Infectives, other
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Digoxin Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1065
    MedicationRequest(QICoreMedicationRequest) medication.reference status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod
    MedicationRequest(QICoreMedicationRequest) medication status status.value intent intent.value dosageInstruction dispenseRequest dispenseRequest.expectedSupplyDuration dispenseRequest.quantity dispenseRequest.numberOfRepeatsAllowed dispenseRequest.numberOfRepeatsAllowed.value authoredOn authoredOn.value dispenseRequest.validityPeriod Doxepin Medications http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1067
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    Condition(QICoreCondition) code Schizophrenia http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1205
    Condition(QICoreCondition) code Bipolar Disorder Bipolar Disorder
    Condition(QICoreCondition) code Seizure Disorder http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1206
    Condition(QICoreCondition) code REM Sleep Behavior Disorder http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1207
    Condition(QICoreCondition) code Benzodiazepine Withdrawal http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1208
    Condition(QICoreCondition) code Alcohol Withdrawal http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1209
    Condition(QICoreCondition) code Generalized Anxiety Disorder http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.105.12.1210
    Condition(QICoreCondition) code Hospice Diagnosis http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
    Condition(QICoreCondition) code Palliative Care Diagnosis http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167
    Patient(QICorePatient)
    Encounter(QICoreEncounter) type status status.value period
    Encounter(QICoreEncounter) type status status.value period Office Visit Office Visit
    Encounter(QICoreEncounter) type status status.value period Ophthalmological Services Ophthalmological Services
    Encounter(QICoreEncounter) type status status.value period Preventive Care Services Established Office Visit, 18 and Up Preventive Care Services - Established Office Visit, 18 and Up
    Encounter(QICoreEncounter) type status status.value period Discharge Services Nursing Facility Discharge Services - Nursing Facility
    Encounter(QICoreEncounter) type status status.value period Nursing Facility Visit Nursing Facility Visit
    Encounter(QICoreEncounter) type status status.value period Care Services in Long Term Residential Facility Care Services in Long-Term Residential Facility
    Encounter(QICoreEncounter) type status status.value period Preventive Care Services Initial Office Visit, 18 and Up Preventive Care Services-Initial Office Visit, 18 and Up
    Encounter(QICoreEncounter) type status status.value period Annual Wellness Visit Annual Wellness Visit
    Encounter(QICoreEncounter) type status status.value period Home Healthcare Services Home Healthcare Services
    Encounter(QICoreEncounter) type status status.value period Telephone Visits Telephone Visits
    Encounter(QICoreEncounter) type status status.value period Virtual Encounter http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
    Encounter(QICoreEncounter) type hospitalization hospitalization.dischargeDisposition period status status.value Encounter Inpatient Encounter Inpatient
    Encounter(QICoreEncounter) type period status status.value Hospice Encounter http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
    Encounter(QICoreEncounter) type period status status.value Palliative Care Encounter http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
    Observation(QICoreObservation) code value effective status status.value category
    Observation(QICoreObservation) code effective status status.value category
    ServiceRequest(QICoreServiceRequest) code authoredOn authoredOn.value status status.value intent intent.value Hospice Care Ambulatory Hospice Care Ambulatory
    Procedure(QICoreProcedure) code performed status status.value Hospice Care Ambulatory Hospice Care Ambulatory
    Procedure(QICoreProcedure) code performed status status.value Palliative Care Intervention http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
    Direct Reference Codes:
    display code system
    ergoloid mesylates, USP 1 MG Oral Tablet 318179 http://www.nlm.nih.gov/research/umls/rxnorm
    digoxin 0.05 MG/ML Oral Solution 393245 http://www.nlm.nih.gov/research/umls/rxnorm
    digoxin 0.0625 MG Oral Tablet 245273 http://www.nlm.nih.gov/research/umls/rxnorm
    1 ML digoxin 0.1 MG/ML Injection 204504 http://www.nlm.nih.gov/research/umls/rxnorm
    digoxin 0.125 MG Oral Tablet 197604 http://www.nlm.nih.gov/research/umls/rxnorm
    digoxin 0.25 MG Oral Tablet 197606 http://www.nlm.nih.gov/research/umls/rxnorm
    2 ML digoxin 0.25 MG/ML Injection 104208 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 3 MG Oral Tablet 966787 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 6 MG Oral Tablet 966793 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 10 MG Oral Capsule 1000048 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 10 MG/ML Oral Solution 1000054 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 25 MG Oral Capsule 1000070 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 50 MG Oral Capsule 1000076 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 75 MG Oral Capsule 1000097 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 100 MG Oral Capsule 1000058 http://www.nlm.nih.gov/research/umls/rxnorm
    doxepin 150 MG Oral Capsule 1000064 http://www.nlm.nih.gov/research/umls/rxnorm
    Office or other outpatient visit for the evaluation and management of an established patient that may not require the presence of a physician or other qualified health care professional 99211 http://www.ama-assn.org/go/cpt
    Discharge to home for hospice care (procedure) 428361000124107 http://snomed.info/sct
    Discharge to healthcare facility for hospice care (procedure) 428371000124100 http://snomed.info/sct
    survey survey http://terminology.hl7.org/CodeSystem/observation-category
    Yes (qualifier value) 373066001 http://snomed.info/sct
    Hospice care [Minimum Data Set] 45755-6 http://loinc.org
    Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal) 71007-9 http://loinc.org
    Logic Definitions:
    Group Scoring Population Criteria Expression
    66460d4ef4fc785d8711734b Group scoring: proportion Measure scoring:

    Proportion

    Type:

    Process

    Rate Aggregation: None
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      AgeInYearsAt(date from 
        end of "Measurement Period"
      ) >= 65
        and exists ( "Qualifying Encounters" )
    Denominator
    define "Denominator":
      "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":
      Hospice."Has Hospice Services"
        or PalliativeCare."Has Palliative Care in the Measurement Period"
    Numerator
    define "Numerator 1":
      exists ( "Same High Risk Medications Ordered on Different Days" )
        or ( "Two High Risk Medications with Prolonged Duration" )
        or ( "High Risk Medications with Average Daily Dose Criteria" )
    66460d4ef4fc785d8711734c Group scoring: proportion Measure scoring:

    Proportion

    Type:

    Process

    Rate Aggregation: None
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      AgeInYearsAt(date from 
        end of "Measurement Period"
      ) >= 65
        and exists ( "Qualifying Encounters" )
    Denominator
    define "Denominator":
      "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":
      Hospice."Has Hospice Services"
        or PalliativeCare."Has Palliative Care in the Measurement Period"
    Numerator
    define "Numerator 2":
      ( "More than One Antipsychotic Order"
          and ( not exists ( ( [Condition: "Schizophrenia"]
                union [Condition: "Bipolar Disorder"] ) AntipsychoticTreatedDiagnoses
                where AntipsychoticTreatedDiagnoses.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period" - 1 year, "Antipsychotic Index Prescription Start Date"]
            )
          )
      )
        or ( "More than One Benzodiazepine Order"
            and ( not exists ( ( [Condition: "Seizure Disorder"]
                  union [Condition: "REM Sleep Behavior Disorder"]
                  union [Condition: "Benzodiazepine Withdrawal"]
                  union [Condition: "Alcohol Withdrawal"]
                  union [Condition: "Generalized Anxiety Disorder"] ) BenzodiazepineTreatedDiagnoses
                  where BenzodiazepineTreatedDiagnoses.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period" - 1 year, "Benzodiazepine Index Prescription Start Date"]
              )
            )
        )
    66460d4ef4fc785d8711734d Group scoring: proportion Measure scoring:

    Proportion

    Type:

    Process

    Rate Aggregation: None
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      AgeInYearsAt(date from 
        end of "Measurement Period"
      ) >= 65
        and exists ( "Qualifying Encounters" )
    Denominator
    define "Denominator":
      "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":
      Hospice."Has Hospice Services"
        or PalliativeCare."Has Palliative Care in the Measurement Period"
    Numerator
    define "Numerator 3":
      "Numerator 2"
        or ( "Numerator 1"
            and not "Numerator 2"
        )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR More than One Antipsychotic Order
    define "More than One Antipsychotic Order":
      exists ( ( [MedicationRequest: "Potentially Harmful Antipsychotics for Older Adults"] ).moreThanOneOrder ( ) )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Antipsychotic Index Prescription Start Date
    define "Antipsychotic Index Prescription Start Date":
      First((([MedicationRequest: "Potentially Harmful Antipsychotics for Older Adults"]).isMedicationOrder()) AntipsychoticMedication
          where AntipsychoticMedication.authoredOn during "Measurement Period"
          return AntipsychoticMedication.authoredOn
          sort asc
      )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR More than One Benzodiazepine Order
    define "More than One Benzodiazepine Order":
      exists ( ( [MedicationRequest: "Potentially Harmful Benzodiazepines for Older Adults"] ).moreThanOneOrder ( ) )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Benzodiazepine Index Prescription Start Date
    define "Benzodiazepine Index Prescription Start Date":
      First((([MedicationRequest: "Potentially Harmful Benzodiazepines for Older Adults"]).isMedicationOrder()) BenzodiazepineMedication
          where BenzodiazepineMedication.authoredOn during "Measurement Period"
          return BenzodiazepineMedication.authoredOn
          sort asc
      )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Numerator 2
    define "Numerator 2":
      ( "More than One Antipsychotic Order"
          and ( not exists ( ( [Condition: "Schizophrenia"]
                union [Condition: "Bipolar Disorder"] ) AntipsychoticTreatedDiagnoses
                where AntipsychoticTreatedDiagnoses.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period" - 1 year, "Antipsychotic Index Prescription Start Date"]
            )
          )
      )
        or ( "More than One Benzodiazepine Order"
            and ( not exists ( ( [Condition: "Seizure Disorder"]
                  union [Condition: "REM Sleep Behavior Disorder"]
                  union [Condition: "Benzodiazepine Withdrawal"]
                  union [Condition: "Alcohol Withdrawal"]
                  union [Condition: "Generalized Anxiety Disorder"] ) BenzodiazepineTreatedDiagnoses
                  where BenzodiazepineTreatedDiagnoses.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period" - 1 year, "Benzodiazepine Index Prescription Start Date"]
              )
            )
        )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Same High Risk Medications Ordered on Different Days
    define "Same High Risk Medications Ordered on Different Days":
      ( [MedicationRequest: "Potentially Harmful Antihistamines for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Antiparkinsonian Agents for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Gastrointestinal Antispasmodics for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Dipyridamole Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Guanfacine Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Nifedipine Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Antidepressants for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Barbiturates for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "ergoloid mesylates, USP 1 MG Oral Tablet"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Meprobamate Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Estrogens for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Sulfonylureas for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Desiccated Thyroid Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Nonbenzodiazepine Hypnotics for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Skeletal Muscle Relaxants for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Potentially Harmful Pain Medications for Older Adults"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Megestrol Medications"] ).moreThanOneOrder ( )
        union ( [MedicationRequest: "Meperidine Medications"] ).moreThanOneOrder ( )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Two High Risk Medications with Prolonged Duration
    define "Two High Risk Medications with Prolonged Duration":
      Sum((([MedicationRequest: "Potentially Harmful Antiinfectives for Older Adults"]).moreThanOneOrder()) AntiInfectives
          let DaysSupply: AntiInfectives.MedicationRequestPeriodInDays()
          return all DaysSupply
      ) > 90
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR High Risk Medications with Average Daily Dose Criteria
    define "High Risk Medications with Average Daily Dose Criteria":
      exists ( ( ( [MedicationRequest: "Digoxin Medications"] ).moreThanOneOrder ( ) ) DigoxinOrdered
          where ( DigoxinOrdered ).averageDailyDose ( ) > 0.125 'mg/d'
      )
        or exists ( ( ( [MedicationRequest: "Doxepin Medications"] ).moreThanOneOrder ( ) ) DoxepinOrdered
            where ( DoxepinOrdered ).averageDailyDose ( ) > 6 'mg/d'
        )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Numerator 1
    define "Numerator 1":
      exists ( "Same High Risk Medications Ordered on Different Days" )
        or ( "Two High Risk Medications with Prolonged Duration" )
        or ( "High Risk Medications with Average Daily Dose Criteria" )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Numerator 3
    define "Numerator 3":
      "Numerator 2"
        or ( "Numerator 1"
            and not "Numerator 2"
        )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Qualifying Encounters
    define "Qualifying Encounters":
      ( ( [Encounter: "Office Visit"]
          union [Encounter: "Ophthalmological Services"]
          union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
          union [Encounter: "Discharge Services Nursing Facility"]
          union [Encounter: "Nursing Facility Visit"]
          union [Encounter: "Care Services in Long Term Residential Facility"]
          union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
          union [Encounter: "Annual Wellness Visit"]
          union [Encounter: "Home Healthcare Services"]
          union [Encounter: "Telephone Visits"]
          union [Encounter: "Virtual Encounter"]
          union ( [Encounter] E
              where exists ( ( E.type ) T
                  where T ~ "Office or other outpatient visit for the evaluation and management of an established patient that may not require the presence of a physician or other qualified health care professional"
              )
          )
      ).isEncounterPerformed ( ) ) ValidEncounters
        where ValidEncounters.period during "Measurement Period"
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Initial Population
    define "Initial Population":
      AgeInYearsAt(date from 
        end of "Measurement Period"
      ) >= 65
        and exists ( "Qualifying Encounters" )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Denominator
    define "Denominator":
      "Initial Population"
    Library Name Name
    Hospice Has Hospice Services
    define "Has Hospice Services":
      exists ((([Encounter: "Encounter Inpatient"]).isEncounterPerformed()) InpatientEncounter
          where (InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to home for hospice care (procedure)"
              or InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to healthcare facility for hospice care (procedure)"
          )
            and InpatientEncounter.period.toInterval() ends during day of "Measurement Period"
      )
        or exists ((([Encounter: "Hospice Encounter"]).isEncounterPerformed()) HospiceEncounter
            where HospiceEncounter.period.toInterval() overlaps day of "Measurement Period"
        )
        or exists ((([Observation: "Hospice care [Minimum Data Set]"]).isAssessmentPerformed()) HospiceAssessment
            where HospiceAssessment.value ~ "Yes (qualifier value)"
              and HospiceAssessment.effective.toInterval() overlaps day of "Measurement Period"
        )
        or exists ((([ServiceRequest: "Hospice Care Ambulatory"]).isInterventionOrder()) HospiceOrder
            where HospiceOrder.authoredOn.toInterval() during day of "Measurement Period"
            // and HospiceOrder.doNotPerform is not true
            // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447
        )
        or exists ((([Procedure: "Hospice Care Ambulatory"]).isInterventionPerformed()) HospicePerformed
            where HospicePerformed.performed.toInterval() overlaps day of "Measurement Period"
        )
        or exists (([Condition: "Hospice Diagnosis"]) HospiceCareDiagnosis
            where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
        )
    Library Name Name
    PalliativeCare Has Palliative Care in the Measurement Period
    define "Has Palliative Care in the Measurement Period":
      exists ((([Observation: "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"]).isAssessmentPerformed()) PalliativeAssessment
          where PalliativeAssessment.effective.toInterval() overlaps day of "Measurement Period"
      )
        or exists ([Condition: "Palliative Care Diagnosis"] PalliativeDiagnosis
            where PalliativeDiagnosis.prevalenceInterval() overlaps day of "Measurement Period"
        )
        or exists ((([Encounter: "Palliative Care Encounter"]).isEncounterPerformed()) PalliativeEncounter
            where PalliativeEncounter.period.toInterval() overlaps day of "Measurement Period"
        )
        or exists ((([Procedure: "Palliative Care Intervention"]).isInterventionPerformed()) PalliativeIntervention
            where PalliativeIntervention.performed.toInterval() overlaps day of "Measurement Period"
        )
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR Denominator Exclusions
    define "Denominator Exclusions":
      Hospice."Has Hospice Services"
        or PalliativeCare."Has Palliative Care in the Measurement Period"
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR moreThanOneOrder
    define fluent function "moreThanOneOrder"(Medication List<MedicationRequest>):
      ( Medication.isMedicationOrder ( ) ) OrderMedication1
        with ( Medication.isMedicationOrder ( ) ) OrderMedication2
          such that ( OrderMedication1.authoredOn during "Measurement Period"
              and OrderMedication1.dispenseRequest.numberOfRepeatsAllowed >= 1
          )
            or ( date from OrderMedication1.authoredOn !~ date from OrderMedication2.authoredOn
                and OrderMedication1.authoredOn during "Measurement Period"
                and OrderMedication2.authoredOn during "Measurement Period"
            )
            or ( date from OrderMedication1.authoredOn ~ date from OrderMedication2.authoredOn
                and OrderMedication1.authoredOn during "Measurement Period"
                and date from start of OrderMedication1.medicationRequestPeriod ( ) !~ date from start of OrderMedication2.medicationRequestPeriod ( )
                and start of OrderMedication1.medicationRequestPeriod ( ) during "Measurement Period"
                and start of OrderMedication2.medicationRequestPeriod ( ) during "Measurement Period"
            )
        return OrderMedication1
    Library Name Name
    Status isMedicationOrder
    //Medication, Order: active and completed only
    define fluent function isMedicationOrder(MedicationRequest List<MedicationRequest>):
      MedicationRequest M
        where M.status in { 'active', 'completed' }
          and M.intent = 'order'
    Library Name Name
    CumulativeMedicationDuration medicationRequestPeriod
    define fluent function medicationRequestPeriod(Request "MedicationRequest"):
      Request R
        let
          dosage: singleton from R.dosageInstruction,
          doseAndRate: singleton from dosage.doseAndRate,
          timing: dosage.timing,
          frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),
          period: Quantity(timing.repeat.period, timing.repeat.periodUnit),
          doseRange: doseAndRate.dose,
          doseQuantity: doseAndRate.dose,
          dose: Coalesce(end of doseRange, doseQuantity),
          dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0),
          boundsPeriod: timing.repeat.bounds as Interval<DateTime>,
          daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value,
          quantity: R.dispenseRequest.quantity,
          refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),
          startDate:
            Coalesce(
              date from start of boundsPeriod,
              date from R.authoredOn,
              date from start of R.dispenseRequest.validityPeriod
            ),
          totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills)
        return
          if startDate is not null and totalDaysSupplied is not null then
            Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ]
          else if startDate is not null and boundsPeriod."high" is not null then
            Interval[startDate, date from end of boundsPeriod]
          else
            null
    Library Name Name
    CumulativeMedicationDuration Quantity
    /**********************************************************************/
    /* Functions in this region are copied from opioid-mme-r4             */
    /**********************************************************************/
    
    define function Quantity(value Decimal, unit String):
      if value is not null then
        System.Quantity { value: value, unit: unit }
      else
        null
    Library Name Name
    CumulativeMedicationDuration ToDaily
    /*
     Goal is to get to number of days
     Two broad approaches to the calculation:
      1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered
      2) Based on relevant period, determine a covered interval and calculate the length of that interval in days
    This topic covers several use cases and illustrates how to calculate Cumulative
    Medication Duration for each type of medication resource using the supply and
    frequency approach.
    */
    
    /*
      For the first approach, we need to get from frequency to a frequency/day
      So we define ToDaily
    */
    
    /*
      Calculates daily frequency given frequency within a period
    */
    define function ToDaily(frequency System.Integer, period System.Quantity):
      case period.unit
        when 'h' then frequency * (24.0 / period.value)
        when 'min' then frequency * (24.0 / period.value) * 60
        when 's' then frequency * (24.0 / period.value) * 60 * 60
        when 'd' then frequency * (24.0 / period.value) / 24
        when 'wk' then frequency * (24.0 / period.value) / (24 * 7)
        when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        when 'hour' then frequency * (24.0 / period.value)
        when 'minute' then frequency * (24.0 / period.value) * 60
        when 'second' then frequency * (24.0 / period.value) * 60 * 60
        when 'day' then frequency * (24.0 / period.value) / 24
        when 'week' then frequency * (24.0 / period.value) / (24 * 7)
        when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        when 'hours' then frequency * (24.0 / period.value)
        when 'minutes' then frequency * (24.0 / period.value) * 60
        when 'seconds' then frequency * (24.0 / period.value) * 60 * 60
        when 'days' then frequency * (24.0 / period.value) / 24
        when 'weeks' then frequency * (24.0 / period.value) / (24 * 7)
        when 'months' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */
        when 'years' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */
        else Message(null, true, 'CMDLogic.ToDaily.UnknownUnit', ErrorLevel, 'Unknown unit ' & period.unit)
      end
    Library Name Name
    QICoreCommon prevalenceInterval
    /*
    @description: Returns an interval representing the normalized prevalence period of a given Condition.
    @comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
    onset to abatement as specified in the given Condition. If the condition is active, or has an abatement date the resulting 
    interval will have a closed ending boundary. Otherwise, the resulting interval will have an open ending boundary.
    */
    define fluent function prevalenceInterval(condition Condition):
    if condition.clinicalStatus ~ "active"
      or condition.clinicalStatus ~ "recurrence"
      or condition.clinicalStatus ~ "relapse" then
      Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
    else
        (end of condition.abatementInterval()) abatementDate
        return if abatementDate is null then
          Interval[start of condition.onset.toInterval(), abatementDate)
        else
          Interval[start of condition.onset.toInterval(), abatementDate]
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR MedicationRequestPeriodInDays
    define fluent function MedicationRequestPeriodInDays(Request "MedicationRequest"):
      Request R
        let dosage: singleton from R.dosageInstruction,
        doseAndRate: singleton from dosage.doseAndRate,
        timing: dosage.timing,
        frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency),
        period: CMD."Quantity" ( timing.repeat.period, timing.repeat.periodUnit ),
        doseRange: doseAndRate.dose,
        doseQuantity: doseAndRate.dose,
        dose: Coalesce(
          end of doseRange, doseQuantity
        ),
        dosesPerDay: Coalesce((CMD."ToDaily"(frequency, period)), Count(timing.repeat.timeOfDay), 1.0),
        boundsPeriod: timing.repeat.bounds as Interval<DateTime>,
        daysSupply: ( convert R.dispenseRequest.expectedSupplyDuration to days ).value,
        quantity: R.dispenseRequest.quantity,
        refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0),
        startDate: Coalesce(date from start of boundsPeriod, date from R.authoredOn, date from start of R.dispenseRequest.validityPeriod),
        totalDaysSupplied: Coalesce(daysSupply, quantity.value /(dose.value * dosesPerDay)) * ( 1 + refills )
        return totalDaysSupplied
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR averageDailyDose
    define fluent function "averageDailyDose"(MedicationRequest MedicationRequest):
      MedicationRequest Order
        let MedicationStrength: Order.getMedicationCode ( ).MedicationStrengthPerUnit ( ),
        DaysSupplied: Order.MedicationRequestPeriodInDays ( )
        return if DaysSupplied is not null
          and ( MedicationStrength.unit = 'mg'
              or ( MedicationStrength.unit = 'mg/mL'
                  and Order.dispenseRequest.quantity.unit = 'mL'
              )
          ) then ( ( Order.dispenseRequest.quantity * MedicationStrength ) / Quantity { value: DaysSupplied, unit: 'd' } ) 
          else null
    Library Name Name
    UseofHighRiskMedicationsintheElderlyFHIR MedicationStrengthPerUnit
    define fluent function MedicationStrengthPerUnit(Strength Concept):
      case
        when Strength ~ "digoxin 0.05 MG/ML Oral Solution" then 0.05 'mg/mL'
        when Strength ~ "digoxin 0.0625 MG Oral Tablet" then 0.0625 'mg'
        when Strength ~ "1 ML digoxin 0.1 MG/ML Injection" then 0.1 'mg/mL'
        when Strength ~ "digoxin 0.125 MG Oral Tablet" then 0.125 'mg'
        when Strength ~ "digoxin 0.25 MG Oral Tablet" then 0.25 'mg'
        when Strength ~ "2 ML digoxin 0.25 MG/ML Injection" then 0.25 'mg/mL'
        when Strength ~ "doxepin 3 MG Oral Tablet" then 3 'mg'
        when Strength ~ "doxepin 6 MG Oral Tablet" then 6 'mg'
        when Strength ~ "doxepin 10 MG Oral Capsule" then 10 'mg'
        when Strength ~ "doxepin 10 MG/ML Oral Solution" then 10 'mg/mL'
        when Strength ~ "doxepin 25 MG Oral Capsule" then 25 'mg'
        when Strength ~ "doxepin 50 MG Oral Capsule" then 50 'mg'
        when Strength ~ "doxepin 75 MG Oral Capsule" then 75 'mg'
        when Strength ~ "doxepin 100 MG Oral Capsule" then 100 'mg'
        when Strength ~ "doxepin 150 MG Oral Capsule" then 150 'mg' 
        else null end
    Library Name Name
    CQMCommon getMedicationCode
    /*
    @description: Returns the medication code for the given MedicationRequest
    */
    define fluent function getMedicationCode(request MedicationRequest ):
      if request.medication is Concept then
      	  request.medication as Concept
      	else
      	  (singleton from ([Medication] M where M.id = (request.medication as Reference).reference.getId())).code
    Library Name Name
    Status isEncounterPerformed
    //Encounter, Performed
    //General usage unless required otherwise by measure intent (e.g., follow-up encounters)
    define fluent function isEncounterPerformed(Enc List<Encounter>):
      Enc E
        where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}
    Library Name Name
    FHIRHelpers ToConcept
    /*
    @description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
    */
    define function ToConcept(concept FHIR.CodeableConcept):
        if concept is null then
            null
        else
            System.Concept {
                codes: concept.coding C return ToCode(C),
                display: concept.text.value
            }
    Library Name Name
    QICoreCommon toInterval
    /*
    @description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
    @comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
    to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
    representations for timing-valued elements in QICore, allowing this function to be used across any resource.
    The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
    The intent of this function is to provide a clear and concise mechanism to treat single
    elements that have multiple possible representations as intervals so that logic doesn't have to account
    for the variability. More complex calculations (such as medication request period or dispense period
    calculation) need specific guidance and consideration. That guidance may make use of this function, but
    the focus of this function is on single element calculations where the semantics are unambiguous.
    If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
    If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
    and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
    If the input is a DateTime Interval, the result is the input.
    If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
    is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
    immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
    If 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
    */
    define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
      case
    	  when choice is DateTime then
        	Interval[choice as DateTime, choice as DateTime]
    		when choice is Interval<DateTime> then
      		choice as Interval<DateTime>
    		when choice is Quantity then
    		  Interval[Patient.birthDate + (choice as Quantity),
    			  Patient.birthDate + (choice as Quantity) + 1 year)
    		when choice is Interval<Quantity> then
    		  Interval[Patient.birthDate + (choice.low as Quantity),
    			  Patient.birthDate + (choice.high as Quantity) + 1 year)
    		when choice is Timing then
          Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
    		else
    			null as Interval<DateTime>
    	end
    Library Name Name
    Status isAssessmentPerformed
    //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.
    
    //Assessment, Performed
    define fluent function isAssessmentPerformed(Obs List<Observation>):
      Obs O
        where O.status in { 'final', 'amended', 'corrected' }
              and exists ( O.category ObservationCategory
              where ( ObservationCategory ) ~ "survey"
          )
    Library Name Name
    Status isInterventionOrder
    //Intervention, Order: active and completed only    
    define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>):
      ServiceRequest S
        where S.status in { 'active', 'completed' }
          and S.intent = 'order'
    Library Name Name
    Status isInterventionPerformed
    //Intervention, Performed
    define fluent function isInterventionPerformed(Proc List<Procedure>):
      Proc P
        where P.status ~ 'completed'