Title: Rate of Timely Follow-up on Positive Stool-based Screening Tests for Colorectal Cancer Detection
Id: RateOfTimelyFollowUpForColorectalCancerDetection
Version: Draft based on 0.0.022
Url: https://madie.cms.gov/Measure/RateOfTimelyFollowUpForColorectalCancerDetection
Short Name Identifier:

ColorectalCancerMeasureFHIR4

Version Independent Identifier:

urn:uuid:00378ac7-f21e-4484-b821-3e1ad7acac07

Version Specific Identifier:

urn:uuid:78a48000-dd34-45bf-b4f0-2c7419bf8a7d

Publisher (CMS) Identifier:

1257FHIR

Effective Period: 2024-01-01..2024-12-31
Status: draft
Publisher: Brigham and Womens Health
Author: Brigham and Womens Health
Description: This electronic Clinical Quality Measure (eCQM) reports the percentage of patients aged 45 to 75 years with at least one positive stool-based colorectal cancer screening test (i.e., high-sensitivity guaiac fecal occult blood test (gFOBT), fecal immunochemical test (FIT), or FIT-DNA) during the measurement period (i.e., calendar year) who completed a colonoscopy within 180 days after their index (i.e., first) positive stool-based test result date.
Purpose: UNKNOWN
Copyright: This eCQM and related data specifications are owned and stewarded by the Brigham and Women's Hospital (BWH). BWH is not responsible for any use of the Measure. BWH makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and BWH has no liability to anyone who relies on such measures or specifications.
Disclaimer: The performance measure is not a clinical guideline and does not establish a standard of medical care and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
Rationale: Colorectal cancer is the second leading cause of cancer mortality in the United States (American Cancer Society, 2022). Early detection and removal of colorectal polyps and early-stage cancers prevents disease progression and improves the odds of survival (Corley DA, 2017). Noninvasive screening tests (e.g., stool-based tests) are available to detect markers of abnormal growths. However, delays in follow-up colonoscopy reduce the benefits of screening by leading to missed opportunities for timely intervention. Multiple guidelines recommend using stool-based tests (i.e., high-sensitivity gFOBT, FIT, FIT-DNA) as noninvasive screening options, and colonoscopy as the gold standard for follow-up in patients with a positive stool-based test result (USMSTF 2017; USPSTF, 2021; USMSTF, 2022). The American Gastroenterological Association (AGA) guidelines recommended that at least 95% of patients receive a colonoscopy within 6 months of a positive noninvasive test result to complete the full screening process (AGA, 2022). Existing literature supports this timeframe as patients who received their colonoscopies after the 6-month mark were more likely to be diagnosed with more advanced stages of cancer (Mutneja HR, 2021). Rates of timely follow-up in the U.S. are far below the benchmark established by the AGA. A 2023 study examining 39 U.S. health care organizations reported follow-up colonoscopy rates around 50% within 180 days of a positive stool-based test (Mohl JT, 2023). Existing endorsed clinical quality measures report on the percentage of patients who received initial screening for colorectal cancer. This eCQM can be used to measure rates of timely completion of the full screening process after positive non-invasive colorectal cancer screening stool-based test results to help improve health care delivery and quality in medical facilities and health systems across the U.S.
Clinical recommendation statement: See measure description
Guidance (Usage): A higher score (expressed as a percentage) indicates higher quality care.
Population Criteria:
65f8836080319060e1fd874a
Initial Population: Patients aged 45 to 75 years with at least one positive stool-based colorectal cancer screening test
Denominator: Equals Initial Population
Denominator Exclusion: Exclude patients who has Index Colorectal Screening (i.e. first Colorectal Screening with Positive Result) done during hospitalization Exclude patients who has positive colorectal screening within 365 days prior to the Index Colorectal Screening Exclude patients who has Colorectal Cancer prior to the Index Colorectal Screening Exclude patients who has Total Colectomy Procedure performed prior to the Index Colorectal Screening Exclude patients who has Hospice Care within 1 year before or 180 days after the Index Colorectal Screening Exclude patients who has Palliative Care within 1 year before or 180 days after the Index Colorectal Screening
Numerator: Patient who has follow-up Diagnostic Evaluations within 180 days of the Index Colorectal Screening
Denominator Exception: Patient who has Colonoscopy procedure performed within 3 Years prior to the Index Colorectal Screening or patient deceased within 180 days of the Index Colorectal Screening
Libraries:
https://madie.cms.gov/Library/RateOfTimelyFollowUpForColorectalCancerDetection
Terminology and Other Dependencies:
  • Library/FHIRHelpers|4.1.000
  • Library/QICoreCommon|2.0.000
  • http://terminology.hl7.org/CodeSystem/condition-clinical
  • http://terminology.hl7.org/CodeSystem/condition-ver-status
  • http://snomed.info/sct
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1206.57
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.11.1020
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1182.285
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.23
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.3
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1.1575
  • Parameters:
    name use min max type
    Measurement Period in 0 1 Period
    Numerator out 0 1 boolean
    Denominator out 0 1 boolean
    Initial Population out 0 1 boolean
    Denominator Exclusions out 0 1 boolean
    Denominator Exceptions out 0 1 boolean
    DataRequirements:
    Resource Type Resource Elements Valueset Name Valueset
    Procedure(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure) code status status.value performed Total Colectomy http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019
    Procedure(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure) code status status.value performed Palliative Care http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.3
    Procedure(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure) code status status.value performed Colonoscopy http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020
    Observation(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation) issued issued.value
    Observation(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation) code status status.value value effective Colorectal Screening http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1206.57
    Patient(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient) birthDate birthDate.value deceased
    Encounter(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter) type status status.value period Initial Hospital Inpatient Visit http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.11.1020
    Encounter(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter) type status status.value hospitalization hospitalization.dischargeDisposition period Inpatient Stay http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1182.285
    Encounter(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter) type status status.value period Palliative Care Encounter http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1.1575
    Condition(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition) code clinicalStatus verificationStatus recordedDate recordedDate.value Malignant Neoplasm of Colon http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001
    ServiceRequest(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest) code intent intent.value authoredOn authoredOn.value Hospice Care http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.3157.1004.23
    ServiceRequest(http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest) code intent intent.value authoredOn authoredOn.value Palliative Care http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1125.3
    Direct Reference Codes:
    display code system
    active active http://terminology.hl7.org/CodeSystem/condition-clinical
    recurrence recurrence http://terminology.hl7.org/CodeSystem/condition-clinical
    relapse relapse http://terminology.hl7.org/CodeSystem/condition-clinical
    confirmed confirmed http://terminology.hl7.org/CodeSystem/condition-ver-status
    Discharge to home for hospice care (procedure) 428361000124107 http://snomed.info/sct
    Logic Definitions:
    Group Scoring Population Criteria Expression
    65f8836080319060e1fd874a Group scoring: proportion
    Type:

    Process

    Rate Aggregation: TBD
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      /***
        Patients aged between 45 and 75 years with at least 1 qualifying stool-based screening with positive result during the measurement period.
        ***/
      
      AgeInYearsAt(date from start of "Measurement Period") in Interval[45, 75]
        and exists ( "Qualifying Colorectal Screening with Positive Result" )
    Denominator
    define "Denominator":
      "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":
      "Has Index Colorectal Screening Done During Hospitalization"
        or "Has Positive Colorectal Screening Within 365 Days Prior"
        or "Has Colorectal Cancer Prior to Index Colorectal Screening"
        or "Has Total Colectomy Procedure Performed Prior to Index Colorectal Screening"
        or "Has Hospice Care"
        or "Has Palliative Care"
    Numerator
    define "Numerator":
      "Has Follow-up Diagnostic Evaluations Within 180 Days of the Index Colorectal Screening"
    Denominator Exception
    define "Denominator Exceptions":
      "Has Colonoscopy Procedure Performed Within 3 Years Prior to the Index Colorectal Screening"
        or "Patient Deceased Within 180 Days of the Index Colorectal Screening"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Qualifying Colonoscopy Procedure Performed
    define "Qualifying Colonoscopy Procedure Performed":
      ["Procedure": "Colonoscopy"] ColonoscopyPerformed
        where ColonoscopyPerformed.status in { 'completed', 'in-progress' }
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Colorectal Screenings
    define "Colorectal Screenings":
      [Observation: "Colorectal Screening"] ColorectalScreening
        where ColorectalScreening.status in { 'final', 'amended', 'corrected' }
          and ColorectalScreening.value is not null
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Qualifying Colorectal Screenings
    define "Qualifying Colorectal Screenings":
      "Colorectal Screenings" CScreening
        where CScreening.effective.toInterval ( ) during day of "Measurement Period"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Qualifying Colorectal Screening with Positive Result
    define "Qualifying Colorectal Screening with Positive Result":
      "Qualifying Colorectal Screenings" ColorectalScreening
        where ColorectalScreening.value in { 'Positive', 'positive' }
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Index Colorectal Screening
    define "Index Colorectal Screening":
      First("Qualifying Colorectal Screening with Positive Result" QCS
          sort by issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Follow-up Diagnostic Evaluations Within 180 Days of the Index Colorectal Screening
    define "Has Follow-up Diagnostic Evaluations Within 180 Days of the Index Colorectal Screening":
      exists ( "Qualifying Colonoscopy Procedure Performed" ColonoscopyProcedure
          where ColonoscopyProcedure.performed starts 180 days or less on or after "Index Colorectal Screening".issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Numerator
    define "Numerator":
      "Has Follow-up Diagnostic Evaluations Within 180 Days of the Index Colorectal Screening"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Initial Population
    define "Initial Population":
      /***
        Patients aged between 45 and 75 years with at least 1 qualifying stool-based screening with positive result during the measurement period.
        ***/
      
      AgeInYearsAt(date from start of "Measurement Period") in Interval[45, 75]
        and exists ( "Qualifying Colorectal Screening with Positive Result" )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Denominator
    define "Denominator":
      "Initial Population"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Inpatient Encounter
    define "Inpatient Encounter":
      ["Encounter": "Initial Hospital Inpatient Visit"] Hospitalencounter
        where Hospitalencounter.status = 'finished'
          and Hospitalencounter.period during "Measurement Period"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Index Colorectal Screening Done During Hospitalization
    define "Index Colorectal Screening Done During Hospitalization":
      "Inpatient Encounter" HospitalEncounter
        with "Index Colorectal Screening" ICS
          such that ICS.effective.toInterval ( ) starts during HospitalEncounter.period
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Index Colorectal Screening Done During Hospitalization
    define "Has Index Colorectal Screening Done During Hospitalization":
      exists ( "Index Colorectal Screening Done During Hospitalization" )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Positive Colorectal Screening Within 365 Days Prior
    define "Has Positive Colorectal Screening Within 365 Days Prior":
      exists ( "Colorectal Screenings" PrevCS
          where PrevCS.value in { 'Positive', 'positive' }
            and PrevCS.effective.toInterval ( ) starts 365 days or less on or before "Index Colorectal Screening".issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Colorectal Cancer Prior to Index Colorectal Screening
    define "Has Colorectal Cancer Prior to Index Colorectal Screening":
      exists ( [Condition: "Malignant Neoplasm of Colon"] ColorectalCancerCondition
          where ( ColorectalCancerCondition.clinicalStatus ~ "active"
              or ColorectalCancerCondition.clinicalStatus ~ "recurrence"
              or ColorectalCancerCondition.clinicalStatus ~ "relapse"
          )
            and ColorectalCancerCondition.verificationStatus ~ "confirmed"
            and ColorectalCancerCondition.recordedDate before "Index Colorectal Screening".issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Total Colectomy Procedure Performed Prior to Index Colorectal Screening
    define "Has Total Colectomy Procedure Performed Prior to Index Colorectal Screening":
      exists ( [Procedure: "Total Colectomy"] TotalColectomyProcedure
          where TotalColectomyProcedure.status = 'completed'
            and TotalColectomyProcedure.performed ends on or before "Index Colorectal Screening".issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Hospice Care
    define "Has Hospice Care":
      exists ( ["Encounter": "Inpatient Stay"] HospiceEncounter
          where HospiceEncounter.status = 'finished'
            and HospiceEncounter.hospitalization.dischargeDisposition ~ "Discharge to home for hospice care (procedure)"
            and ( HospiceEncounter.period ends 1 year or less on or before "Index Colorectal Screening".issued
                or HospiceEncounter.period starts 180 days or less on or after "Index Colorectal Screening".issued
            )
      )
        or exists ( [ServiceRequest: "Hospice Care"] HospiceServiceOrder
            where HospiceServiceOrder.intent = 'order'
              and ( HospiceServiceOrder.authoredOn 1 year or less on or before "Index Colorectal Screening".issued
                  or HospiceServiceOrder.authoredOn 180 days or less on or after "Index Colorectal Screening".issued
              )
        )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Palliative Care
    define "Has Palliative Care":
      exists ( ["Procedure": "Palliative Care"] PalliativeCareProcedure
          where PalliativeCareProcedure.status = 'completed'
            and PalliativeCareProcedure.performed ends 1 year or less on or before "Index Colorectal Screening".issued
            or PalliativeCareProcedure.performed starts 180 days or less on or after "Index Colorectal Screening".issued
      )
        or exists ( [ServiceRequest: "Palliative Care"] PalliativeCareOrder
            where PalliativeCareOrder.intent = 'order'
              and ( PalliativeCareOrder.authoredOn 1 year or less on or before "Index Colorectal Screening".issued
                  or PalliativeCareOrder.authoredOn 180 days or less on or after "Index Colorectal Screening".issued
              )
        )
        or exists ( ["Encounter": "Palliative Care Encounter"] PalliativeCareEncounter
            where PalliativeCareEncounter.status = 'finished'
              and ( PalliativeCareEncounter.period ends 1 year or less on or before "Index Colorectal Screening".issued
                  or PalliativeCareEncounter.period starts 180 days or less on or after "Index Colorectal Screening".issued
              )
        )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Denominator Exclusions
    define "Denominator Exclusions":
      "Has Index Colorectal Screening Done During Hospitalization"
        or "Has Positive Colorectal Screening Within 365 Days Prior"
        or "Has Colorectal Cancer Prior to Index Colorectal Screening"
        or "Has Total Colectomy Procedure Performed Prior to Index Colorectal Screening"
        or "Has Hospice Care"
        or "Has Palliative Care"
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Has Colonoscopy Procedure Performed Within 3 Years Prior to the Index Colorectal Screening
    define "Has Colonoscopy Procedure Performed Within 3 Years Prior to the Index Colorectal Screening":
      exists ( "Qualifying Colonoscopy Procedure Performed" ColonoscopyProcedure
          where ColonoscopyProcedure.performed starts 3 years or less on or before "Index Colorectal Screening".issued
      )
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Patient Deceased Within 180 Days of the Index Colorectal Screening
    define "Patient Deceased Within 180 Days of the Index Colorectal Screening":
      Patient.deceased.toInterval ( ) starts 180 days or less on or after "Index Colorectal Screening".issued
    Library Name Name
    RateOfTimelyFollowUpForColorectalCancerDetection Denominator Exceptions
    define "Denominator Exceptions":
      "Has Colonoscopy Procedure Performed Within 3 Years Prior to the Index Colorectal Screening"
        or "Patient Deceased Within 180 Days of the Index Colorectal Screening"
    Library Name Name
    QICoreCommon toInterval
    /*
    @description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
    @comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
    to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
    representations for timing-valued elements in QICore, allowing this function to be used across any resource.
    The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
    The intent of this function is to provide a clear and concise mechanism to treat single
    elements that have multiple possible representations as intervals so that logic doesn't have to account
    for the variability. More complex calculations (such as medication request period or dispense period
    calculation) need specific guidance and consideration. That guidance may make use of this function, but
    the focus of this function is on single element calculations where the semantics are unambiguous.
    If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
    If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
    and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
    If the input is a DateTime Interval, the result is the input.
    If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
    is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
    immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
    If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
    */
    define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
      case
    	  when choice is DateTime then
        	Interval[choice as DateTime, choice as DateTime]
    		when choice is Interval<DateTime> then
      		choice as Interval<DateTime>
    		when choice is Quantity then
    		  Interval[Patient.birthDate + (choice as Quantity),
    			  Patient.birthDate + (choice as Quantity) + 1 year)
    		when choice is Interval<Quantity> then
    		  Interval[Patient.birthDate + (choice.low as Quantity),
    			  Patient.birthDate + (choice.high as Quantity) + 1 year)
    		when choice is Timing then
          Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
    		else
    			null as Interval<DateTime>
    	end