Quality Measure Implementation Guide (STU4)
4.0.0 - STU4 United States of America flag

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v4.0.0: STU4 (v4.0.0)) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Example Measure: Preventive Care and Screening: Tobacco Use: Screening and Cessation Intervention

Draft as of 2022-02-22
Id: TSCComponent
Download cql: TSCComponent.cql
Url: Preventive Care and Screening: Tobacco Use: Screening and Cessation Intervention
Version: 0.0.001
Name: TSCComponent
Title: Preventive Care and Screening: Tobacco Use: Screening and Cessation Intervention
Status: draft
Experimental: true
Scoring:

Proportion

Improvement Notation:

increase

Type:

process

Date: 2022-02-22 11:37:04-0600
Publisher: Clinical Quality Information WG
Description:

This is an example only.

Jurisdiction: US
Effective Period: 2022-01-01..2022-12-31
Supplemental Data Elements: SDE Ethnicity SDE Payer SDE Race SDE Sex
Libraries:
TSC Component Library
Related Artifact Dependencies:
  • MAT Global Common Functions FHIR Library
  • http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  • Supplemental Data Elements Library
  • Condition Clinical Status Codes
  • Current Procedural Terminology (CPT®)
  • Tobacco Use Screening
  • Tobacco Non User
  • Tobacco User
  • Tobacco Use Cessation Counseling
  • Tobacco Use Cessation Pharmacotherapy
  • Home Healthcare Services
  • Occupational Therapy Evaluation
  • Office Visit
  • Ophthalmological Services
  • Physical Therapy Evaluation
  • Psych Visit Diagnostic Evaluation
  • Psych Visit Psychotherapy
  • Psychoanalysis
  • Speech and Hearing Evaluation
  • Annual Wellness Visit
  • Preventive Care Services Established Office Visit, 18 and Up
  • Preventive Care Services Group Counseling
  • Preventive Care Services Other
  • Preventive Care Services Individual Counseling
  • Preventive Care Services Initial Office Visit, 18 and Up
  • Payer
  • Medical Reason
  • Parameters:
    nameuseminmaxtype
    Measurement Period in 0 1 Period
    Numerator 3 out 0 1 boolean
    Denominator Exceptions 1 out 0 1 boolean
    Numerator 1 out 0 1 boolean
    Numerator 2 out 0 1 boolean
    SDE Race out 0 * Coding
    SDE Sex out 0 1 Coding
    Denominator 3 out 0 1 boolean
    Denominator 2 out 0 1 boolean
    SDE Payer out 0 * Resource
    Initial Population out 0 1 boolean
    SDE Ethnicity out 0 * Coding
    Denominator Exceptions 2 out 0 1 boolean
    Denominator Exceptions 3 out 0 1 boolean
    Denominator 1 out 0 1 boolean
    DataRequirements:
    TypeMust SupportValueset NameValueset
    Patient extension value birthDate url
    Encounter type
    Encounter type
    Encounter type Home Healthcare Services Home Healthcare Services
    Encounter type Occupational Therapy Evaluation Occupational Therapy Evaluation
    Encounter type Office Visit Office Visit
    Encounter type Ophthalmological Services Ophthalmological Services
    Encounter type Physical Therapy Evaluation Physical Therapy Evaluation
    Encounter type Psych Visit - Diagnostic Evaluation Psych Visit Diagnostic Evaluation
    Encounter type Psych Visit - Psychotherapy Psych Visit Psychotherapy
    Encounter type Psychoanalysis Psychoanalysis
    Encounter type Speech and Hearing Evaluation Speech and Hearing Evaluation
    Encounter type Annual Wellness Visit Annual Wellness Visit
    Encounter type Preventive Care Services - Established Office Visit, 18 and Up Preventive Care Services Established Office Visit, 18 and Up
    Encounter type Preventive Care Services - Group Counseling Preventive Care Services Group Counseling
    Encounter type Preventive Care Services - Other Preventive Care Services Other
    Encounter type Preventive Care Services-Individual Counseling Preventive Care Services Individual Counseling
    Encounter type Preventive Care Services-Initial Office Visit, 18 and Up Preventive Care Services Initial Office Visit, 18 and Up
    Encounter period type status Tobacco Use Cessation Counseling Tobacco Use Cessation Counseling
    Coverage period type Payer Payer
    Observation effective code issued value status Tobacco Use Screening Tobacco Use Screening
    MedicationRequest authoredOn statusReason medication doNotPerform status Tobacco Use Cessation Pharmacotherapy Tobacco Use Cessation Pharmacotherapy
    Condition clinicalStatus
    Procedure code statusReason performed status Tobacco Use Cessation Counseling Tobacco Use Cessation Counseling
    Direct Reference Codes:
    displaycodesystem
    active Condition Clinical Status Codes
    Health behavior intervention, individual, face-to-face; initial 30 minutes 96158 Current Procedural Terminology (CPT®)
    Health behavior assessment, or re-assessment (ie, health-focused clinical interview, behavioral observations, clinical decision making) 96156 Current Procedural Terminology (CPT®)
    Logic Definitions:
    GroupScoringPopulation CriteriaExpression
    group-1 Measure scoring:

    Proportion

    Initial Population
    define "Initial Population":   exists ( ["Patient"] BirthDate         where Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18     )       and ( Count("Office Based Visit During Measurement Period")>= 2           or exists "Preventive Visit During Measurement Period"       )
    Denominator
    define "Denominator 1":   "Initial Population"
    Denominator Exception
    define "Denominator Exceptions 1":   exists "Medical Reason for Not Screening for Tobacco Use"       or "Has Limited Life Expectancy"
    Numerator
    define "Numerator 1":   "Most Recent Tobacco Use Screening Indicates Tobacco Non User" is not null       or "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null
    group-2 Measure scoring:

    Proportion

    Initial Population
    define "Initial Population":   exists ( ["Patient"] BirthDate         where Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18     )       and ( Count("Office Based Visit During Measurement Period")>= 2           or exists "Preventive Visit During Measurement Period"       )
    Denominator
    define "Denominator 2":   "Initial Population"       and "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null
    Denominator Exception
    define "Denominator Exceptions 2":   exists "Medical Reason for Not Counseling Tobacco User"       or exists "Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy"       or "Has Limited Life Expectancy"
    Numerator
    define "Numerator 2":   exists "Tobacco Cessation Counseling Given"       or exists "Tobacco Cessation Pharmacotherapy Ordered"
    group-3 Measure scoring:

    Proportion

    Initial Population
    define "Initial Population":   exists ( ["Patient"] BirthDate         where Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18     )       and ( Count("Office Based Visit During Measurement Period")>= 2           or exists "Preventive Visit During Measurement Period"       )
    Denominator
    define "Denominator 3":   "Initial Population"
    Denominator Exception
    define "Denominator Exceptions 3":   exists "Medical Reason for Not Screening for Tobacco Use"       or exists "Medical Reason for Not Counseling Tobacco User"       or exists "Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy"       or "Has Limited Life Expectancy"
    Numerator
    define "Numerator 3":   "Most Recent Tobacco Use Screening Indicates Tobacco Non User" is not null       or ( "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null           and ( exists "Tobacco Cessation Counseling Given"               or exists "Tobacco Cessation Pharmacotherapy Ordered"               //or exists "Active Pharmacotherapy for Tobacco Cessation"           )       )
    Library NameName
    TSCComponent Most Recent Tobacco Use Screening Indicates Tobacco Non User
    define "Most Recent Tobacco Use Screening Indicates Tobacco Non User":   ( Last(["Observation": "Tobacco Use Screening"] TobaccoUseScreening         where Global."Normalize Interval"(TobaccoUseScreening.effective)overlaps "Measurement Period"         sort by start of Global."Normalize Interval"(effective)     )) MostRecentTobaccoUseScreening       where MostRecentTobaccoUseScreening.value in "Tobacco Non-User"
    Library NameName
    TSCComponent Most Recent Tobacco Use Screening Indicates Tobacco User
    define "Most Recent Tobacco Use Screening Indicates Tobacco User":   ( Last(["Observation": "Tobacco Use Screening"] TobaccoUseScreening         where Global."Normalize Interval"(TobaccoUseScreening.effective)overlaps "Measurement Period"         sort by start of Global."Normalize Interval"(effective)     )) MostRecentTobaccoUseScreening       where MostRecentTobaccoUseScreening.value in "Tobacco User"
    Library NameName
    TSCComponent Tobacco Cessation Counseling Given
    // MedicationStatement is not available in R5, known publication issue //define "Active Pharmacotherapy for Tobacco Cessation": //  ["MedicationStatement": "Tobacco Use Cessation Pharmacotherapy"] TakingCessationPharmacotherapy //      where Global."Normalize Interval" ( TakingCessationPharmacotherapy.effective ) overlaps after "Measurement Period" //        and TakingCessationPharmacotherapy.status in { 'active', 'completed' } define "Tobacco Cessation Counseling Given":   ["Encounter": "Tobacco Use Cessation Counseling"] TobaccoCessationCounseling       where TobaccoCessationCounseling.period during "Measurement Period"         and TobaccoCessationCounseling.status = 'finished'
    Library NameName
    TSCComponent Tobacco Cessation Pharmacotherapy Ordered
    define "Tobacco Cessation Pharmacotherapy Ordered":   ["MedicationRequest": "Tobacco Use Cessation Pharmacotherapy"] CessationPharmacotherapyOrdered       where CessationPharmacotherapyOrdered.authoredOn during "Measurement Period"         and CessationPharmacotherapyOrdered.status = 'active'
    Library NameName
    TSCComponent Numerator 3
    define "Numerator 3":   "Most Recent Tobacco Use Screening Indicates Tobacco Non User" is not null       or ( "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null           and ( exists "Tobacco Cessation Counseling Given"               or exists "Tobacco Cessation Pharmacotherapy Ordered"               //or exists "Active Pharmacotherapy for Tobacco Cessation"           )       )
    Library NameName
    TSCComponent Medical Reason for Not Screening for Tobacco Use
    define "Medical Reason for Not Screening for Tobacco Use":   ["Observation": "Tobacco Use Screening"] NoTobaccoUseScreening       where NoTobaccoUseScreening.issued during "Measurement Period"         and "Not Done"(NoTobaccoUseScreening)         and "Not Done Reason in Medical Reason"(NoTobaccoUseScreening)         and NoTobaccoUseScreening.status = 'final'
    Library NameName
    TSCComponent Has Limited Life Expectancy
    //or exists "Active Pharmacotherapy for Tobacco Cessation" define "Has Limited Life Expectancy":   exists ( ["Condition"] LimitedLifeExpectancy         where Global."Prevalence Period" ( LimitedLifeExpectancy ) overlaps after "Measurement Period"           and LimitedLifeExpectancy.clinicalStatus ~ ToConcept(Global."active")     )
    Library NameName
    TSCComponent Denominator Exceptions 1
    define "Denominator Exceptions 1":   exists "Medical Reason for Not Screening for Tobacco Use"       or "Has Limited Life Expectancy"
    Library NameName
    TSCComponent Numerator 1
    define "Numerator 1":   "Most Recent Tobacco Use Screening Indicates Tobacco Non User" is not null       or "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null
    Library NameName
    TSCComponent Numerator 2
    define "Numerator 2":   exists "Tobacco Cessation Counseling Given"       or exists "Tobacco Cessation Pharmacotherapy Ordered"
    Library NameName
    SupplementalDataElements SDE Race
    define "SDE Race":   (flatten (       Patient.extension Extension         where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-race'           return Extension.extension     )) E       where E.url = 'ombCategory'         or E.url = 'detailed'       return E.value as Coding
    Library NameName
    TSCComponent SDE Race
    define "SDE Race":   SDE."SDE Race"
    Library NameName
    SupplementalDataElements SDE Sex
    define "SDE Sex":   case       when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }       when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }       else null     end
    Library NameName
    TSCComponent SDE Sex
    define "SDE Sex":   SDE."SDE Sex"
    Library NameName
    TSCComponent Office Based Visit During Measurement Period
    define "Office Based Visit During Measurement Period":   ( ["Encounter": "Health behavior intervention, individual, face-to-face; initial 30 minutes"]       union ["Encounter": "Health behavior assessment, or re-assessment (ie, health-focused clinical interview, behavioral observations, clinical decision making)"]       union ["Encounter": "Home Healthcare Services"]       union ["Encounter": "Occupational Therapy Evaluation"]       union ["Encounter": "Office Visit"]       union ["Encounter": "Ophthalmological Services"]       union ["Encounter": "Physical Therapy Evaluation"]       union ["Encounter": "Psych Visit - Diagnostic Evaluation"]       union ["Encounter": "Psych Visit - Psychotherapy"]       union ["Encounter": "Psychoanalysis"]       union ["Encounter": "Speech and Hearing Evaluation"] ) OfficeBasedEncounter       where OfficeBasedEncounter.period during "Measurement Period"         and OfficeBasedEncounter.status = 'finished'
    Library NameName
    TSCComponent Preventive Visit During Measurement Period
    define "Preventive Visit During Measurement Period":   ( ["Encounter": "Annual Wellness Visit"]       union ["Encounter": "Preventive Care Services - Established Office Visit, 18 and Up"]       union ["Encounter": "Preventive Care Services - Group Counseling"]       union ["Encounter": "Preventive Care Services - Other"]       union ["Encounter": "Preventive Care Services-Individual Counseling"]       union ["Encounter": "Preventive Care Services-Initial Office Visit, 18 and Up"] ) PreventiveEncounter       where PreventiveEncounter.period during "Measurement Period"         and PreventiveEncounter.status = 'finished'
    Library NameName
    TSCComponent Initial Population
    define "Initial Population":   exists ( ["Patient"] BirthDate         where Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18     )       and ( Count("Office Based Visit During Measurement Period")>= 2           or exists "Preventive Visit During Measurement Period"       )
    Library NameName
    TSCComponent Denominator 3
    define "Denominator 3":   "Initial Population"
    Library NameName
    TSCComponent Denominator 2
    define "Denominator 2":   "Initial Population"       and "Most Recent Tobacco Use Screening Indicates Tobacco User" is not null
    Library NameName
    SupplementalDataElements SDE Payer
    define "SDE Payer":   [Coverage: type in "Payer"] Payer         return {           code: Payer.type,           period: Payer.period         }
    Library NameName
    TSCComponent SDE Payer
    define "SDE Payer":   SDE."SDE Payer"
    Library NameName
    SupplementalDataElements SDE Ethnicity
    define "SDE Ethnicity":   (flatten (       Patient.extension Extension         where Extension.url = 'http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity'           return Extension.extension     )) E       where E.url = 'ombCategory'         or E.url = 'detailed'       return E.value as Coding
    Library NameName
    TSCComponent SDE Ethnicity
    define "SDE Ethnicity":   SDE."SDE Ethnicity"
    Library NameName
    TSCComponent Medical Reason for Not Counseling Tobacco User
    define "Medical Reason for Not Counseling Tobacco User":   ["Procedure": "Tobacco Use Cessation Counseling"] NoTobaccoCessationCounseling       where Global."Normalize Interval" ( NoTobaccoCessationCounseling.performed ) starts during "Measurement Period"         and ( ( NoTobaccoCessationCounseling.status = 'not-done'               and NoTobaccoCessationCounseling.statusReason in "Medical Reason"           )             or ( "Not Done"(NoTobaccoCessationCounseling)                 and "Not Done Reason in Medical Reason"(NoTobaccoCessationCounseling)             )         )
    Library NameName
    TSCComponent Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy
    define "Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy":   ["MedicationRequest": "Tobacco Use Cessation Pharmacotherapy"] NoCessationPharmacotherapyOrdered       where NoCessationPharmacotherapyOrdered.authoredOn during "Measurement Period"         and NoCessationPharmacotherapyOrdered.status = 'completed'         and ( ( "Not Done"(NoCessationPharmacotherapyOrdered)               and "Not Done Reason in Medical Reason"(NoCessationPharmacotherapyOrdered)           )             or ( NoCessationPharmacotherapyOrdered.doNotPerform = true                 and NoCessationPharmacotherapyOrdered.statusReason in "Medical Reason"             )         )
    Library NameName
    TSCComponent Denominator Exceptions 2
    define "Denominator Exceptions 2":   exists "Medical Reason for Not Counseling Tobacco User"       or exists "Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy"       or "Has Limited Life Expectancy"
    Library NameName
    TSCComponent Denominator Exceptions 3
    define "Denominator Exceptions 3":   exists "Medical Reason for Not Screening for Tobacco Use"       or exists "Medical Reason for Not Counseling Tobacco User"       or exists "Medical Reason for Not Ordering Tobacco Cessation Pharmacotherapy"       or "Has Limited Life Expectancy"
    Library NameName
    TSCComponent Denominator 1
    define "Denominator 1":   "Initial Population"

    Contained resources