ColonCancerScreeningFHIR
type: Measure
node role: treeRoot
id:
  v: ColonCancerScreeningFHIR
meta:
  profile:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm
    l: computable-measure-cqfm
  profile:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm
    l: publishable-measure-cqfm
  profile:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm
    l: executable-measure-cqfm
text:
  status:
    v: extensions
  div:
    v: Metadata Title Colorectal Cancer ScreeningFHIR Version 0.1.000 Short Name CMS130FHIR GUID (Version Independent) urn:uuid:627c6e27-5c46-4412-941a-ca387492bbaa GUID (Version Specific) urn:uuid:3ff5ff28-e118-4433-8467-15d0a585b45d CMS Identifier 130FHIR Effective Period 2025-01-01 through 2025-12-31 Status Draft Steward (Publisher) National Committee for Quality Assurance Developer National Committee for Quality Assurance Description Percentage of adults 45-75 years of age who had appropriate screening for colorectal cancer Copyright This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data ar…
contained: Library
  id:
    v: effective-data-requirements
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://terminology.hl7.org/CodeSystem/observation-category
        l: observation-category
      code:
        v: laboratory
      display:
        v: laboratory
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: http://snomed.info/id/428361000124107
      system:
        v: http://snomed.info/sct
        l: sct
      code:
        v: 428361000124107
      display:
        v: Discharge to home for hospice care (procedure)
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: http://snomed.info/id/428371000124100
      system:
        v: http://snomed.info/sct
        l: sct
      code:
        v: 428371000124100
      display:
        v: Discharge to healthcare facility for hospice care (procedure)
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://terminology.hl7.org/CodeSystem/observation-category
        l: observation-category
      code:
        v: survey
      display:
        v: survey
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: http://snomed.info/id/373066001
      system:
        v: http://snomed.info/sct
        l: sct
      code:
        v: 373066001
      display:
        v: Yes (qualifier value)
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: https://loinc.org/rdf/45755-6
      system:
        v: http://loinc.org
        l: loinc.org
      code:
        v: 45755-6
      display:
        v: Hospice care [Minimum Data Set]
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://terminology.hl7.org/CodeSystem/condition-clinical
        l: condition-clinical
      code:
        v: active
      display:
        v: Active
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://terminology.hl7.org/CodeSystem/condition-clinical
        l: condition-clinical
      code:
        v: recurrence
      display:
        v: Recurrence
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://terminology.hl7.org/CodeSystem/condition-clinical
        l: condition-clinical
      code:
        v: relapse
      display:
        v: Relapse
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: https://loinc.org/rdf/98181-1
      system:
        v: http://loinc.org
        l: loinc.org
      code:
        v: 98181-1
      display:
        v: Medical equipment used
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: https://loinc.org/rdf/71802-3
      system:
        v: http://loinc.org
        l: loinc.org
      code:
        v: 71802-3
      display:
        v: Housing status
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: http://snomed.info/id/160734000
      system:
        v: http://snomed.info/sct
        l: sct
      code:
        v: 160734000
      display:
        v: Lives in a nursing home (finding)
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      type: https://loinc.org/rdf/71007-9
      system:
        v: http://loinc.org
        l: loinc.org
      code:
        v: 71007-9
      display:
        v: Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: ColonCancerScreeningFHIR
    extension:
      url:
        v: name
        l: name
      value: String
        v: Fecal Occult Blood Test Performed
    extension:
      url:
        v: statement
        l: statement
      value: String

String
v: define "Fecal Occult Blood Test Performed": ( ( [Observation: "Fecal Occult Blood Test (FOBT)"] ).isLaboratoryTestPerformed ( ) ) FecalOccultResult where FecalOccultResult.value is not null and FecalOccultResult.effective.latest ( ) during day of "Measurement Period"

url:
  v: displaySequence
  l: displaySequence
value: Integer
  v: 0

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Stool DNA with FIT Test Performed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Stool DNA with FIT Test Performed": ( ( [Observation: "sDNA FIT Test"] ).isLaboratoryTestPerformed ( ) ) sDNATest where sDNATest.value is not null and sDNATest.effective.latest ( ) during day of Interval[start of "Measurement Period" - 2 years, end of "Measurement Period"]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 1
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Flexible Sigmoidoscopy Performed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Flexible Sigmoidoscopy Performed": ( ( [Procedure: "Flexible Sigmoidoscopy"] ).isProcedurePerformed ( ) ) FlexibleSigmoidoscopy where FlexibleSigmoidoscopy.performed.toInterval ( ) ends during day of Interval[start of "Measurement Period" - 4 years, end of "Measurement Period"]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 2
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: CT Colonography Performed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "CT Colonography Performed": ( ( [Observation: "CT Colonography"] ).isDiagnosticStudyPerformed ( ) ) Colonography where Colonography.effective.toInterval ( ) ends during day of Interval[start of "Measurement Period" - 4 years, end of "Measurement Period"]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 3
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Colonoscopy Performed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Colonoscopy Performed": ( ( [Procedure: "Colonoscopy"] ).isProcedurePerformed ( ) ) Colonoscopy where Colonoscopy.performed.toInterval ( ) ends during day of Interval[start of "Measurement Period" - 9 years, end of "Measurement Period"]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 4
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Numerator
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Numerator": exists "Fecal Occult Blood Test Performed" or exists "Stool DNA with FIT Test Performed" or exists "Flexible Sigmoidoscopy Performed" or exists "CT Colonography Performed" or exists "Colonoscopy Performed"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 5
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Stratification 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Stratification 2": AgeInYearsAt(date from end of "Measurement Period" ) in Interval[50, 75]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 6
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Stratification 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Stratification 1": AgeInYearsAt(date from end of "Measurement Period" ) in Interval[46, 49]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 7
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdultOutpatientEncounters
extension:
  url:
    v: name
    l: name
  value: String
    v: Qualifying Encounters
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Qualifying Encounters": ( ( [Encounter: "Office Visit"] union [Encounter: "Annual Wellness Visit"] union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"] union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"] union [Encounter: "Home Healthcare Services"] union [Encounter: "Virtual Encounter"] union [Encounter: "Telephone Visits"] ).isEncounterPerformed() ) ValidEncounter where ValidEncounter.period.toInterval() during day of "Measurement Period"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 8
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Initial Population
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Initial Population": AgeInYearsAt(date from end of "Measurement Period" ) in Interval[46, 75] and exists AdultOutpatientEncounters."Qualifying Encounters"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 9
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Denominator
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Denominator": "Initial Population"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 10
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Hospice
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Hospice Services
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Hospice Services": exists ((([Encounter: "Encounter Inpatient"]).isEncounterPerformed()) InpatientEncounter where (InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to home for hospice care (procedure)" or InpatientEncounter.hospitalization.dischargeDisposition ~ "Discharge to healthcare facility for hospice care (procedure)" ) and InpatientEncounter.period.toInterval() ends during day of "Measurement Period" ) or exists ((([Encounter: "Hospice Encounter"]).isEncounterPerformed()) HospiceEncounter where HospiceEncounter.period.toInterval() overlaps day of "Measurement Period" ) or exists ((([Observation: "Hospice care [Minimum Data Set]"]).isAssessmentPerformed()) HospiceAssessment where HospiceAssessment.value ~ "Yes (qualifier value)" and HospiceAssessment.effective.toInterval() overlaps day of "Measurement Period" ) or exists ((([ServiceRequest: "Hospice Care Ambulatory"]).isInterventionOrder()) HospiceOrder where HospiceOrder.authoredOn.toInterval() during day of "Measurement Period" // and HospiceOrder.doNotPerform is not true // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447 ) or exists ((([Procedure: "Hospice Care Ambulatory"]).isInterventionPerformed()) HospicePerformed where HospicePerformed.performed.toInterval() overlaps day of "Measurement Period" ) or exists (([Condition: "Hospice Diagnosis"]) HospiceCareDiagnosis where HospiceCareDiagnosis.prevalenceInterval() overlaps day of "Measurement Period" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 11
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Malignant Neoplasm
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Malignant Neoplasm": ( [Condition: "Malignant Neoplasm of Colon"] ) ColorectalCancer where ColorectalCancer.prevalenceInterval ( ) starts on or before day of end of "Measurement Period"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 12
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Total Colectomy Performed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Total Colectomy Performed": ( ( [Procedure: "Total Colectomy"] ).isProcedurePerformed ( ) ) Colectomy where Colectomy.performed.toInterval ( ) ends on or before day of end of "Measurement Period"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 13
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdvancedIllnessandFrailty
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Criteria Indicating Frailty
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Criteria Indicating Frailty": exists ( (([DeviceRequest: "Frailty Device"]).isDeviceOrder()) FrailtyDeviceOrder where FrailtyDeviceOrder.doNotPerform() is not true and FrailtyDeviceOrder.authoredOn.toInterval() during day of "Measurement Period" ) or exists ( (([Observation: "Medical equipment used"]).isAssessmentPerformed()) EquipmentUsed where EquipmentUsed.value as Concept in "Frailty Device" and EquipmentUsed.effective.toInterval() ends during day of "Measurement Period" ) or exists ( ([Condition: "Frailty Diagnosis"]) FrailtyDiagnosis where FrailtyDiagnosis.prevalenceInterval() overlaps day of "Measurement Period" ) or exists ( (([Encounter: "Frailty Encounter"]).isEncounterPerformed()) FrailtyEncounter where FrailtyEncounter.period.toInterval() overlaps day of "Measurement Period" ) or exists ( (([Observation: "Frailty Symptom"]).isSymptom()) FrailtySymptom where FrailtySymptom.effective.toInterval() overlaps day of "Measurement Period" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 14
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdvancedIllnessandFrailty
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Advanced Illness in Year Before or During Measurement Period
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Advanced Illness in Year Before or During Measurement Period": exists ([Condition: "Advanced Illness"] AdvancedIllnessDiagnosis where AdvancedIllnessDiagnosis.prevalenceInterval() starts during day of Interval[start of "Measurement Period" - 1 year, end of "Measurement Period"])
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 15
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdvancedIllnessandFrailty
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Dementia Medications in Year Before or During Measurement Period
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Dementia Medications in Year Before or During Measurement Period": exists (( ([MedicationRequest: medication in "Dementia Medications"]).isMedicationActive()) DementiaMedication // https://oncprojectracking.healthit.gov/support/browse/CQLIT-449 where DementiaMedication.medicationRequestPeriod() overlaps day of Interval[start of "Measurement Period" - 1 year, end of "Measurement Period"] // and DementiaMedication.doNotPerform is not true // https://oncprojectracking.healthit.gov/support/browse/CQLIT-447 )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 16
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdvancedIllnessandFrailty
extension:
  url:
    v: name
    l: name
  value: String
    v: Is Age 66 or Older with Advanced Illness and Frailty
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Is Age 66 or Older with Advanced Illness and Frailty": AgeInYearsAt(date from end of "Measurement Period")>= 66 and "Has Criteria Indicating Frailty" and ( "Has Advanced Illness in Year Before or During Measurement Period" or "Has Dementia Medications in Year Before or During Measurement Period" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 17
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: AdvancedIllnessandFrailty
extension:
  url:
    v: name
    l: name
  value: String
    v: Is Age 66 or Older Living Long Term in a Nursing Home
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Is Age 66 or Older Living Long Term in a Nursing Home": AgeInYearsAt(date from end of "Measurement Period" )>= 66 and ( ( Last( (([Observation: "Housing status"]).isAssessmentPerformed()) HousingStatus where HousingStatus.effective.toInterval() ends on or before day of end of "Measurement Period" sort by end of effective.toInterval() asc )) LastHousingStatus where LastHousingStatus.value ~ "Lives in a nursing home (finding)" ) is not null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 18
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: PalliativeCare
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Palliative Care in the Measurement Period
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Palliative Care in the Measurement Period": exists ((([Observation: "Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)"]).isAssessmentPerformed()) PalliativeAssessment where PalliativeAssessment.effective.toInterval() overlaps day of "Measurement Period" ) or exists ([Condition: "Palliative Care Diagnosis"] PalliativeDiagnosis where PalliativeDiagnosis.prevalenceInterval() overlaps day of "Measurement Period" ) or exists ((([Encounter: "Palliative Care Encounter"]).isEncounterPerformed()) PalliativeEncounter where PalliativeEncounter.period.toInterval() overlaps day of "Measurement Period" ) or exists ((([Procedure: "Palliative Care Intervention"]).isInterventionPerformed()) PalliativeIntervention where PalliativeIntervention.performed.toInterval() overlaps day of "Measurement Period" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 19
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: ColonCancerScreeningFHIR
extension:
  url:
    v: name
    l: name
  value: String
    v: Denominator Exclusion
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Denominator Exclusion": Hospice."Has Hospice Services" or exists "Malignant Neoplasm" or exists "Total Colectomy Performed" or AIFrailLTCF."Is Age 66 or Older with Advanced Illness and Frailty" or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home" or PalliativeCare."Has Palliative Care in the Measurement Period"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 20
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isLaboratoryTestPerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Laboratory Test, Performed define fluent function isLaboratoryTestPerformed(Obs List<Observation>): Obs O where O.status in { 'final', 'amended', 'corrected' } and exists ( O.category ObservationCategory where ( ObservationCategory ) ~ "laboratory" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 21
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToConcept
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept. */ define function ToConcept(concept FHIR.CodeableConcept): if concept is null then null else System.Concept { codes: concept.coding C return ToCode(C), display: concept.text.value }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 22
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToCode
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 23
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: latest
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Given an interval, returns the ending point if the interval has an ending boundary specified, otherwise, returns the starting point */ define fluent function latest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ): (choice.toInterval()) period return if (period."hasEnd"()) then end of period else start of period
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 24
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: hasEnd
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Given an interval, returns true if the interval has an ending boundary specified (i.e. the end of the interval is not null and not the maximum DateTime value) */ define fluent function hasEnd(period Interval<DateTime> ): not ( end of period is null or end of period = maximum DateTime )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 25
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isProcedurePerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Procedure, Performed define fluent function isProcedurePerformed(Proc List<Procedure>): Proc P where P.status ~ 'completed'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 26
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isDiagnosticStudyPerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Diagnostic Study, Performed define fluent function isDiagnosticStudyPerformed(Obs List<Observation>): Obs O where O.status in {'final', 'amended', 'corrected' }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 27
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isEncounterPerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Encounter, Performed //General usage unless required otherwise by measure intent (e.g., follow-up encounters) define fluent function isEncounterPerformed(Enc List<Encounter>): Enc E where E.status in {'finished', 'arrived', 'triaged', 'in-progress', 'onleave'}
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 28
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: toInterval
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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 toInter…
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 29
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToInterval
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period) value to a CQL DateTime Interval @comment: If the start value of the given period is unspecified, the starting boundary of the resulting interval will be open (meaning the start of the interval is unknown, as opposed to interpreted as the beginning of time). */ define function ToInterval(period FHIR.Period): if period is null then null else if period."start" is null then Interval(period."start".value, period."end".value] else Interval[period."start".value, period."end".value]
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 30
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isAssessmentPerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //This library contains functions that are based on QDM 5.6 to QICore 4.1.1 March 2023 (https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns---QICore-v4.1.1). The functions may appear similar to some QICoreCommon functions but different in that they have constraints that are relevant for measures authored by NCQA. //Assessment, Performed define fluent function isAssessmentPerformed(Obs List<Observation>): Obs O where O.status in { 'final', 'amended', 'corrected' } and exists ( O.category ObservationCategory where ( ObservationCategory ) ~ "survey" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 31
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isInterventionOrder
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Intervention, Order: active and completed only define fluent function isInterventionOrder(ServiceRequest List<ServiceRequest>): ServiceRequest S where S.status in { 'active', 'completed' } and S.intent = 'order'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 32
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isInterventionPerformed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Intervention, Performed define fluent function isInterventionPerformed(Proc List<Procedure>): Proc P where P.status ~ 'completed'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 33
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: prevalenceInterval
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 34
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: abatementInterval
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Returns an interval representing the normalized abatement of a given Condition. @comment: If the abatement element of the Condition is represented as a DateTime, the result is an interval beginning and ending on that DateTime. If the abatement is represented as a Quantity, the quantity is expected to be a calendar-duration and is interpreted as the age of the patient. The result is an interval from the date the patient turned that age to immediately before one year later. If the abatement is represented as a Quantity Interval, the quantities are expected to be calendar-durations and are interpreted as an age range during which the abatement occurred. The result is an interval from the date the patient turned the starting age of the quantity interval, and ending immediately before one year later than the date the patient turned the ending age of the quantity interval. */ define fluent function abatementInterval(condition Condition): if condition.abatement is DateTime then Interval[condition.abatement as DateTime, condition.abatement as DateTime] else if condition.abatement is Quantity then Interval[Patient.birthDate + (condition.abatement as Quantity), Patient.birthDate + (condition.abatement as Quantity) + 1 year) else if condition.abatement is Interval<Quantity> then Interval[Patient.birthDate + (condition.abatement.low as Quantity), Patient.birthDate + (condition.abatement.high as Quantity) + 1 year) else if condition.abatement is Interval<DateTime> then Interval[condition.abatement.low, condition.abatement.high) else null as Interval<DateTime>
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 35
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isDeviceOrder
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Device, Order - Personal Use Devices: active and completed only define fluent function isDeviceOrder(DeviceRequest List<DeviceRequest>): DeviceRequest D where D.status in { 'active', 'completed' } and D.intent = 'order'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 36
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: QICoreCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: doNotPerform
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Returns true if the given DeviceRequest is a negation (i.e. do not perform this order) */ define fluent function doNotPerform(deviceRequest DeviceRequest): singleton from ( deviceRequest.modifierExtension E where E.url = 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-doNotPerform' return E.value as Boolean )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 37
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isSymptom
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Symptom define fluent function isSymptom(Obs List<Observation>): Obs O where O.status in { 'preliminary', 'final', 'amended', 'corrected' }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 38
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: Status
extension:
  url:
    v: name
    l: name
  value: String
    v: isMedicationActive
extension:
  url:
    v: statement
    l: statement
  value: String
    v: //Medication, Active define fluent function isMedicationActive(MedicationRequest List<MedicationRequest>): MedicationRequest M where M.status = 'active' and M.intent = 'order'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 39
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: CumulativeMedicationDuration
extension:
  url:
    v: name
    l: name
  value: String
    v: medicationRequestPeriod
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define fluent function medicationRequestPeriod(Request "MedicationRequest"): Request R let dosage: singleton from R.dosageInstruction, doseAndRate: singleton from dosage.doseAndRate, timing: dosage.timing, frequency: Coalesce(timing.repeat.frequencyMax, timing.repeat.frequency), period: Quantity(timing.repeat.period, timing.repeat.periodUnit), doseRange: doseAndRate.dose, doseQuantity: doseAndRate.dose, dose: Coalesce(end of doseRange, doseQuantity), dosesPerDay: Coalesce(ToDaily(frequency, period), Count(timing.repeat.timeOfDay), 1.0), boundsPeriod: timing.repeat.bounds as Interval<DateTime>, daysSupply: (convert R.dispenseRequest.expectedSupplyDuration to days).value, quantity: R.dispenseRequest.quantity, refills: Coalesce(R.dispenseRequest.numberOfRepeatsAllowed, 0), startDate: Coalesce( date from start of boundsPeriod, date from R.authoredOn, date from start of R.dispenseRequest.validityPeriod ), totalDaysSupplied: Coalesce(daysSupply, quantity.value / (dose.value * dosesPerDay)) * (1 + refills) return if startDate is not null and totalDaysSupplied is not null then Interval[startDate, startDate + Quantity(totalDaysSupplied - 1, 'day') ] else if startDate is not null and boundsPeriod."high" is not null then Interval[startDate, date from end of boundsPeriod] else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 40
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: CumulativeMedicationDuration
extension:
  url:
    v: name
    l: name
  value: String
    v: Quantity
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /**********************************************************************/ /* Functions in this region are copied from opioid-mme-r4 */ /**********************************************************************/ define function Quantity(value Decimal, unit String): if value is not null then System.Quantity { value: value, unit: unit } else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 41
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: CumulativeMedicationDuration
extension:
  url:
    v: name
    l: name
  value: String
    v: ToDaily
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* Goal is to get to number of days Two broad approaches to the calculation: 1) Based on supply and frequency, calculate the number of expected days the medication will cover/has covered 2) Based on relevant period, determine a covered interval and calculate the length of that interval in days This topic covers several use cases and illustrates how to calculate Cumulative Medication Duration for each type of medication resource using the supply and frequency approach. */ /* For the first approach, we need to get from frequency to a frequency/day So we define ToDaily */ /* Calculates daily frequency given frequency within a period */ define function ToDaily(frequency System.Integer, period System.Quantity): case period.unit when 'h' then frequency * (24.0 / period.value) when 'min' then frequency * (24.0 / period.value) * 60 when 's' then frequency * (24.0 / period.value) * 60 * 60 when 'd' then frequency * (24.0 / period.value) / 24 when 'wk' then frequency * (24.0 / period.value) / (24 * 7) when 'mo' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */ when 'a' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */ when 'hour' then frequency * (24.0 / period.value) when 'minute' then frequency * (24.0 / period.value) * 60 when 'second' then frequency * (24.0 / period.value) * 60 * 60 when 'day' then frequency * (24.0 / period.value) / 24 when 'week' then frequency * (24.0 / period.value) / (24 * 7) when 'month' then frequency * (24.0 / period.value) / (24 * 30) /* assuming 30 days in month */ when 'year' then frequency * (24.0 / period.value) / (24 * 365) /* assuming 365 days in year */ when 'hours' then frequency * (24.0 / period.value) when 'minutes' then frequency * (24.0 / period.value) * 60 when 'seconds' then frequency * (24.0 / period.value) * 60 * 60 when 'days' then frequency * (24.0 / period.value) / 24 when 'weeks' then frequency * (24.0 / period.value) / (24 * 7) when 'months' then frequency * (…
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 42
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

v: EffectiveDataRequirements

v: active

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/library-type
    l: library-type
  code:
    v: module-definition

type:
  v: depends-on
display:
  v: QICore model information
resource:
  v: http://hl7.org/fhir/us/qicore/Library/QICore-ModelInfo|4.1.1
  l: http://hl7.org/fhir/us/qicore/Library/QICore-ModelInfo

type:
  v: depends-on
display:
  v: Library Status
resource:
  v: https://madie.cms.gov/Library/Status|1.8.000
  l: https://madie.cms.gov/Library/Status

type:
  v: depends-on
display:
  v: Library FHIRHelpers
resource:
  v: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
  l: https://madie.cms.gov/Library/FHIRHelpers

type:
  v: depends-on
display:
  v: Library QICoreCommon
resource:
  v: https://madie.cms.gov/Library/QICoreCommon|2.1.000
  l: https://madie.cms.gov/Library/QICoreCommon

type:
  v: depends-on
display:
  v: Library AdultOutpatientEncounters
resource:
  v: https://madie.cms.gov/Library/AdultOutpatientEncounters|4.11.000
  l: https://madie.cms.gov/Library/AdultOutpatientEncounters

type:
  v: depends-on
display:
  v: Library Hospice
resource:
  v: https://madie.cms.gov/Library/Hospice|6.12.000
  l: https://madie.cms.gov/Library/Hospice

type:
  v: depends-on
display:
  v: Library AIFrailLTCF
resource:
  v: https://madie.cms.gov/Library/AdvancedIllnessandFrailty|1.16.000
  l: https://madie.cms.gov/Library/AdvancedIllnessandFrailty

type:
  v: depends-on
display:
  v: Library CMD
resource:
  v: https://madie.cms.gov/Library/CumulativeMedicationDuration|4.1.000
  l: https://madie.cms.gov/Library/CumulativeMedicationDuration

type:
  v: depends-on
display:
  v: Library PalliativeCare
resource:
  v: https://madie.cms.gov/Library/PalliativeCare|1.11.000
  l: https://madie.cms.gov/Library/PalliativeCare

type:
  v: depends-on
display:
  v: Code system ObservationCategoryCodes
resource:
  v: http://terminology.hl7.org/CodeSystem/observation-category
  l: observation-category

type:
  v: depends-on
display:
  v: Code system SNOMEDCT
resource:
  v: http://snomed.info/sct
  l: sct

type:
  v: depends-on
display:
  v: Code system LOINC
resource:
  v: http://loinc.org
  l: loinc.org

type:
  v: depends-on
display:
  v: Code system ConditionClinicalStatusCodes
resource:
  v: http://terminology.hl7.org/CodeSystem/condition-clinical
  l: condition-clinical

type:
  v: depends-on
display:
  v: Value set Fecal Occult Blood Test (FOBT)
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011

type:
  v: depends-on
display:
  v: Value set sDNA FIT Test
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039

type:
  v: depends-on
display:
  v: Value set Flexible Sigmoidoscopy
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010

type:
  v: depends-on
display:
  v: Value set CT Colonography
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038

type:
  v: depends-on
display:
  v: Value set Colonoscopy
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020

type:
  v: depends-on
display:
  v: Value set Office Visit
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type:
  v: depends-on
display:
  v: Value set Annual Wellness Visit
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type:
  v: depends-on
display:
  v: Value set Preventive Care Services Established Office Visit, 18 and Up
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type:
  v: depends-on
display:
  v: Value set Preventive Care Services Initial Office Visit, 18 and Up
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type:
  v: depends-on
display:
  v: Value set Home Healthcare Services
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

type:
  v: depends-on
display:
  v: Value set Virtual Encounter
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089

type:
  v: depends-on
display:
  v: Value set Telephone Visits
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080

type:
  v: depends-on
display:
  v: Value set Encounter Inpatient
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type:
  v: depends-on
display:
  v: Value set Hospice Encounter
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003

type:
  v: depends-on
display:
  v: Value set Hospice Care Ambulatory
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584

type:
  v: depends-on
display:
  v: Value set Hospice Diagnosis
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165

type:
  v: depends-on
display:
  v: Value set Malignant Neoplasm of Colon
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001

type:
  v: depends-on
display:
  v: Value set Total Colectomy
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019

type:
  v: depends-on
display:
  v: Value set Frailty Device
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300

type:
  v: depends-on
display:
  v: Value set Frailty Diagnosis
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074

type:
  v: depends-on
display:
  v: Value set Frailty Encounter
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088

type:
  v: depends-on
display:
  v: Value set Frailty Symptom
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075

type:
  v: depends-on
display:
  v: Value set Advanced Illness
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082

type:
  v: depends-on
display:
  v: Value set Dementia Medications
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510

type:
  v: depends-on
display:
  v: Value set Palliative Care Diagnosis
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167

type:
  v: depends-on
display:
  v: Value set Palliative Care Encounter
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090

type:
  v: depends-on
display:
  v: Value set Palliative Care Intervention
resource:
  v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
  l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135

name:
  v: Measurement Period
use:
  v: in
min:
  v: 0
max:
  v: 1
type:
  v: Period

name:
  v: ErrorLevel
use:
  v: in
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Numerator
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Stratification 2
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Stratification 1
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Denominator
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Initial Population
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Denominator Exclusion
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: value
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1011

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: value
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1039

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1038

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: value
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  code: https://loinc.org/rdf/45755-6
    system:
      v: http://loinc.org
      l: loinc.org
    code:
      v: 45755-6
    display:
      v: Hospice care [Minimum Data Set]
code filter:
  path:
    v: value

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: value
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  code: https://loinc.org/rdf/98181-1
    system:
      v: http://loinc.org
      l: loinc.org
    code:
      v: 98181-1
    display:
      v: Medical equipment used
code filter:
  path:
    v: value
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
date filter:
  path:
    v: effective
  value: Period
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/cqf-expression
        l: cqf-expression
      value: Expression

v: text/cql-identifier

v: Measurement Period

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  code: https://loinc.org/rdf/71802-3
    system:
      v: http://loinc.org
      l: loinc.org
    code:
      v: 71802-3
    display:
      v: Housing status
date filter:
  path:
    v: effective

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: effective
must support:
  v: value
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  code: https://loinc.org/rdf/71802-3
    system:
      v: http://loinc.org
      l: loinc.org
    code:
      v: 71802-3
    display:
      v: Housing status
code filter:
  path:
    v: value
date filter:
  path:
    v: effective

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation
  l: qicore-observation
must support:
  v: code
must support:
  v: effective
must support:
  v: status
must support:
  v: status.value
must support:
  v: category
code filter:
  path:
    v: code
  code: https://loinc.org/rdf/71007-9
    system:
      v: http://loinc.org
      l: loinc.org
    code:
      v: 71007-9
    display:
      v: Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)

type:
  v: Procedure
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
  l: qicore-procedure
must support:
  v: code
must support:
  v: performed
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1010

type:
  v: Procedure
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
  l: qicore-procedure
must support:
  v: code
must support:
  v: performed
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1020

type:
  v: Procedure
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
  l: qicore-procedure
must support:
  v: code
must support:
  v: performed
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584

type:
  v: Procedure
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
  l: qicore-procedure
must support:
  v: code
must support:
  v: performed
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1019
date filter:
  path:
    v: performed

type:
  v: Procedure
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
  l: qicore-procedure
must support:
  v: code
must support:
  v: performed
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135

type:
  v: Patient
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
  l: qicore-patient

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: status
must support:
  v: status.value
must support:
  v: period
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: hospitalization
must support:
  v: hospitalization.dischargeDisposition
must support:
  v: period
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: period
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: period
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088

type:
  v: Encounter
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
  l: qicore-encounter
must support:
  v: type
must support:
  v: period
must support:
  v: status
must support:
  v: status.value
code filter:
  path:
    v: type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090

type:
  v: ServiceRequest
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
  l: qicore-servicerequest
must support:
  v: code
must support:
  v: authoredOn
must support:
  v: authoredOn.value
must support:
  v: status
must support:
  v: status.value
must support:
  v: intent
must support:
  v: intent.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584

type:
  v: Condition
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition
  l: qicore-condition
must support:
  v: code
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165

type:
  v: Condition
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition
  l: qicore-condition
must support:
  v: code
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.108.12.1001

type:
  v: Condition
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition
  l: qicore-condition
must support:
  v: code
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074

type:
  v: Condition
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition
  l: qicore-condition
must support:
  v: code
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.110.12.1082

type:
  v: Condition
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition
  l: qicore-condition
must support:
  v: code
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167

type:
  v: DeviceRequest
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest
  l: qicore-devicerequest
must support:
  v: code
must support:
  v: status
must support:
  v: status.value
must support:
  v: intent
must support:
  v: intent.value
must support:
  v: url
must support:
  v: url.value
must support:
  v: value
must support:
  v: authoredOn
must support:
  v: authoredOn.value
code filter:
  path:
    v: code
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300

type:
  v: MedicationRequest
profile:
  v: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
  l: qicore-medicationrequest
must support:
  v: medication
must support:
  v: status
must support:
  v: status.value
must support:
  v: intent
must support:
  v: intent.value
must support:
  v: dosageInstruction
must support:
  v: dispenseRequest
must support:
  v: dispenseRequest.expectedSupplyDuration
must support:
  v: dispenseRequest.quantity
must support:
  v: dispenseRequest.numberOfRepeatsAllowed
must support:
  v: dispenseRequest.numberOfRepeatsAllowed.value
must support:
  v: authoredOn
must support:
  v: authoredOn.value
must support:
  v: dispenseRequest.validityPeriod
code filter:
  path:
    v: medication
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510

url:
  v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements
  l: crmi-effectiveDataRequirements
value: Canonical
  v: #effective-data-requirements
  l: effective-data-requirements

use:
  v: usual
type:
  coding:
    system:
      v: http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type
      l: identifier-type
    code:
      v: short-name
system:
  v: https://madie.cms.gov/measure/shortName
  l: shortName
value:
  v: CMS130FHIR

use:
  v: official
type:
  coding:
    system:
      v: http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type
      l: identifier-type
    code:
      v: version-independent
system:
  v: urn:ietf:rfc:3986
  l: 3986

use:
  v: official
type:
  coding:
    system:
      v: http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type
      l: identifier-type
    code:
      v: version-specific
system:
  v: urn:ietf:rfc:3986
  l: 3986

use:
  v: official
type:
  coding:
    system:
      v: http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type
      l: identifier-type
    code:
      v: publisher
system:
  v: https://madie.cms.gov/measure/cmsId
  l: cmsId
value:
  v: 130FHIR
assigner:
  display:
    v: CMS

v: 0.1.000

v: ColonCancerScreeningFHIR

v: Colorectal Cancer ScreeningFHIR

v: draft

v: false

v: 2026-03-13T01:50:41+00:00

v: National Committee for Quality Assurance

telecom:
  system:
    v: url
  value:
    v: https://www.ncqa.org/

v: Percentage of adults 45-75 years of age who had appropriate screening for colorectal cancer

v: UNKNOWN

v: Do not count digital rectal exams (DRE), fecal occult blood tests (FOBTs) performed in an office setting or performed on a sample collected via DRE. Please note the measure may include screenings performed outside the age range of patients referenced in the initial population. Screenings that occur prior to the measurement period are valid to meet measure criteria. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure: CMS130v13. Please refer to the HL7 QI-Core Implementation Guide (http://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (http://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).

v: This Physician Performance Measure (Measure) and related data specifications are owned and were developed by the National Committee for Quality Assurance (NCQA). NCQA is not responsible for any use of the Measure. NCQA makes no representations, warranties, or endorsement about the quality of any organization or physician that uses or reports performance measures and NCQA has no liability to anyone who relies on such measures or specifications. NCQA holds a copyright in the Measure. The Measure can be reproduced and distributed, without modification, for noncommercial purposes (e.g., use by healthcare providers in connection with their practices) without obtaining approval from NCQA. Commercial use is defined as the sale, licensing, or distribution of the Measure for commercial gain, or incorporation of the Measure into a product or service that is sold, licensed or distributed for commercial gain. All commercial uses or requests for modification must be approved by NCQA and are subject to a license at the discretion of NCQA. (C) 2012-2024 National Committee for Quality Assurance. All Rights Reserved. Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. NCQA disclaims all liability for use or accuracy of any third-party codes contained in the specifications. CPT(R) codes, descriptions and other data are copyright 2024. American Medical Association. All rights reserved. CPT is a trademark of the American Medical Association. Fee schedules, relative value units, conversion factors and/or related components are not assigned by the AMA, are not part of CPT, and the AMA is not recommending their use. The AMA does not directly or indirectly practice medicine or dispense medical services. The AMA assumes no liability for data contained or not contained herein. Applicable FARS/DFARS restrictions apply to government use. Some measure spe…

start:
  v: 2025-01-01
end:
  v: 2025-12-31

name:
  v: National Committee for Quality Assurance
telecom:
  system:
    v: url
  value:
    v: https://www.ncqa.org/

v: The performance Measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURE AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/measure-scoring
    l: measure-scoring
  code:
    v: proportion
  display:
    v: Proportion

v: Colorectal cancer represents eight percent of all new cancer cases in the United States. In 2020, there were an estimated 147,950 new cases of colorectal cancer and an estimated 53,200 deaths attributed to it. According to the National Cancer Institute, about 4.2 percent of men and women will be diagnosed with colorectal cancer at some point during their lifetimes. For most adults, older age is the most important risk factor for colorectal cancer, although being male and black are also associated with higher incidence and mortality. Colorectal cancer is most frequently diagnosed among people 65 to 74 years old (Howlader et al., 2020). Screening can be effective for finding precancerous lesions (polyps) that could later become malignant, and for detecting early cancers that can be more easily and effectively treated. Precancerous polyps usually take about 10 to 15 years to develop into colorectal cancer, and most can be found and removed before turning into cancer. The five-year relative survival rate for people whose colorectal cancer is found in the early stage before it has spread is about 90 percent (SEER, 2022).

v: The U.S. Preventive Services Task Force (2021) recommends screening for colorectal cancer in adults aged 45 to 49 years. This is a Grade B recommendation (U.S. Preventive Services Task Force, 2021). The U.S. Preventive Services Task Force (2021) recommends screening for colorectal cancer in adults aged 50 to 75 years. This is a Grade A recommendation (U.S. Preventive Services Task Force, 2021). Appropriate screenings are defined by any one of the following: - Fecal occult blood test (annually) - Stool DNA (sDNA) with FIT test (every 3 years) - Flexible sigmoidoscopy (every 5 years) - Computed tomographic (CT) colonography (every 5 years) - Colonoscopy (every 10 years)

id:
  v: 654a405f78418140875e351c
extension:
  url:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring
    l: cqfm-scoring
  value: CodeableConcept
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-scoring
        l: measure-scoring
      code:
        v: proportion
      display:
        v: Proportion
extension:
  url:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis
    l: cqfm-populationBasis
  value: Code
    v: boolean
extension:
  url:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type
    l: cqfm-type
  value: CodeableConcept
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-type
        l: measure-type
      code:
        v: process
      display:
        v: Process
extension:
  url:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation
    l: cqfm-rateAggregation
  value: Code
    v: None
extension:
  url:
    v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation
    l: cqfm-improvementNotation
  value: CodeableConcept
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-improvement-notation
        l: measure-improvement-notation
      code:
        v: decrease
      display:
        v: increase
population:
  code:
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-population
        l: measure-population
      code:
        v: initial-population
      display:
        v: Initial Population
  description:
    v: Patients 46-75 years of age by the end of the measurement period with a visit during the measurement period
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Initial Population
population:
  code:
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-population
        l: measure-population
      code:
        v: denominator
      display:
        v: Denominator
  description:
    v: Equals Initial Population
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Denominator
population:
  code:
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-population
        l: measure-population
      code:
        v: denominator-exclusion
      display:
        v: Denominator Exclusion
  description:
    v: Exclude patients who are in hospice care for any part of the measurement period. Exclude patients with a diagnosis or past history of total colectomy or colorectal cancer. Exclude patients 66 and older by the end of the measurement period with an indication of frailty for any part of the measurement period who also meet any of the following advanced illness criteria: - Advanced illness diagnosis during the measurement period or the year prior - OR taking dementia medications during the measurement period or the year prior Exclude patients 66 and older by the end of the measurement period who are living long term in a nursing home any time on or before the end of the measurement period. Exclude patients receiving palliative care for any part of the measurement period.
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Denominator Exclusion
population:
  code:
    coding:
      system:
        v: http://terminology.hl7.org/CodeSystem/measure-population
        l: measure-population
      code:
        v: numerator
      display:
        v: Numerator
  description:
    v: Patients with one or more screenings for colorectal cancer. Appropriate screenings are defined by any one of the following criteria: - Fecal occult blood test (FOBT) during the measurement period - Stool DNA (sDNA) with FIT test during the measurement period or the two years prior to the measurement period - Flexible sigmoidoscopy during the measurement period or the four years prior to the measurement period - CT Colonography during the measurement period or the four years prior to the measurement period - Colonoscopy during the measurement period or the nine years prior to the measurement period
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Numerator
stratifier:
  extension:
    url:
      v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-appliesTo
      l: cqfm-appliesTo
    value: CodeableConcept
  description:
    v: Patients age 46-49 by the end of the measurement period
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Stratification 1
stratifier:
  extension:
    url:
      v: http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-appliesTo
      l: cqfm-appliesTo
    value: CodeableConcept
  description:
    v: Patients age 50-75 by the end of the measurement period
  criteria:
    language:
      v: text/cql-identifier
    expression:
      v: Stratification 2

v: initial-population

v: Initial Population

v: initial-population

v: Initial Population