eCQM QICore Content Implementation Guide
2024.0.0 - CI Build
eCQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2024.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2024/ and changes regularly. See the Directory of published versions
Draft as of 2024-07-09 |
<Measure xmlns="http://hl7.org/fhir">
<id value="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
<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;">Intravesical Bacillus-Calmette-Guerin for Non-Muscle Invasive Bladder CancerFHIR</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">1.4.000</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Measure-IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR.html">Intravesical Bacillus-Calmette-Guerin for Non-Muscle Invasive Bladder CancerFHIR</a></td>
</tr>
<tr>
<th scope="row">
<b>
short-name identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>CMS646FHIR</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:907ead5a-2f8f-468e-b774-309ea8aa6182</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:2247c9d9-9de5-47dd-a2a5-cb05249f6a3e</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>646FHIR</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;">Oregon Urology</td>
</tr>
<tr>
<th scope="row"><b>Author: </b></th>
<td style="padding-left: 4px;">Oregon Urology</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>Percentage of patients initially diagnosed with non-muscle invasive bladder cancer and who received intravesical Bacillus-Calmette-Guerin (BCG) within 6 months of bladder cancer staging</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>Limited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. Oregon Urology Institute (OUI) and Large Urology Group Practice Association (LUGPA) disclaim all liability for use or accuracy of third party codes contained in the specifications.</p>
<p>CPT(R) contained in the Measure specifications is copyright 2004-2023. American Medical Association. LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 World Health Organization. All Rights Reserved.</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.</p>
<p>THE MEASURES 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>Bladder cancer is ranked 10th for new cancer cases in 2020 and is the 9th leading cause of cancer death in the United States. There are 81,400 estimated new cases in 2020 and 17,980 estimated deaths in 2020. In 2016, there were an estimated 699,450 people living with bladder cancer in the United States. Early detection (discovery of cancer in situ or localized to the primary site) is found in 85% of the patients, and with these there is a five-year survival rate of 95.8% for In Situ and 69.2% for Localized. Bladder cancer is rarely found in patients under age 20, with the median age of diagnosis being 73 (NIH, 2020).
National Comprehensive Cancer Network (NCCN) Guidelines for Bladder Cancer (version 6.2021) defines intravesical BCG as Category 1 Treatment for Ta - high grade, T1 and Tis non-muscle invasive bladder cancer. Most public data reflects prophylactic or adjuvant use of intravesical therapy with the goal of preventing recurrence or delaying progression to a higher grade or stage. BCG has been shown to be effective as prophylaxis to prevent bladder cancer recurrences following TURBT. The NCCN Bladder Cancer Panel Members recommend BCG as the preferred option over Mitomycin C for adjuvant treatment of high-grade lesions (Ta). BCG is also standard therapy for Primary Tis. Most T1 lesions are high risk and are similarly treated with adjuvant intravesical therapy with BCG being a Category 1 recommendation. (NCCN, 2021).</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Clinical recommendation statement: </b></th>
<td style="padding-left: 4px;"><div><p>Intravesical BCG should be administered within 6 months of the initial diagnosis of non-muscle invasive bladder cancer. It may be administered 3-4 weeks after resection, but there needs to be pathological tumor confirmation and must be withheld if there is traumatic catheterization, bacteriuria, persistent gross hematuria, persistent severe local symptoms or systemic symptoms. The normal induction course is 6 weekly instillations of intravesical BCG (AUA Non-Muscle Invasive Bladder Cancer and American Urological Association (AUA) Guideline for the Management of Non-muscle Invasive Bladder Cancer: Stages Ta High Risk, T1 and TIS).</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Guidance (Usage): </b></th>
<td style="padding-left: 4px;">Ta bladder cancer must be high grade Ta only and is supported by the 2016 AUA guidelines and 2018 NCCN guidelines.
The BCG dose can be full or partial and can be from any lot or manufacturer.
This eCQM is a patient-based measure.
Telehealth encounters are not eligible for this measure because the measure requires a clinical action that cannot be conducted via telehealth
This FHIR-based measure has been derived from the QDM-based measure: CMS646v5.
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>6643b88af4fc785d87117101</b></th>
</tr>
<tr>
<td>Initial Population:</td>
<td>All patients initially diagnosed with T1, Tis or high grade Ta non-muscle invasive bladder cancer with bladder cancer staging within 6 months before to 6 months after the start of the measurement period and a qualified encounter in the measurement period</td>
</tr>
<tr>
<td>Denominator:</td>
<td>Equals Initial Population</td>
</tr>
<tr>
<td>Denominator Exclusion:</td>
<td>Immunosuppressed patients, includes HIV and immunocompromised state, with a diagnosis prior to Bladder Cancer Staging.
Immunosuppressive drug therapy starting on or before Bladder Cancer Staging.
Active Tuberculosis diagnosis during the Bladder Cancer Staging.
Mixed histology urothelial cell carcinoma including micropapillary, plasmacytoid, sarcomatoid, adenocarcinoma and squamous disease prior to Bladder Cancer Staging.
Patients who undergo cystectomy, chemotherapy or radiation within 6 months prior to Bladder Cancer Staging.</td>
</tr>
<tr>
<td>Numerator:</td>
<td>Intravesical Bacillus-Calmette Guerin (BCG) instillation for initial dose or series:
BCG is initiated within 6 months of the bladder cancer staging</td>
</tr>
<tr>
<td>Denominator Exception:</td>
<td>Unavailability of BCG within 6 months after Bladder Cancer Staging</td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b> Supplemental Data Elements: </b></th>
<td style="padding-left: 4px;">
<p>SDE Ethnicity</p>
<p>SDE Payer</p>
<p>SDE Race</p>
<p>SDE Sex</p>
</td>
</tr>
<tr>
<th scope="row">
<b> Supplemental Data Guidance
: </b></th>
<td style="padding-left: 4px;"> For every patient evaluated by this measure also identify payer, race, ethnicity and sex </td>
</tr>
<tr>
<th scope="row"><b>Libraries: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td><a href="Library-IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR.html">IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</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/SupplementalDataElements|3.5.000</code></li>
<li><code>Library/QICoreCommon|2.1.000</code></li>
<li><code>Library/FHIRHelpers|4.4.000</code></li>
<li><a href="http://hl7.org/fhir/R4/codesystem-administrative-gender.html">AdministrativeGender</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-condition-clinical.html">Condition Clinical Status Codes</a></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-condition-ver-status.html">ConditionVerificationStatus</a></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-icd10CM.html">International Classification of Diseases, 10th Revision, Clinical Modification (ICD-10-CM)</a></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-v3-ActCode.html">ActCode</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.52/expansion">BCG Bacillus Calmette Guerin for Urology Care</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.45/expansion">Bladder Cancer for Urology Care</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.114222.4.11.3591/expansion">Payer</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.56/expansion">Active Tuberculosis for Urology Care</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.32/expansion">Immunosuppressive Drugs for Urology Care</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.55/expansion">Cystectomy for Urology Care</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.120.12.1003/expansion">HIV</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.1940/expansion">Immunocompromised Conditions</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.39/expansion">Mixed histology urothelial cell carcinoma for Urology Care</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.60/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.60</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>SDE Sex</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>Coding</td>
</tr>
<tr>
<td>Numerator</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>boolean</td>
</tr>
<tr>
<td>Denominator Exception</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>boolean</td>
</tr>
<tr>
<td>Denominator</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>boolean</td>
</tr>
<tr>
<td>SDE Payer</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>1</td>
<td>boolean</td>
</tr>
<tr>
<td>SDE Ethnicity</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>Resource</td>
</tr>
<tr>
<td>Denominator Exclusion</td>
<td>Out</td>
<td>0</td>
<td>1</td>
<td>boolean</td>
</tr>
<tr>
<td>SDE Race</td>
<td>Out</td>
<td>0</td>
<td>1</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>
ethnicity
race
</td>
<td>
</td>
<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>
Bladder Cancer for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.45/expansion">Bladder Cancer for Urology Care</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>
Active Tuberculosis for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.56/expansion">Active Tuberculosis for Urology Care</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>
HIV
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.464.1003.120.12.1003/expansion">HIV</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>
Immunocompromised Conditions
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.1940/expansion">Immunocompromised 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>
Mixed histology urothelial cell carcinoma for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.39/expansion">Mixed histology urothelial cell carcinoma for Urology Care</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
id
id.value
</td>
<td>
</td>
<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
id
id.value
</td>
<td>
Cystectomy for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.55/expansion">Cystectomy for Urology Care</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
id
id.value
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>MedicationAdministration(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-medicationadministration.html">QICoreMedicationAdministration</a>)</td>
<td>
medication
effective
status
status.value
</td>
<td>
BCG Bacillus Calmette Guerin for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.52/expansion">BCG Bacillus Calmette Guerin for Urology Care</a></td>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
value
status
status.value
reference
reference.value
</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
period
class
status
status.value
</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>Coverage(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-coverage.html">QICoreCoverage</a>)</td>
<td>
type
period
</td>
<td>
Payer Type
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.114222.4.11.3591/expansion">Payer</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
dosageInstruction
status
status.value
intent
intent.value
</td>
<td>
Immunosuppressive Drugs for Urology Care
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.32/expansion">Immunosuppressive Drugs for Urology Care</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
dosageInstruction
status
status.value
intent
intent.value
</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
dosageInstruction
status
status.value
intent
intent.value
</td>
<td>
Chemotherapy Agents for Advanced Cancer
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1151.60/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.60</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>Male</td>
<td>M</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-administrative-gender.html">http://hl7.org/fhir/administrative-gender</a></td>
</tr>
<tr>
<td>Female</td>
<td>F</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-administrative-gender.html">http://hl7.org/fhir/administrative-gender</a></td>
</tr>
<tr>
<td>Tumor staging (tumor staging)</td>
<td>254292007</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>Active</td>
<td>active</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-condition-clinical.html">http://terminology.hl7.org/CodeSystem/condition-clinical</a></td>
</tr>
<tr>
<td>Recurrence</td>
<td>recurrence</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-condition-clinical.html">http://terminology.hl7.org/CodeSystem/condition-clinical</a></td>
</tr>
<tr>
<td>Relapse</td>
<td>relapse</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-condition-clinical.html">http://terminology.hl7.org/CodeSystem/condition-clinical</a></td>
</tr>
<tr>
<td>Confirmed</td>
<td>confirmed</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-condition-ver-status.html">http://terminology.hl7.org/CodeSystem/condition-ver-status</a></td>
</tr>
<tr>
<td>American Joint Committee on Cancer cT1 (qualifier value)</td>
<td>1228889001</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>American Joint Committee on Cancer cTis (qualifier value)</td>
<td>1228884006</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>American Joint Committee on Cancer cTa (qualifier value)</td>
<td>1228883000</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">http://snomed.info/sct</a></td>
</tr>
<tr>
<td>Carcinoma in situ of bladder</td>
<td>D09.0</td>
<td><a href="http://terminology.hl7.org/5.5.0/CodeSystem-icd10CM.html">http://hl7.org/fhir/sid/icd-10-cm</a></td>
</tr>
<tr>
<td>virtual</td>
<td>VR</td>
<td><a href="http://hl7.org/fhir/R4/v3/ActCode/cs.html">http://terminology.hl7.org/CodeSystem/v3-ActCode</a></td>
</tr>
<tr>
<td>Combined radiotherapy (procedure)</td>
<td>169331000</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">http://snomed.info/sct</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> 6643b88af4fc785d87117101 </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>Increased score indicates improvement </span>
</p>
</td>
</tr>
</td>
<tr>
<td/>
<td/>
<td>Initial Population</td>
<td>
<pre><code class="language-cql">define "Initial Population":
"Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1"
and "Has Qualifying Encounter"</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 Exclusion":
exists "Acute Tuberculosis Diagnosis"
or exists "Immunosuppressive Drugs"
or exists "Cystectomy Done"
or "Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging"
or "Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging"</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Numerator</td>
<td>
<pre><code class="language-cql">define "Numerator":
"First BCG Administered" is not null</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Denominator Exception</td>
<td>
<pre><code class="language-cql">/*
@commentedOut: exists "BCG Not Available Within 6 Months After Bladder Cancer Staging"
@commentedOutReason: Negation issue related to https://github.com/cqframework/cql-execution/issues/296, which is tied to https://oncprojectracking.healthit.gov/support/browse/BONNIEMAT-1455. Due to this being the only logic in this population added 'false' as a placeholder.
*/
define "Denominator Exception":
//placeholder
false</code></pre>
</td>
</tr>
</tr>
</table>
<table class="grid-dict">
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>SupplementalDataElements</td>
<td>SDE Sex</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Sex":
case
when Patient.gender = 'male' then "M"
when Patient.gender = 'female' then "F"
else null
end</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>SDE Sex</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Sex":
SDE."SDE Sex"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Bladder Cancer Diagnosis</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Bladder Cancer Diagnosis":
[Condition: "Bladder Cancer for Urology Care"] BladderCancer
where BladderCancer.prevalenceInterval ( ) starts before end of "Measurement Period"
and BladderCancer.isConfirmedActiveDiagnosis ( )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>First Bladder Cancer Staging Procedure</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "First Bladder Cancer Staging Procedure":
First([Procedure: "Tumor staging (tumor staging)"] BladderCancerStaging
with "Bladder Cancer Diagnosis" BladderCancer
such that BladderCancerStaging.performed.toInterval() starts on or before day of start of BladderCancer.prevalenceInterval()
where BladderCancerStaging.status = 'completed'
sort by start of performed.toInterval()
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>First BCG Administered</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "First BCG Administered":
First([MedicationAdministration: "BCG Bacillus Calmette Guerin for Urology Care"] BCG
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that BCG.effective.toInterval() starts 6 months or less after start of FirstBladderCancerStaging.performed.toInterval()
and BCG.effective.toInterval() starts during "Measurement Period"
where BCG.status in { 'in-progress', 'completed' }
sort by start of effective.toInterval()
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Numerator</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Numerator":
"First BCG Administered" is not null</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Denominator Exception</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@commentedOut: exists "BCG Not Available Within 6 Months After Bladder Cancer Staging"
@commentedOutReason: Negation issue related to https://github.com/cqframework/cql-execution/issues/296, which is tied to https://oncprojectracking.healthit.gov/support/browse/BONNIEMAT-1455. Due to this being the only logic in this population added 'false' as a placeholder.
*/
define "Denominator Exception":
//placeholder
false</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>July 1 of Year Prior to the Measurement Period</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "July 1 of Year Prior to the Measurement Period":
DateTime((year from start of "Measurement Period" - 1), 7, 1, 0, 0, 0, 0, 0)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>June 30 of the Measurement Period</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "June 30 of the Measurement Period":
DateTime((year from start of "Measurement Period"), 6, 30, 23, 59, 59, 0, 0)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period":
"First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
where FirstBladderCancerStaging.performed.toInterval ( ) during day of Interval["July 1 of Year Prior to the Measurement Period", "June 30 of the Measurement Period"]</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*Ta High Grade only to be included. Ta low grade is to be excluded from this measure.*/
define "Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1":
exists ( [Observation] StagingObservation
where StagingObservation.getStagingProcedure ( ) is not null
and ( StagingObservation.value as Concept ~ "American Joint Committee on Cancer cT1 (qualifier value)"
or StagingObservation.value as Concept ~ "American Joint Committee on Cancer cTis (qualifier value)"
or StagingObservation.value as Concept ~ "American Joint Committee on Cancer cTa (qualifier value)"
or StagingObservation.value as Concept ~ "Carcinoma in situ of bladder"
)
and StagingObservation.status in { 'final', 'amended', 'corrected' }
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Has Qualifying Encounter</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Has Qualifying Encounter":
exists ( [Encounter: "Office Visit"] ValidEncounter
where ValidEncounter.period during "Measurement Period"
and ValidEncounter.class !~ "virtual"
and ValidEncounter.status = 'finished'
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Initial Population</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Initial Population":
"Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1"
and "Has Qualifying Encounter"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</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>SupplementalDataElements</td>
<td>SDE Payer</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Payer":
[Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>SDE Payer</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Payer":
SDE."SDE Payer"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>SupplementalDataElements</td>
<td>SDE Ethnicity</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
Patient.ethnicity E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>SDE Ethnicity</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
SDE."SDE Ethnicity"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Acute Tuberculosis Diagnosis</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Acute Tuberculosis Diagnosis":
[Condition: "Active Tuberculosis for Urology Care"] ActiveTuberculosis
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ActiveTuberculosis.prevalenceInterval ( ) overlaps after day of FirstBladderCancerStaging.performed.toInterval ( )
where ActiveTuberculosis.isConfirmedActiveDiagnosis ( )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Immunosuppressive Drugs</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Immunosuppressive Drugs":
[MedicationRequest: "Immunosuppressive Drugs for Urology Care"] ImmunosuppressiveDrugs
let firstMedicationPeriod: First((collapse(ImmunosuppressiveDrugs.dosageInstruction.timing.repeat.bounds DoseTime
return DoseTime.toInterval()
)) DrugPeriods
sort by start of $this
),
//get the very first event
firstMedicationEvent: First((ImmunosuppressiveDrugs.dosageInstruction.timing dosageTiming
//returns first event for the specific dosageTiming
return First(dosageTiming.event dosageTimingEvents
sort ascending
)) firstEvents
sort ascending
),
medicationPeriod: Coalesce(firstMedicationEvent.toInterval(), firstMedicationPeriod)
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that medicationPeriod starts on or before day of start of FirstBladderCancerStaging.performed.toInterval ( )
where ImmunosuppressiveDrugs.status in { 'active', 'completed' }
and ImmunosuppressiveDrugs.intent = 'order'</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Cystectomy Done</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Cystectomy Done":
[Procedure: "Cystectomy for Urology Care"] Cystectomy
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that Cystectomy.performed.toInterval ( ) 6 months or less before start of FirstBladderCancerStaging.performed.toInterval ( )
where Cystectomy.status = 'completed'</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging":
exists ( ( [Condition: "HIV"]
union [Condition: "Immunocompromised Conditions"]
union [Condition: "Mixed histology urothelial cell carcinoma for Urology Care"] ) ExclusionDiagnosis
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ExclusionDiagnosis.prevalenceInterval ( ) starts on or before day of start of FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionDiagnosis.isConfirmedActiveDiagnosis ( )
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging":
exists ( ( [MedicationRequest: "Chemotherapy Agents for Advanced Cancer"] ExclusionMed
let firstMedicationPeriod: First((collapse(ExclusionMed.dosageInstruction.timing.repeat.bounds DoseTime
return DoseTime.toInterval()
)) DrugPeriods
sort by start of $this
)
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that firstMedicationPeriod starts 6 months or less before FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionMed.status in { 'active', 'completed' }
and ExclusionMed.intent = 'order'
)
union ( [Procedure: "Combined radiotherapy (procedure)"] ExclusionProcedure
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ExclusionProcedure.performed.toInterval ( ) starts 6 months or less before FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionProcedure.status = 'completed'
)
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>Denominator Exclusion</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Denominator Exclusion":
exists "Acute Tuberculosis Diagnosis"
or exists "Immunosuppressive Drugs"
or exists "Cystectomy Done"
or "Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging"
or "Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>SupplementalDataElements</td>
<td>SDE Race</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Race":
Patient.race R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>SDE Race</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "SDE Race":
SDE."SDE Race"</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>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>isConfirmedActiveDiagnosis</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define fluent function isConfirmedActiveDiagnosis(Condition Condition):
Condition.isActive ( )
and Condition.verificationStatus ~ QICoreCommon."confirmed"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>isActive</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/* Candidates for FHIRCommon */
/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Condition):
condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR</td>
<td>getStagingProcedure</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define fluent function getStagingProcedure(StagingObservation Observation):
StagingObservation.partOf StagingReference
return "First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period" FirstBladderCancerStagingMP
where FirstBladderCancerStagingMP.id = StagingReference.reference.getId ( )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>getId</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).
@comment: This function can be used to determine the logical id of a given resource. It can be used in
a single-server environment to trace references. However, this function does not attempt to resolve
or distinguish the base of the given url, and so cannot be used safely in multi-server environments.
*/
define fluent function getId(uri String):
Last(Split(uri, '/'))</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>FHIRHelpers</td>
<td>ToString</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function ToString(value uri): value.value</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>FHIRHelpers</td>
<td>ToCode</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.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>
</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://hl7.org/fhir/administrative-gender"/>
<code value="M"/>
<display value="Male"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://hl7.org/fhir/administrative-gender"/>
<code value="F"/>
<display value="Female"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="254292007"/>
<display value="Tumor staging (tumor staging)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="active"/>
<display value="Active"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="recurrence"/>
<display value="Recurrence"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="relapse"/>
<display value="Relapse"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="confirmed"/>
<display value="Confirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="1228889001"/>
<display
value="American Joint Committee on Cancer cT1 (qualifier value)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="1228884006"/>
<display
value="American Joint Committee on Cancer cTis (qualifier value)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="1228883000"/>
<display
value="American Joint Committee on Cancer cTa (qualifier value)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://hl7.org/fhir/sid/icd-10-cm"/>
<code value="D09.0"/>
<display value="Carcinoma in situ of bladder"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://terminology.hl7.org/CodeSystem/v3-ActCode"/>
<code value="VR"/>
<display value="virtual"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="169331000"/>
<display value="Combined radiotherapy (procedure)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
case
when Patient.gender = 'male' then "M"
when Patient.gender = 'female' then "F"
else null
end"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
SDE."SDE Sex""/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Bladder Cancer Diagnosis"/>
</extension>
<extension url="statement">
<valueString
value="define "Bladder Cancer Diagnosis":
[Condition: "Bladder Cancer for Urology Care"] BladderCancer
where BladderCancer.prevalenceInterval ( ) starts before end of "Measurement Period"
and BladderCancer.isConfirmedActiveDiagnosis ( )"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="First Bladder Cancer Staging Procedure"/>
</extension>
<extension url="statement">
<valueString
value="define "First Bladder Cancer Staging Procedure":
First([Procedure: "Tumor staging (tumor staging)"] BladderCancerStaging
with "Bladder Cancer Diagnosis" BladderCancer
such that BladderCancerStaging.performed.toInterval() starts on or before day of start of BladderCancer.prevalenceInterval()
where BladderCancerStaging.status = 'completed'
sort by start of performed.toInterval()
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="First BCG Administered"/>
</extension>
<extension url="statement">
<valueString
value="define "First BCG Administered":
First([MedicationAdministration: "BCG Bacillus Calmette Guerin for Urology Care"] BCG
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that BCG.effective.toInterval() starts 6 months or less after start of FirstBladderCancerStaging.performed.toInterval()
and BCG.effective.toInterval() starts during "Measurement Period"
where BCG.status in { 'in-progress', 'completed' }
sort by start of effective.toInterval()
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="define "Numerator":
"First BCG Administered" is not null"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator Exception"/>
</extension>
<extension url="statement">
<valueString
value="/*
@commentedOut: exists "BCG Not Available Within 6 Months After Bladder Cancer Staging"
@commentedOutReason: Negation issue related to https://github.com/cqframework/cql-execution/issues/296, which is tied to https://oncprojectracking.healthit.gov/support/browse/BONNIEMAT-1455. Due to this being the only logic in this population added 'false' as a placeholder.
*/
define "Denominator Exception":
//placeholder
false"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString
value="July 1 of Year Prior to the Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "July 1 of Year Prior to the Measurement Period":
DateTime((year from start of "Measurement Period" - 1), 7, 1, 0, 0, 0, 0, 0)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="June 30 of the Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "June 30 of the Measurement Period":
DateTime((year from start of "Measurement Period"), 6, 30, 23, 59, 59, 0, 0)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString
value="First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period"/>
</extension>
<extension url="statement">
<valueString
value="define "First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period":
"First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
where FirstBladderCancerStaging.performed.toInterval ( ) during day of Interval["July 1 of Year Prior to the Measurement Period", "June 30 of the Measurement Period"]"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString
value="Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1"/>
</extension>
<extension url="statement">
<valueString
value="/*Ta High Grade only to be included. Ta low grade is to be excluded from this measure.*/
define "Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1":
exists ( [Observation] StagingObservation
where StagingObservation.getStagingProcedure ( ) is not null
and ( StagingObservation.value as Concept ~ "American Joint Committee on Cancer cT1 (qualifier value)"
or StagingObservation.value as Concept ~ "American Joint Committee on Cancer cTis (qualifier value)"
or StagingObservation.value as Concept ~ "American Joint Committee on Cancer cTa (qualifier value)"
or StagingObservation.value as Concept ~ "Carcinoma in situ of bladder"
)
and StagingObservation.status in { 'final', 'amended', 'corrected' }
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Has Qualifying Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Qualifying Encounter":
exists ( [Encounter: "Office Visit"] ValidEncounter
where ValidEncounter.period during "Measurement Period"
and ValidEncounter.class !~ "virtual"
and ValidEncounter.status = 'finished'
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
"Has Most Recent Bladder Cancer Tumor Staging is Ta HG, Tis, T1"
and "Has Qualifying Encounter""/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</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="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
[Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
SDE."SDE Payer""/>
</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="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
Patient.ethnicity E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
SDE."SDE Ethnicity""/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Acute Tuberculosis Diagnosis"/>
</extension>
<extension url="statement">
<valueString
value="define "Acute Tuberculosis Diagnosis":
[Condition: "Active Tuberculosis for Urology Care"] ActiveTuberculosis
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ActiveTuberculosis.prevalenceInterval ( ) overlaps after day of FirstBladderCancerStaging.performed.toInterval ( )
where ActiveTuberculosis.isConfirmedActiveDiagnosis ( )"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Immunosuppressive Drugs"/>
</extension>
<extension url="statement">
<valueString
value="define "Immunosuppressive Drugs":
[MedicationRequest: "Immunosuppressive Drugs for Urology Care"] ImmunosuppressiveDrugs
let firstMedicationPeriod: First((collapse(ImmunosuppressiveDrugs.dosageInstruction.timing.repeat.bounds DoseTime
return DoseTime.toInterval()
)) DrugPeriods
sort by start of $this
),
//get the very first event
firstMedicationEvent: First((ImmunosuppressiveDrugs.dosageInstruction.timing dosageTiming
//returns first event for the specific dosageTiming
return First(dosageTiming.event dosageTimingEvents
sort ascending
)) firstEvents
sort ascending
),
medicationPeriod: Coalesce(firstMedicationEvent.toInterval(), firstMedicationPeriod)
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that medicationPeriod starts on or before day of start of FirstBladderCancerStaging.performed.toInterval ( )
where ImmunosuppressiveDrugs.status in { 'active', 'completed' }
and ImmunosuppressiveDrugs.intent = 'order'"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Cystectomy Done"/>
</extension>
<extension url="statement">
<valueString
value="define "Cystectomy Done":
[Procedure: "Cystectomy for Urology Care"] Cystectomy
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that Cystectomy.performed.toInterval ( ) 6 months or less before start of FirstBladderCancerStaging.performed.toInterval ( )
where Cystectomy.status = 'completed'"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString
value="Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging":
exists ( ( [Condition: "HIV"]
union [Condition: "Immunocompromised Conditions"]
union [Condition: "Mixed histology urothelial cell carcinoma for Urology Care"] ) ExclusionDiagnosis
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ExclusionDiagnosis.prevalenceInterval ( ) starts on or before day of start of FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionDiagnosis.isConfirmedActiveDiagnosis ( )
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString
value="Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging"/>
</extension>
<extension url="statement">
<valueString
value="define "Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging":
exists ( ( [MedicationRequest: "Chemotherapy Agents for Advanced Cancer"] ExclusionMed
let firstMedicationPeriod: First((collapse(ExclusionMed.dosageInstruction.timing.repeat.bounds DoseTime
return DoseTime.toInterval()
)) DrugPeriods
sort by start of $this
)
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that firstMedicationPeriod starts 6 months or less before FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionMed.status in { 'active', 'completed' }
and ExclusionMed.intent = 'order'
)
union ( [Procedure: "Combined radiotherapy (procedure)"] ExclusionProcedure
with "First Bladder Cancer Staging Procedure" FirstBladderCancerStaging
such that ExclusionProcedure.performed.toInterval ( ) starts 6 months or less before FirstBladderCancerStaging.performed.toInterval ( )
where ExclusionProcedure.status = 'completed'
)
)"/>
</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="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusion"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusion":
exists "Acute Tuberculosis Diagnosis"
or exists "Immunosuppressive Drugs"
or exists "Cystectomy Done"
or "Has Excluding HIV, Immunocompromised Conditions or Mixed Histology Before Staging"
or "Has Excluding Chemotherapy or Radiotherapy Procedure Before Staging""/>
</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="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
Patient.race R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
SDE."SDE Race""/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</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="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="isConfirmedActiveDiagnosis"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isConfirmedActiveDiagnosis(Condition Condition):
Condition.isActive ( )
and Condition.verificationStatus ~ QICoreCommon."confirmed""/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</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="isActive"/>
</extension>
<extension url="statement">
<valueString
value="/* Candidates for FHIRCommon */
/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Condition):
condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse""/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString
value="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
</extension>
<extension url="name">
<valueString value="getStagingProcedure"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function getStagingProcedure(StagingObservation Observation):
StagingObservation.partOf StagingReference
return "First Bladder Cancer Staging Procedure during 6 Months Prior to Measurement Period through the First 6 Months of Measurement Period" FirstBladderCancerStagingMP
where FirstBladderCancerStagingMP.id = StagingReference.reference.getId ( )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</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="getId"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).
@comment: This function can be used to determine the logical id of a given resource. It can be used in
a single-server environment to trace references. However, this function does not attempt to resolve
or distinguish the base of the given url, and so cannot be used safely in multi-server environments.
*/
define fluent function getId(uri String):
Last(Split(uri, '/'))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</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="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value uri): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</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="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</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="33"/>
</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 SDE"/>
<resource value="Library/SupplementalDataElements|3.5.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 FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system AdministrativeGender"/>
<resource value="http://hl7.org/fhir/administrative-gender"/>
</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 ConditionClinicalStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionVerificationStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ICD10CM"/>
<resource value="http://hl7.org/fhir/sid/icd-10-cm"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ActCode"/>
<resource value="http://terminology.hl7.org/CodeSystem/v3-ActCode"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set BCG Bacillus Calmette Guerin for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.52"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Bladder Cancer for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.45"/>
</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 Payer Type"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Active Tuberculosis for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.56"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Immunosuppressive Drugs for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.32"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Cystectomy for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.55"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set HIV"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.120.12.1003"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Immunocompromised Conditions"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.1940"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Mixed histology urothelial cell carcinoma for Urology Care"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.39"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Chemotherapy Agents for Advanced Cancer"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.60"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="SDE Sex"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Coding"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Denominator Exception"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="SDE Payer"/>
<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="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="SDE Ethnicity"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exclusion"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<parameter>
<name value="SDE Race"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"/>
<mustSupport value="ethnicity"/>
<mustSupport value="race"/>
</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.113762.1.4.1151.45"/>
</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.113762.1.4.1151.56"/>
</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.120.12.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.666.5.1940"/>
</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.113762.1.4.1151.39"/>
</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"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://snomed.info/sct"/>
<code value="254292007"/>
<display value="Tumor staging (tumor staging)"/>
</code>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="completed"/>
</code>
</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"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.55"/>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="completed"/>
</code>
</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"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://snomed.info/sct"/>
<code value="169331000"/>
<display value="Combined radiotherapy (procedure)"/>
</code>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="completed"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationAdministration"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration"/>
<mustSupport value="medication"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.52"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="value"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="reference"/>
<mustSupport value="reference.value"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="class"/>
<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.101.12.1001"/>
</codeFilter>
<codeFilter>
<path value="class"/>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Coverage"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</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="dosageInstruction"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.32"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"/>
<mustSupport value="medication.reference"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
</dataRequirement>
<dataRequirement>
<type value="MedicationRequest"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest"/>
<mustSupport value="medication"/>
<mustSupport value="dosageInstruction"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="intent"/>
<mustSupport value="intent.value"/>
<codeFilter>
<path value="medication"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1151.60"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance" id="supplementalDataGuidance">
<extension url="guidance">
<valueString
value="For every patient evaluated by this measure also identify payer, race, ethnicity and sex"/>
</extension>
<extension url="usage">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
<display value="Supplemental Data"/>
</coding>
<text value="Supplemental Data Guidance"/>
</valueCodeableConcept>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements" id="effective-data-requirements">
<valueReference>
<reference value="#effective-data-requirements"/>
</valueReference>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem">
<valueReference>
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<url
value="https://madie.cms.gov/Measure/IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
<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="CMS646FHIR"/>
</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:907ead5a-2f8f-468e-b774-309ea8aa6182"/>
</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:2247c9d9-9de5-47dd-a2a5-cb05249f6a3e"/>
</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="646FHIR"/>
<assigner>
<display value="CMS"/>
</assigner>
</identifier>
<version value="1.4.000"/>
<name value="IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
<title
value="Intravesical Bacillus-Calmette-Guerin for Non-Muscle Invasive Bladder CancerFHIR"/>
<status value="draft"/>
<experimental value="false"/>
<date value="2024-07-09T14:53:56+00:00"/>
<publisher value="Oregon Urology"/>
<contact>
<telecom>
<system value="url"/>
<value value="www.oregonurology.com"/>
</telecom>
</contact>
<description
value="Percentage of patients initially diagnosed with non-muscle invasive bladder cancer and who received intravesical Bacillus-Calmette-Guerin (BCG) within 6 months of bladder cancer staging"/>
<purpose value="UNKNOWN"/>
<usage
value="Ta bladder cancer must be high grade Ta only and is supported by the 2016 AUA guidelines and 2018 NCCN guidelines.
The BCG dose can be full or partial and can be from any lot or manufacturer.
This eCQM is a patient-based measure.
Telehealth encounters are not eligible for this measure because the measure requires a clinical action that cannot be conducted via telehealth
This FHIR-based measure has been derived from the QDM-based measure: CMS646v5.
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="Limited proprietary coding is contained in the measure specifications for convenience. Users of the proprietary code sets should obtain all necessary licenses from the owners of these code sets. Oregon Urology Institute (OUI) and Large Urology Group Practice Association (LUGPA) disclaim all liability for use or accuracy of third party codes contained in the specifications.
CPT(R) contained in the Measure specifications is copyright 2004-2023. American Medical Association. LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 World Health Organization. All Rights Reserved."/>
<effectivePeriod>
<start value="2025-01-01"/>
<end value="2025-12-31"/>
</effectivePeriod>
<author>
<name value="Oregon Urology"/>
<telecom>
<system value="url"/>
<value value="www.oregonurology.com"/>
</telecom>
</author>
<library
value="https://madie.cms.gov/Library/IntravesicalBacillusCalmetteGuerinForBladderCancerFHIR"/>
<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 MEASURES 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="Bladder cancer is ranked 10th for new cancer cases in 2020 and is the 9th leading cause of cancer death in the United States. There are 81,400 estimated new cases in 2020 and 17,980 estimated deaths in 2020. In 2016, there were an estimated 699,450 people living with bladder cancer in the United States. Early detection (discovery of cancer in situ or localized to the primary site) is found in 85% of the patients, and with these there is a five-year survival rate of 95.8% for In Situ and 69.2% for Localized. Bladder cancer is rarely found in patients under age 20, with the median age of diagnosis being 73 (NIH, 2020).
National Comprehensive Cancer Network (NCCN) Guidelines for Bladder Cancer (version 6.2021) defines intravesical BCG as Category 1 Treatment for Ta - high grade, T1 and Tis non-muscle invasive bladder cancer. Most public data reflects prophylactic or adjuvant use of intravesical therapy with the goal of preventing recurrence or delaying progression to a higher grade or stage. BCG has been shown to be effective as prophylaxis to prevent bladder cancer recurrences following TURBT. The NCCN Bladder Cancer Panel Members recommend BCG as the preferred option over Mitomycin C for adjuvant treatment of high-grade lesions (Ta). BCG is also standard therapy for Primary Tis. Most T1 lesions are high risk and are similarly treated with adjuvant intravesical therapy with BCG being a Category 1 recommendation. (NCCN, 2021)."/>
<clinicalRecommendationStatement
value="Intravesical BCG should be administered within 6 months of the initial diagnosis of non-muscle invasive bladder cancer. It may be administered 3-4 weeks after resection, but there needs to be pathological tumor confirmation and must be withheld if there is traumatic catheterization, bacteriuria, persistent gross hematuria, persistent severe local symptoms or systemic symptoms. The normal induction course is 6 weekly instillations of intravesical BCG (AUA Non-Muscle Invasive Bladder Cancer and American Urological Association (AUA) Guideline for the Management of Non-muscle Invasive Bladder Cancer: Stages Ta High Risk, T1 and TIS)."/>
<group id="6643b88af4fc785d87117101">
<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="boolean"/>
</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="increase"/>
<display value="Increased score indicates improvement"/>
</coding>
</valueCodeableConcept>
</extension>
<population id="4D2F5722-7FA4-4B23-8D7E-356A44FEE386">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description
value="All patients initially diagnosed with T1, Tis or high grade Ta non-muscle invasive bladder cancer with bladder cancer staging within 6 months before to 6 months after the start of the measurement period and a qualified encounter in the measurement period"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="6F7048E5-A801-4B49-B7F6-DCDE40AB938D">
<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="3E04DEA7-8F24-4003-89A6-04E7EE62DAF4">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
<display value="Denominator Exclusion"/>
</coding>
</code>
<description
value="Immunosuppressed patients, includes HIV and immunocompromised state, with a diagnosis prior to Bladder Cancer Staging.
Immunosuppressive drug therapy starting on or before Bladder Cancer Staging.
Active Tuberculosis diagnosis during the Bladder Cancer Staging.
Mixed histology urothelial cell carcinoma including micropapillary, plasmacytoid, sarcomatoid, adenocarcinoma and squamous disease prior to Bladder Cancer Staging.
Patients who undergo cystectomy, chemotherapy or radiation within 6 months prior to Bladder Cancer Staging."/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusion"/>
</criteria>
</population>
<population id="4C0E0E50-2A4D-4C3D-A9AD-12563E9F392F">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="Intravesical Bacillus-Calmette Guerin (BCG) instillation for initial dose or series:
BCG is initiated within 6 months of the bladder cancer staging"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
<population id="77076019-B76A-4F91-A254-06B870D7A263">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exception"/>
<display value="Denominator Exception"/>
</coding>
</code>
<description
value="Unavailability of BCG within 6 months after Bladder Cancer Staging"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exception"/>
</criteria>
</population>
</group>
<supplementalData id="sde-ethnicity">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Ethnicity"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Ethnicity"/>
</criteria>
</supplementalData>
<supplementalData id="sde-payer">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Payer"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Payer"/>
</criteria>
</supplementalData>
<supplementalData id="sde-race">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Race"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Race"/>
</criteria>
</supplementalData>
<supplementalData id="sde-sex">
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Sex"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Sex"/>
</criteria>
</supplementalData>
</Measure>