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 |
<Measure xmlns="http://hl7.org/fhir">
<id value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
<meta>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">Appropriate Treatment for Upper Respiratory Infection (URI)FHIR</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.1.001</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Measure-AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR.html">Appropriate Treatment for Upper Respiratory Infection (URI)FHIR</a></td>
</tr>
<tr>
<th scope="row">
<b>
short-name identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>CMS154FHIR</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
version-independent identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>urn:uuid:25892635-c2b4-4c29-a351-ef60797c3bd5</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
version-specific identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>urn:uuid:d8161a82-9300-40d3-aeb0-c3aee7a48457</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
publisher (CMS) identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>154FHIR</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Effective Period: </b></th>
<td style="padding-left: 4px;">2025-01-01..2025-12-31</td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">National Committee for Quality Assurance</td>
</tr>
<tr>
<th scope="row"><b>Author: </b></th>
<td style="padding-left: 4px;">National Committee for Quality Assurance</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>Percentage of episodes for patients 3 months of age and older with a diagnosis of upper respiratory infection (URI) that did not result in an antibiotic order</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Purpose: </b></th>
<td style="padding-left: 4px;"><div><p>UNKNOWN</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Copyright: </b></th>
<td style="padding-left: 4px;"><div><p>This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved.</p>
<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>
<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>
<p>Some measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.</p>
<p>This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.</p>
<p>ICD-10 copyright 2024 World Health Organization. All Rights Reserved.</p>
<p>Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product.</p>
<p>“HL7” is the registered trademark of Health Level Seven International.</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Disclaimer: </b></th>
<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>
<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Scoring: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>Proportion </span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Rationale: </b></th>
<td style="padding-left: 4px;"><div><p>Most URI, also known as the common cold, are caused by viruses that require no antibiotic treatment. Too often, antibiotics are prescribed inappropriately, which can lead to antibiotic resistance (when antibiotics can no longer cure bacterial infections). In the United States, at least 2.8 million antibiotic-resistant illnesses and 35,000 deaths occur each year (Centers for Disease Control and Prevention [CDC], 2020).</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Clinical recommendation statement: </b></th>
<td style="padding-left: 4px;"><div><p>American Family Physician (Fashner, Ericson, & Werner, 2012)</p>
<ul>
<li>
<p>Antibiotics should not be used for the treatment of cold symptoms in children or adults. (A)</p>
</li>
<li>
<p>Nonsteroidal anti-inflammatory drugs reduce pain secondary to upper respiratory tract infection in adults. (A)</p>
</li>
<li>
<p>Decongestants, antihistamine/decongestant combinations, and intranasal ipratropium (Atrovent) may improve cold symptoms in adults. (B)</p>
</li>
</ul>
<p>Institute for Clinical Systems Improvement (ICSI) (Short et al., 2017)
The ICSI work group does not recommend antibiotics for treatment of common cold symptoms in children and adults.</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Guidance (Usage): </b></th>
<td style="padding-left: 4px;">This is an episode of care measure that examines all eligible episodes for the patient.
This eCQM is an episode-based measure. An episode is defined as each eligible encounter for patients aged 3 months of age and older with a diagnosis of upper respiratory infection from January 1 to December 28 of the measurement period.
This FHIR-based measure has been derived from the QDM-based measure: CMS154v13.
Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).</td>
</tr>
<tr>
<th scope="row"><b>Population Criteria: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>661d86660f0a9077c1d5a582</b></th>
</tr>
<tr>
<td>Initial Population:</td>
<td>Outpatient visits, telephone visits, virtual encounter (i.e., e-visit or virtual check-in), or emergency department visits with a diagnosis of URI from January 1 to December 28 of the measurement period for patients 3 months of age and older</td>
</tr>
<tr>
<td>Denominator:</td>
<td>Equals Initial Population</td>
</tr>
<tr>
<td>Denominator Exclusion:</td>
<td>Exclude URI episodes when the patient had hospice care for any part of the measurement period.
Exclude URI episodes when the patient had a comorbid condition during the 12 months prior to or on the episode date.
Exclude URI episodes where the patient is taking antibiotics in the 30 days prior to the episode date.
Exclude URI episodes where the patient had competing diagnosis on or three days after the episode date.</td>
</tr>
<tr>
<td>Numerator:</td>
<td>URI episodes without a prescription for antibiotic medication on or three days after the outpatient visit, telephone visit, virtual encounter, or emergency department visit for an upper respiratory infection</td>
</tr>
<tr><b>Stratifier Criteria: </b></tr>
<tr>
<td>Stratum:</td>
<td>3 months-17 years</td>
</tr>
<tr>
<td>Stratum:</td>
<td>18-64 years</td>
</tr>
<tr>
<td>Stratum:</td>
<td>65 years and older</td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Libraries: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td><a href="Library-AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR.html">AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Terminology and Other Dependencies: </b></th>
<td style="padding-left: 4px;">
<li><code>Library/Status|1.8.000</code></li>
<li><code>Library/FHIRHelpers|4.4.000</code></li>
<li><code>Library/QICoreCommon|2.1.000</code></li>
<li><code>Library/Hospice|6.12.000</code></li>
<li><code>Library/Antibiotic|1.7.000</code></li>
<li><code>Library/CumulativeMedicationDuration|4.1.000</code></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-CPT.html">Current Procedural Terminology (CPT®)</a></li>
<li><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">SNOMED CT (all versions)</a></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html">Observation Category Codes</a></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1010/expansion">Emergency Department Visit</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1016/expansion">Home Healthcare Services</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1073/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073</a></li>
<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>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1008/expansion">Outpatient Consultation</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1027/expansion">Preventive Care Services - Group Counseling</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1026/expansion">Preventive Care Services-Individual Counseling</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1022/expansion">Preventive Care Services, Initial Office Visit, 0 to 17</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1024/expansion">Preventive Care, Established Office Visit, 0 to 17</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion">Preventive Care Services - Established Office Visit, 18 and Up</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion">Preventive Care Services-Initial Office Visit, 18 and Up</a></li>
<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>
<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>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1022/expansion">Upper Respiratory Infection</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1001/expansion">Antibiotic Medications for Pharyngitis</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion">Encounter Inpatient</a></li>
<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>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion">Hospice Care Ambulatory</a></li>
<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>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1025/expansion">Comorbid Conditions for Respiratory Conditions</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1017/expansion">Competing Conditions for Respiratory Conditions</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1011/expansion">Acute Pharyngitis</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1012/expansion">Acute Tonsillitis</a></li>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>name</b></th>
<th><b>use</b></th>
<th><b>min</b></th>
<th><b>max</b></th>
<th><b>type</b></th>
</tr>
<tr>
<td>Measurement Period</td>
<td>In</td>
<td>0</td>
<td>1</td>
<td>Period</td>
</tr>
<tr>
<td>ErrorLevel</td>
<td>In</td>
<td>0</td>
<td>1</td>
<td>string</td>
</tr>
<tr>
<td>Numerator</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Stratification 3</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Stratification 2</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Stratification 1</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Denominator</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Initial Population</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Denominator Exclusions</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>DataRequirements:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>Resource Type</b></th>
<th><b>Resource Elements</b></th>
<th><b>Valueset Name</b></th>
<th><b>Valueset</b></th>
</tr>
<tr>
<td>Patient(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-patient.html">QICorePatient</a>)</td>
<td>
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Emergency Department Evaluation and Management Visit
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1010/expansion">Emergency Department Visit</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Home Healthcare Services
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1016/expansion">Home Healthcare Services</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Medical Disability Exam
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1073/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Office Visit
</td>
<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>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Outpatient Consultation
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1008/expansion">Outpatient Consultation</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care Services Group Counseling
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1027/expansion">Preventive Care Services - Group Counseling</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care Services Individual Counseling
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1026/expansion">Preventive Care Services-Individual Counseling</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care Services, Initial Office Visit, 0 to 17
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1022/expansion">Preventive Care Services, Initial Office Visit, 0 to 17</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care, Established Office Visit, 0 to 17
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1024/expansion">Preventive Care, Established Office Visit, 0 to 17</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care Services Established Office Visit, 18 and Up
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1025/expansion">Preventive Care Services - Established Office Visit, 18 and Up</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Preventive Care Services Initial Office Visit, 18 and Up
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.101.12.1023/expansion">Preventive Care Services-Initial Office Visit, 18 and Up</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Telephone Visits
</td>
<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>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
</td>
<td>
Virtual Encounter
</td>
<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>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
hospitalization
hospitalization.dischargeDisposition
period
status
status.value
</td>
<td>
Encounter Inpatient
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion">Encounter Inpatient</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
period
status
status.value
</td>
<td>
Hospice Encounter
</td>
<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>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Upper Respiratory Infection
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1022/expansion">Upper Respiratory Infection</a></td>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Hospice Diagnosis
</td>
<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>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Comorbid Conditions for Respiratory Conditions
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1025/expansion">Comorbid Conditions for Respiratory Conditions</a></td>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Competing Conditions for Respiratory Conditions
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1017/expansion">Competing Conditions for Respiratory Conditions</a></td>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Acute Pharyngitis
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1011/expansion">Acute Pharyngitis</a></td>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
code
</td>
<td>
Acute Tonsillitis
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.102.12.1012/expansion">Acute Tonsillitis</a></td>
</tr>
<tr>
<td>Medication(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medication.html">QICoreMedication</a>)</td>
<td>
id
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Medication(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medication.html">QICoreMedication</a>)</td>
<td>
id
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>MedicationRequest(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html">QICoreMedicationRequest</a>)</td>
<td>
medication
status
status.value
intent
intent.value
authoredOn
authoredOn.value
dosageInstruction
dispenseRequest
dispenseRequest.expectedSupplyDuration
dispenseRequest.quantity
dispenseRequest.numberOfRepeatsAllowed
dispenseRequest.numberOfRepeatsAllowed.value
dispenseRequest.validityPeriod
</td>
<td>
Antibiotic Medications for Upper Respiratory Infection
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.196.12.1001/expansion">Antibiotic Medications for Pharyngitis</a></td>
</tr>
<tr>
<td>MedicationRequest(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationrequest.html">QICoreMedicationRequest</a>)</td>
<td>
medication.reference
status
status.value
intent
intent.value
authoredOn
authoredOn.value
dosageInstruction
dispenseRequest
dispenseRequest.expectedSupplyDuration
dispenseRequest.quantity
dispenseRequest.numberOfRepeatsAllowed
dispenseRequest.numberOfRepeatsAllowed.value
dispenseRequest.validityPeriod
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
code
value
effective
status
status.value
category
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>ServiceRequest(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-servicerequest.html">QICoreServiceRequest</a>)</td>
<td>
code
authoredOn
authoredOn.value
status
status.value
intent
intent.value
</td>
<td>
Hospice Care Ambulatory
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion">Hospice Care Ambulatory</a></td>
</tr>
<tr>
<td>Procedure(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html">QICoreProcedure</a>)</td>
<td>
code
performed
status
status.value
</td>
<td>
Hospice Care Ambulatory
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.526.3.1584/expansion">Hospice Care Ambulatory</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Direct Reference Codes:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>display</b></th>
<th><b>code</b></th>
<th><b>system</b></th>
</tr>
<tr>
<td>Unlisted preventive medicine service</td>
<td>99429</td>
<td><a href="http://terminology.hl7.org/5.5.0/CodeSystem-CPT.html">http://www.ama-assn.org/go/cpt</a></td>
</tr>
<tr>
<td>Discharge to home for hospice care (procedure)</td>
<td>428361000124107</td>
<td><a href="https://browser.ihtsdotools.org/">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>Discharge to healthcare facility for hospice care (procedure)</td>
<td>428371000124100</td>
<td><a href="https://browser.ihtsdotools.org/">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>survey</td>
<td>survey</td>
<td><a href="http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html">http://terminology.hl7.org/CodeSystem/observation-category</a></td>
</tr>
<tr>
<td>Yes (qualifier value)</td>
<td>373066001</td>
<td><a href="https://browser.ihtsdotools.org/">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>Hospice care [Minimum Data Set]</td>
<td>45755-6</td>
<td><a href="https://loinc.org/">http://loinc.org</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Logic Definitions:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>Group</b></th>
<th><b>Scoring</b></th>
<th><b>Population Criteria</b></th>
<th><b>Expression</b></th>
</tr>
<tr>
<td> 661d86660f0a9077c1d5a582 </td>
<td colspan="3" style="padding-left: 4px;">
<b>Group scoring:</b>
<span> proportion </span>
<b>Measure scoring:</b>
<p style="margin-bottom: 5px;">
<span>Proportion</span>
</p>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>Process </span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Rate Aggregation: </b></th>
<td colspan="3" style="padding-left: 4px;">None</td>
</tr>
<tr>
<th scope="row"><b>Improvement Notation: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>increase </span>
</p>
</td>
</tr>
</td>
<tr>
<td/>
<td/>
<td>Initial Population</td>
<td>
<pre><code class="language-cql">define "Initial Population":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInMonthsAt(date from start of "Measurement Period") >= 3
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Denominator</td>
<td>
<pre><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Denominator Exclusion</td>
<td>
<pre><code class="language-cql">define "Denominator Exclusions":
"Encounters and Assessments with Hospice Patient"
union Antibiotic."Has Comorbid Condition History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Comorbid Conditions for Respiratory Conditions"] ) )
union Antibiotic."Has Antibiotic Medication History" ( "Encounter with Upper Respiratory Infection", ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ) )
union Antibiotic."Has Competing Diagnosis History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Competing Conditions for Respiratory Conditions"]
union [Condition: "Acute Pharyngitis"]
union [Condition: "Acute Tonsillitis"]
) )</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Numerator</td>
<td>
<pre><code class="language-cql">define "Numerator":
"Encounter with Upper Respiratory Infection" EncounterWithURI
without ( ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ).isMedicationOrder ( ) ) OrderedAntibiotic
such that OrderedAntibiotic.authoredOn 3 days or less on or after start of EncounterWithURI.period.toInterval ( )
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td/>
<td>
<pre><code class="language-cql"/></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td/>
<td>
<pre><code class="language-cql"/></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td/>
<td>
<pre><code class="language-cql"/></pre>
</td>
</tr>
</tr>
</table>
<table class="grid-dict">
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Qualifying Encounters</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Qualifying Encounters":
( ( [Encounter: "Emergency Department Evaluation and Management Visit"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Medical Disability Exam"]
union [Encounter: "Office Visit"]
union [Encounter: "Outpatient Consultation"]
union [Encounter: "Preventive Care Services Group Counseling"]
union [Encounter: "Preventive Care Services Individual Counseling"]
union [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]
union [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]
union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
union [Encounter: "Telephone Visits"]
union [Encounter: "Virtual Encounter"]
union ( [Encounter] E
where exists ( ( E.type ) T
where T ~ "Unlisted preventive medicine service"
)
)
).isEncounterPerformed ( ) ) ValidEncounter
where ValidEncounter.period.toInterval ( ) ends during day of Interval[( start of "Measurement Period" ), ( end of "Measurement Period" ) - 3 days]</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Encounter with Upper Respiratory Infection</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Upper Respiratory Infection":
from
"Qualifying Encounters" QualifyingEncounters,
[Condition: "Upper Respiratory Infection"] URI
where URI.prevalenceInterval ( ) starts during day of QualifyingEncounters.period.toInterval ( )
or URI.prevalenceInterval ( ) overlaps before QualifyingEncounters.period.toInterval ( )
return QualifyingEncounters</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Numerator</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Numerator":
"Encounter with Upper Respiratory Infection" EncounterWithURI
without ( ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ).isMedicationOrder ( ) ) OrderedAntibiotic
such that OrderedAntibiotic.authoredOn 3 days or less on or after start of EncounterWithURI.period.toInterval ( )
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Stratification 3</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Stratification 3":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInYearsAt(date from start of "Measurement Period") >= 65
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Stratification 2</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Stratification 2":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInYearsAt(date from start of "Measurement Period") in Interval[18, 64]
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Stratification 1</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Stratification 1":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInMonthsAt(date from start of "Measurement Period") >= 3
and AgeInYearsAt(date from start of "Measurement Period") <= 17
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Initial Population</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Initial Population":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInMonthsAt(date from start of "Measurement Period") >= 3
return EncounterWithURI</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Denominator</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Hospice</td>
<td>Has Hospice Services</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">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"
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Encounters and Assessments with Hospice Patient</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounters and Assessments with Hospice Patient":
"Initial Population" EligibleEncounters
where Hospice."Has Hospice Services"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR</td>
<td>Denominator Exclusions</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Denominator Exclusions":
"Encounters and Assessments with Hospice Patient"
union Antibiotic."Has Comorbid Condition History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Comorbid Conditions for Respiratory Conditions"] ) )
union Antibiotic."Has Antibiotic Medication History" ( "Encounter with Upper Respiratory Infection", ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ) )
union Antibiotic."Has Competing Diagnosis History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Competing Conditions for Respiratory Conditions"]
union [Condition: "Acute Pharyngitis"]
union [Condition: "Acute Tonsillitis"]
) )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Status</td>
<td>isEncounterPerformed</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">//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'}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>FHIRHelpers</td>
<td>ToConcept</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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
}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>toInterval</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>prevalenceInterval</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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]</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Status</td>
<td>isMedicationOrder</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">//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'</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Status</td>
<td>isAssessmentPerformed</td>
</tr>
<tr>
<td/>
<td>
<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.
//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"
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Status</td>
<td>isInterventionOrder</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">//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'</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Status</td>
<td>isInterventionPerformed</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">//Intervention, Performed
define fluent function isInterventionPerformed(Proc List<Procedure>):
Proc P
where P.status ~ 'completed'</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Antibiotic</td>
<td>Has Comorbid Condition History</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "Has Comorbid Condition History"(episodeDate List<Encounter>, comorbidConditions List<Condition>):
episodeDate eDate
with comorbidConditions comcondition
such that date from start of comcondition.prevalenceInterval() during Interval[date from start of eDate.period.toInterval() - 1 year, date from start of eDate.period.toInterval()]
return eDate</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Antibiotic</td>
<td>Has Antibiotic Medication History</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "Has Antibiotic Medication History"(episodeDate List<Encounter>, antibioticMedications List<MedicationRequest>):
episodeDate DateOfEpisode
with antibioticMedications ActiveMedication
such that ActiveMedication.medicationRequestPeriod() overlaps day of Interval[date from start of DateOfEpisode.period.toInterval() - 30 days, date from start of DateOfEpisode.period.toInterval() - 1 day]</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>CumulativeMedicationDuration</td>
<td>medicationRequestPeriod</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">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</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>CumulativeMedicationDuration</td>
<td>Quantity</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/**********************************************************************/
/* 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</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>CumulativeMedicationDuration</td>
<td>ToDaily</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
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</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>Antibiotic</td>
<td>Has Competing Diagnosis History</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "Has Competing Diagnosis History"(episodeDate List<Encounter>, competingConditions List<Condition>):
episodeDate eDate
with competingConditions competcondition
such that competcondition.prevalenceInterval() starts 3 days or less on or after day of start of eDate.period
return eDate</code></pre>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://www.ama-assn.org/go/cpt"/>
<code value="99429"/>
<display value="Unlisted preventive medicine service"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="428361000124107"/>
<display value="Discharge to home for hospice care (procedure)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="428371000124100"/>
<display
value="Discharge to healthcare facility for hospice care (procedure)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
<code value="survey"/>
<display value="survey"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="373066001"/>
<display value="Yes (qualifier value)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="45755-6"/>
<display value="Hospice care [Minimum Data Set]"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Qualifying Encounters"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Encounters":
( ( [Encounter: "Emergency Department Evaluation and Management Visit"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Medical Disability Exam"]
union [Encounter: "Office Visit"]
union [Encounter: "Outpatient Consultation"]
union [Encounter: "Preventive Care Services Group Counseling"]
union [Encounter: "Preventive Care Services Individual Counseling"]
union [Encounter: "Preventive Care Services, Initial Office Visit, 0 to 17"]
union [Encounter: "Preventive Care, Established Office Visit, 0 to 17"]
union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
union [Encounter: "Telephone Visits"]
union [Encounter: "Virtual Encounter"]
union ( [Encounter] E
where exists ( ( E.type ) T
where T ~ "Unlisted preventive medicine service"
)
)
).isEncounterPerformed ( ) ) ValidEncounter
where ValidEncounter.period.toInterval ( ) ends during day of Interval[( start of "Measurement Period" ), ( end of "Measurement Period" ) - 3 days]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Encounter with Upper Respiratory Infection"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Upper Respiratory Infection":
from
"Qualifying Encounters" QualifyingEncounters,
[Condition: "Upper Respiratory Infection"] URI
where URI.prevalenceInterval ( ) starts during day of QualifyingEncounters.period.toInterval ( )
or URI.prevalenceInterval ( ) overlaps before QualifyingEncounters.period.toInterval ( )
return QualifyingEncounters"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="define "Numerator":
"Encounter with Upper Respiratory Infection" EncounterWithURI
without ( ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ).isMedicationOrder ( ) ) OrderedAntibiotic
such that OrderedAntibiotic.authoredOn 3 days or less on or after start of EncounterWithURI.period.toInterval ( )
return EncounterWithURI"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Stratification 3"/>
</extension>
<extension url="statement">
<valueString
value="define "Stratification 3":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInYearsAt(date from start of "Measurement Period") >= 65
return EncounterWithURI"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Stratification 2"/>
</extension>
<extension url="statement">
<valueString
value="define "Stratification 2":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInYearsAt(date from start of "Measurement Period") in Interval[18, 64]
return EncounterWithURI"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Stratification 1"/>
</extension>
<extension url="statement">
<valueString
value="define "Stratification 1":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInMonthsAt(date from start of "Measurement Period") >= 3
and AgeInYearsAt(date from start of "Measurement Period") <= 17
return EncounterWithURI"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
"Encounter with Upper Respiratory Infection" EncounterWithURI
where AgeInMonthsAt(date from start of "Measurement Period") >= 3
return EncounterWithURI"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Hospice"/>
</extension>
<extension url="name">
<valueString value="Has Hospice Services"/>
</extension>
<extension url="statement">
<valueString
value="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"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounters and Assessments with Hospice Patient"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounters and Assessments with Hospice Patient":
"Initial Population" EligibleEncounters
where Hospice."Has Hospice Services""/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusions"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusions":
"Encounters and Assessments with Hospice Patient"
union Antibiotic."Has Comorbid Condition History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Comorbid Conditions for Respiratory Conditions"] ) )
union Antibiotic."Has Antibiotic Medication History" ( "Encounter with Upper Respiratory Infection", ( [MedicationRequest: "Antibiotic Medications for Upper Respiratory Infection"] ) )
union Antibiotic."Has Competing Diagnosis History" ( "Encounter with Upper Respiratory Infection", ( [Condition: "Competing Conditions for Respiratory Conditions"]
union [Condition: "Acute Pharyngitis"]
union [Condition: "Acute Tonsillitis"]
) )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Status"/>
</extension>
<extension url="name">
<valueString value="isEncounterPerformed"/>
</extension>
<extension url="statement">
<valueString
value="//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'}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="toInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="prevalenceInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Status"/>
</extension>
<extension url="name">
<valueString value="isMedicationOrder"/>
</extension>
<extension url="statement">
<valueString
value="//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'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Status"/>
</extension>
<extension url="name">
<valueString value="isAssessmentPerformed"/>
</extension>
<extension url="statement">
<valueString
value="//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"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Status"/>
</extension>
<extension url="name">
<valueString value="isInterventionOrder"/>
</extension>
<extension url="statement">
<valueString
value="//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'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Status"/>
</extension>
<extension url="name">
<valueString value="isInterventionPerformed"/>
</extension>
<extension url="statement">
<valueString
value="//Intervention, Performed
define fluent function isInterventionPerformed(Proc List<Procedure>):
Proc P
where P.status ~ 'completed'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Antibiotic"/>
</extension>
<extension url="name">
<valueString value="Has Comorbid Condition History"/>
</extension>
<extension url="statement">
<valueString
value="define function "Has Comorbid Condition History"(episodeDate List<Encounter>, comorbidConditions List<Condition>):
episodeDate eDate
with comorbidConditions comcondition
such that date from start of comcondition.prevalenceInterval() during Interval[date from start of eDate.period.toInterval() - 1 year, date from start of eDate.period.toInterval()]
return eDate"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Antibiotic"/>
</extension>
<extension url="name">
<valueString value="Has Antibiotic Medication History"/>
</extension>
<extension url="statement">
<valueString
value="define function "Has Antibiotic Medication History"(episodeDate List<Encounter>, antibioticMedications List<MedicationRequest>):
episodeDate DateOfEpisode
with antibioticMedications ActiveMedication
such that ActiveMedication.medicationRequestPeriod() overlaps day of Interval[date from start of DateOfEpisode.period.toInterval() - 30 days, date from start of DateOfEpisode.period.toInterval() - 1 day]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="CumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="medicationRequestPeriod"/>
</extension>
<extension url="statement">
<valueString
value="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"/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="CumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="Quantity"/>
</extension>
<extension url="statement">
<valueString
value="/**********************************************************************/
/* 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"/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="CumulativeMedicationDuration"/>
</extension>
<extension url="name">
<valueString value="ToDaily"/>
</extension>
<extension url="statement">
<valueString
value="/*
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"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="Antibiotic"/>
</extension>
<extension url="name">
<valueString value="Has Competing Diagnosis History"/>
</extension>
<extension url="statement">
<valueString
value="define function "Has Competing Diagnosis History"(episodeDate List<Encounter>, competingConditions List<Condition>):
episodeDate eDate
with competingConditions competcondition
such that competcondition.prevalenceInterval() starts 3 days or less on or after day of start of eDate.period
return eDate"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Status"/>
<resource value="Library/Status|1.8.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library QICoreCommon"/>
<resource value="Library/QICoreCommon|2.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Hospice"/>
<resource value="Library/Hospice|6.12.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Antibiotic"/>
<resource value="Library/Antibiotic|1.7.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library CMD"/>
<resource value="Library/CumulativeMedicationDuration|4.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system CPT"/>
<resource value="http://www.ama-assn.org/go/cpt"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system SNOMEDCT"/>
<resource value="http://snomed.info/sct"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ObservationCategoryCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system LOINC"/>
<resource value="http://loinc.org"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Emergency Department Evaluation and Management Visit"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Home Healthcare Services"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Medical Disability Exam"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Office Visit"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Outpatient Consultation"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Preventive Care Services Group Counseling"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Individual Counseling"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services, Initial Office Visit, 0 to 17"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care, Established Office Visit, 0 to 17"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Established Office Visit, 18 and Up"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Initial Office Visit, 18 and Up"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Telephone Visits"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Virtual Encounter"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Upper Respiratory Infection"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1022"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Antibiotic Medications for Upper Respiratory Infection"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Encounter Inpatient"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Encounter"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Care Ambulatory"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospice Diagnosis"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Comorbid Conditions for Respiratory Conditions"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Competing Conditions for Respiratory Conditions"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Acute Pharyngitis"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Acute Tonsillitis"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="ErrorLevel"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="string"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Stratification 3"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Stratification 2"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Stratification 1"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exclusions"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1073"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1008"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1027"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1026"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1022"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1024"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="hospitalization"/>
<mustSupport value="hospitalization.dischargeDisposition"/>
<mustSupport value="period"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1022"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1025"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1017"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1011"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.102.12.1012"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Medication"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication"/>
<mustSupport value="id"/>
</dataRequirement>
<dataRequirement>
<type value="Medication"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication"/>
<mustSupport value="id"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"/>
<mustSupport value="medication"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
<mustSupport value="authoredOn"/>
<mustSupport value="authoredOn.value"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="dispenseRequest"/>
<mustSupport value="dispenseRequest.expectedSupplyDuration"/>
<mustSupport value="dispenseRequest.quantity"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed.value"/>
<mustSupport value="dispenseRequest.validityPeriod"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1001"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"/>
<mustSupport value="medication.reference"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
<mustSupport value="authoredOn"/>
<mustSupport value="authoredOn.value"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="dispenseRequest"/>
<mustSupport value="dispenseRequest.expectedSupplyDuration"/>
<mustSupport value="dispenseRequest.quantity"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed"/>
<mustSupport value="dispenseRequest.numberOfRepeatsAllowed.value"/>
<mustSupport value="dispenseRequest.validityPeriod"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="code"/>
<mustSupport value="value"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="category"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="45755-6"/>
<display value="Hospice care [Minimum Data Set]"/>
</code>
</codeFilter>
<codeFilter>
<path value="value"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="ServiceRequest"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest"/>
<mustSupport value="code"/>
<mustSupport value="authoredOn"/>
<mustSupport value="authoredOn.value"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem">
<valueReference>
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements" id="effective-data-requirements">
<valueReference>
<reference value="#effective-data-requirements"/>
</valueReference>
</extension>
<url
value="https://madie.cms.gov/Measure/AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
<identifier>
<use value="usual"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="short-name"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/shortName"/>
<value value="CMS154FHIR"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="version-independent"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:25892635-c2b4-4c29-a351-ef60797c3bd5"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="version-specific"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:d8161a82-9300-40d3-aeb0-c3aee7a48457"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="publisher"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cmsId"/>
<value value="154FHIR"/>
<assigner>
<display value="CMS"/>
</assigner>
</identifier>
<version value="0.1.001"/>
<name value="AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
<title
value="Appropriate Treatment for Upper Respiratory Infection (URI)FHIR"/>
<status value="draft"/>
<experimental value="false"/>
<date value="2024-12-18T21:25:48+00:00"/>
<publisher value="National Committee for Quality Assurance"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://www.ncqa.org/"/>
</telecom>
</contact>
<description
value="Percentage of episodes for patients 3 months of age and older with a diagnosis of upper respiratory infection (URI) that did not result in an antibiotic order"/>
<purpose value="UNKNOWN"/>
<usage
value="This is an episode of care measure that examines all eligible episodes for the patient.
This eCQM is an episode-based measure. An episode is defined as each eligible encounter for patients aged 3 months of age and older with a diagnosis of upper respiratory infection from January 1 to December 28 of the measurement period.
This FHIR-based measure has been derived from the QDM-based measure: CMS154v13.
Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html)."/>
<copyright
value="This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved.
Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications.
CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use.
Some measure specifications contain coding from LOINC(R) (http://loinc.org). The LOINC table, LOINC codes, LOINC panels and form file, LOINC linguistic variants file, LOINC/RSNA Radiology Playbook, and LOINC/IEEE Medical Device Code Mapping Table are copyright 2004-2024 Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee, and are available at no cost under the license at http://loinc.org/terms-of-use.
This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation.
ICD-10 copyright 2024 World Health Organization. All Rights Reserved.
Some measures use RxNorm, a standardized nomenclature and coding for clinical drugs and drug delivery devices, which is made publicly available courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services. NLM is not responsible for the measures and does not endorse or recommend this or any other product.
“HL7” is the registered trademark of Health Level Seven International."/>
<effectivePeriod>
<start value="2025-01-01"/>
<end value="2025-12-31"/>
</effectivePeriod>
<author>
<name value="National Committee for Quality Assurance"/>
<telecom>
<system value="url"/>
<value value="https://www.ncqa.org/"/>
</telecom>
</author>
<library
value="https://madie.cms.gov/Library/AppropriateTreatmentforUpperRespiratoryInfectionURIFHIR"/>
<disclaimer
value="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>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</scoring>
<rationale
value="Most URI, also known as the common cold, are caused by viruses that require no antibiotic treatment. Too often, antibiotics are prescribed inappropriately, which can lead to antibiotic resistance (when antibiotics can no longer cure bacterial infections). In the United States, at least 2.8 million antibiotic-resistant illnesses and 35,000 deaths occur each year (Centers for Disease Control and Prevention [CDC], 2020)."/>
<clinicalRecommendationStatement
value="American Family Physician (Fashner, Ericson, & Werner, 2012)
- Antibiotics should not be used for the treatment of cold symptoms in children or adults. (A)
- Nonsteroidal anti-inflammatory drugs reduce pain secondary to upper respiratory tract infection in adults. (A)
- Decongestants, antihistamine/decongestant combinations, and intranasal ipratropium (Atrovent) may improve cold symptoms in adults. (B)
Institute for Clinical Systems Improvement (ICSI) (Short et al., 2017)
The ICSI work group does not recommend antibiotics for treatment of common cold symptoms in children and adults."/>
<group id="661d86660f0a9077c1d5a582">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
<valueCode value="Encounter"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type">
<valueCodeableConcept>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="process"/>
<display value="Process"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation">
<valueCode value="None"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
<display value="increase"/>
</coding>
</valueCodeableConcept>
</extension>
<population id="6DBE917A-E110-4517-82A0-29C307A751A0">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description
value="Outpatient visits, telephone visits, virtual encounter (i.e., e-visit or virtual check-in), or emergency department visits with a diagnosis of URI from January 1 to December 28 of the measurement period for patients 3 months of age and older"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="AC6DDEB9-AD25-459F-B145-66B89BF57BE8">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
<display value="Denominator"/>
</coding>
</code>
<description value="Equals Initial Population"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="0B689432-9ECE-4091-B1F8-2D6E134D5110">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
<display value="Denominator Exclusion"/>
</coding>
</code>
<description
value="Exclude URI episodes when the patient had hospice care for any part of the measurement period.
Exclude URI episodes when the patient had a comorbid condition during the 12 months prior to or on the episode date.
Exclude URI episodes where the patient is taking antibiotics in the 30 days prior to the episode date.
Exclude URI episodes where the patient had competing diagnosis on or three days after the episode date."/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusions"/>
</criteria>
</population>
<population id="D321AC3A-81D1-43FE-8787-87AA0D0EB6B4">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="URI episodes without a prescription for antibiotic medication on or three days after the outpatient visit, telephone visit, virtual encounter, or emergency department visit for an upper respiratory infection"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
<stratifier id="6fddfab7-ee36-4e97-9859-09f0abfabfeb">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-appliesTo">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</valueCodeableConcept>
</extension>
<description value="3 months-17 years"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Stratification 1"/>
</criteria>
</stratifier>
<stratifier id="863976f9-0817-4734-bda3-19e3fadf951d">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-appliesTo">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</valueCodeableConcept>
</extension>
<description value="18-64 years"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Stratification 2"/>
</criteria>
</stratifier>
<stratifier id="7c5d99f3-6bb1-4528-a575-fa77e1113c0d">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-appliesTo">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</valueCodeableConcept>
</extension>
<description value="65 years and older"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Stratification 3"/>
</criteria>
</stratifier>
</group>
</Measure>