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: Screening for High Blood Pressure and Follow-Up Documented

Draft as of 2022-02-22
Id: HBPComponent
Download cql: HBPComponent.cql
Url: Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented
Version: 0.0.001
Name: HBPComponent
Title: Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented
Status: draft
Experimental: true
Scoring:

Proportion

Improvement Notation:

increase

Type:

process

Date: 2022-02-22 11:37:03-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:
HBP Component Library
Related Artifact Dependencies:
  • Supplemental Data Elements Library
  • http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  • MAT Global Common Functions FHIR Library
  • Logical Observation Identifiers, Names and Codes (LOINC)
  • Encounter to Screen for Blood Pressure
  • Lifestyle Recommendation
  • Weight Reduction Recommended
  • Dietary Recommendations
  • Recommendation to Increase Physical Activity
  • Referral or Counseling for Alcohol Consumption
  • Follow Up Within One Year
  • Referral to Primary Care or Alternate Provider
  • Finding of Elevated Blood Pressure or Hypertension
  • Follow Up Within 4 Weeks
  • Laboratory Tests for Hypertension
  • Pharmacologic Therapy for Hypertension
  • Payer
  • Diagnosis of Hypertension
  • Medical Reason
  • Patient Declined
  • Parameters:
    nameuseminmaxtype
    Measurement Period in 0 1 Period
    SDE Sex out 0 1 Coding
    Numerator out 0 * Encounter
    Denominator out 0 * Encounter
    SDE Payer out 0 * Resource
    Initial Population out 0 * Encounter
    SDE Ethnicity out 0 * Coding
    Denominator Exclusions out 0 * Encounter
    SDE Race out 0 * Coding
    Denominator Exceptions out 0 * Encounter
    DataRequirements:
    TypeMust SupportValueset NameValueset
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation code
    Observation code
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Observation effective code value
    Coverage period type Payer Payer
    Patient extension birthDate value url
    MedicationRequest authoredOn medication Pharmacologic Therapy for Hypertension Pharmacologic Therapy for Hypertension
    Encounter period type Encounter to Screen for Blood Pressure Encounter to Screen for Blood Pressure
    ServiceRequest code
    ServiceRequest code
    ServiceRequest code
    ServiceRequest code
    ServiceRequest code Lifestyle Recommendation Lifestyle Recommendation
    ServiceRequest code Weight Reduction Recommended Weight Reduction Recommended
    ServiceRequest code Dietary Recommendations Dietary Recommendations
    ServiceRequest code Recommendation to Increase Physical Activity Recommendation to Increase Physical Activity
    ServiceRequest code Referral or Counseling for Alcohol Consumption Referral or Counseling for Alcohol Consumption
    ServiceRequest code authoredOn Laboratory Tests for Hypertension Laboratory Tests for Hypertension
    ServiceRequest code authoredOn Follow Up Within One Year Follow Up Within One Year
    ServiceRequest code authoredOn Follow Up Within 4 Weeks Follow Up Within 4 Weeks
    ServiceRequest code authoredOn reasonCode Referral to Primary Care or Alternate Provider Referral to Primary Care or Alternate Provider
    Condition code Diagnosis of Hypertension Diagnosis of Hypertension
    Direct Reference Codes:
    displaycodesystem
    Systolic blood pressure 8480-6 Logical Observation Identifiers, Names and Codes (LOINC)
    Diastolic blood pressure 8462-4 Logical Observation Identifiers, Names and Codes (LOINC)
    12 lead EKG panel 34534-8 Logical Observation Identifiers, Names and Codes (LOINC)
    EKG study 11524-6 Logical Observation Identifiers, Names and Codes (LOINC)
    Logic Definitions:
    GroupScoringPopulation CriteriaExpression
    Measure scoring:

    Proportion

    Initial Population
    define "Initial Population":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [Patient] BirthDate         such that Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18
    Denominator
    define "Denominator":   "Initial Population"
    Denominator Exclusion
    define "Denominator Exclusions":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [Condition: "Diagnosis of Hypertension"] Hypertension         such that Global."Prevalence Period" ( Hypertension ) overlaps before QualifyingEncounter.period
    Denominator Exception
    define "Denominator Exceptions":   "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"       union "Encounter with Order for Hypertension Follow Up Declined by Patient"
    Numerator
    define "Numerator":   "Encounter with Normal Blood Pressure Reading"       union ( "Encounter with Prehypertensive Blood Pressure Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect "Encounter with Order for Follow Up Within One Year"             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )       union ( "Encounter with First Hypertensive Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect "Encounter with Order for Follow Up Within 4 Weeks"             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )       union ( "Encounter with Second Hypertensive Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect ( "Encounter with Order for Laboratory Test for Hypertension"                     union "Encounter with Order for Electrocardiogram for Hypertension"                     union "Encounter with Order for Hypertension Medication"                 )             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )
    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
    HBPComponent SDE Sex
    define "SDE Sex":   SDE."SDE Sex"
    Library NameName
    HBPComponent Qualifying Encounter During Measurement Period
    define "Qualifying Encounter During Measurement Period":   [Encounter: "Encounter to Screen for Blood Pressure"] ValidEncounter       where ValidEncounter.period during "Measurement Period"
    Library NameName
    HBPComponent Encounter with Normal Blood Pressure Reading
    define "Encounter with Normal Blood Pressure Reading":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP           where SystolicBP.effective during QualifyingEncounter.period           sort by effective       ),       EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP           where DiastolicBP.effective during QualifyingEncounter.period           sort by effective       )       where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 120 'mm[Hg]' )         and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 80 'mm[Hg]' )
    Library NameName
    HBPComponent Encounter with Prehypertensive Blood Pressure Reading
    define "Encounter with Prehypertensive Blood Pressure Reading":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP           where SystolicBP.effective during QualifyingEncounter.period           sort by effective       ),       EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP           where DiastolicBP.effective during QualifyingEncounter.period           sort by effective       )       where EncounterLastSystolicBP.value included in Interval[1 'mm[Hg]', 140 'mm[Hg]' )         and EncounterLastDiastolicBP.value included in Interval[1 'mm[Hg]', 90 'mm[Hg]' )         and ( EncounterLastSystolicBP.value >= 120 'mm[Hg]'             or EncounterLastDiastolicBP.value >= 80 'mm[Hg]'         )
    Library NameName
    HBPComponent Encounter with Order for Intervention for Hypertension
    define "Encounter with Order for Intervention for Hypertension":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with ( [ServiceRequest: "Lifestyle Recommendation"]         union [ServiceRequest: "Weight Reduction Recommended"]         union [ServiceRequest: "Dietary Recommendations"]         union [ServiceRequest: "Recommendation to Increase Physical Activity"]         union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"] ) HighBloodPressureIntervention         such that HighBloodPressureIntervention.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Encounter with Order for Follow Up Within One Year
    define "Encounter with Order for Follow Up Within One Year":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [ServiceRequest: "Follow Up Within One Year"] FollowupOneYear         such that FollowupOneYear.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Encounter with Referral to Alternate Provider for High Blood Pressure Reading
    define "Encounter with Referral to Alternate Provider for High Blood Pressure Reading":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [ServiceRequest: "Referral to Primary Care or Alternate Provider"] Referral         such that Referral.authoredOn same day as start of QualifyingEncounter.period           and Referral.reasonCode in "Finding of Elevated Blood Pressure or Hypertension"
    Library NameName
    HBPComponent Encounter with High Blood Pressure Reading
    define "Encounter with High Blood Pressure Reading":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP           where SystolicBP.effective during QualifyingEncounter.period           sort by effective       ),       EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP           where DiastolicBP.effective during QualifyingEncounter.period           sort by effective       )       where EncounterLastSystolicBP.value > 0 'mm[Hg]'         and EncounterLastDiastolicBP.value > 0 'mm[Hg]'         and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'             or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'         )
    Library NameName
    HBPComponent Encounter with High Blood Pressure Reading Within Year Prior
    define "Encounter with High Blood Pressure Reading Within Year Prior":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       let EncounterLastSystolicBP: Last([Observation: "Systolic blood pressure"] SystolicBP           where SystolicBP.effective 1 year or less before start of QualifyingEncounter.period           sort by effective       ),       EncounterLastDiastolicBP: Last([Observation: "Diastolic blood pressure"] DiastolicBP           where DiastolicBP.effective 1 year or less before start of QualifyingEncounter.period           sort by effective       )       where EncounterLastSystolicBP.value > 0 'mm[Hg]'         and EncounterLastDiastolicBP.value > 0 'mm[Hg]'         and ( EncounterLastSystolicBP.value >= 140 'mm[Hg]'             or EncounterLastDiastolicBP.value >= 90 'mm[Hg]'         )
    Library NameName
    HBPComponent Encounter with First Hypertensive Reading
    define "Encounter with First Hypertensive Reading":   "Encounter with High Blood Pressure Reading"       except "Encounter with High Blood Pressure Reading Within Year Prior"
    Library NameName
    HBPComponent Encounter with Order for Follow Up Within 4 Weeks
    define "Encounter with Order for Follow Up Within 4 Weeks":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [ServiceRequest: "Follow Up Within 4 Weeks"] Followup4Weeks         such that Followup4Weeks.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Encounter with Second Hypertensive Reading
    define "Encounter with Second Hypertensive Reading":   "Encounter with High Blood Pressure Reading"       intersect "Encounter with High Blood Pressure Reading Within Year Prior"
    Library NameName
    HBPComponent Encounter with Order for Laboratory Test for Hypertension
    define "Encounter with Order for Laboratory Test for Hypertension":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [ServiceRequest: "Laboratory Tests for Hypertension"] HypertensionLabs         such that HypertensionLabs.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Encounter with Order for Electrocardiogram for Hypertension
    define "Encounter with Order for Electrocardiogram for Hypertension":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with ( [ServiceRequest: "12 lead EKG panel"]         union [ServiceRequest: "EKG study"] ) ECG         such that ECG.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Encounter with Order for Hypertension Medication
    define "Encounter with Order for Hypertension Medication":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [MedicationRequest: "Pharmacologic Therapy for Hypertension"] AntihypertensiveMedication         such that AntihypertensiveMedication.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Numerator
    define "Numerator":   "Encounter with Normal Blood Pressure Reading"       union ( "Encounter with Prehypertensive Blood Pressure Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect "Encounter with Order for Follow Up Within One Year"             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )       union ( "Encounter with First Hypertensive Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect "Encounter with Order for Follow Up Within 4 Weeks"             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )       union ( "Encounter with Second Hypertensive Reading"           intersect ( ( "Encounter with Order for Intervention for Hypertension"                 intersect ( "Encounter with Order for Laboratory Test for Hypertension"                     union "Encounter with Order for Electrocardiogram for Hypertension"                     union "Encounter with Order for Hypertension Medication"                 )             )               union "Encounter with Referral to Alternate Provider for High Blood Pressure Reading"           )       )
    Library NameName
    HBPComponent Initial Population
    define "Initial Population":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [Patient] BirthDate         such that Global."CalendarAgeInYearsAt" ( FHIRHelpers.ToDate ( BirthDate.birthDate ), start of "Measurement Period" ) >= 18
    Library NameName
    HBPComponent Denominator
    define "Denominator":   "Initial Population"
    Library NameName
    SupplementalDataElements SDE Payer
    define "SDE Payer":   [Coverage: type in "Payer"] Payer         return {           code: Payer.type,           period: Payer.period         }
    Library NameName
    HBPComponent 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
    HBPComponent SDE Ethnicity
    define "SDE Ethnicity":   SDE."SDE Ethnicity"
    Library NameName
    HBPComponent Denominator Exclusions
    define "Denominator Exclusions":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with [Condition: "Diagnosis of Hypertension"] Hypertension         such that Global."Prevalence Period" ( Hypertension ) overlaps before QualifyingEncounter.period
    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
    HBPComponent SDE Race
    define "SDE Race":   SDE."SDE Race"
    Library NameName
    HBPComponent Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement
    define "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with ( [Observation: "Systolic blood pressure"]         union [Observation: "Diastolic blood pressure"] ) NoBPScreen         such that ( NoBPScreen.code in "Medical Reason"             or NoBPScreen.code in "Patient Declined"         )           and NoBPScreen.effective same day as start of QualifyingEncounter.period           and "Not Done"(NoBPScreen)           and NoBPScreen.status = 'final'
    Library NameName
    HBPComponent Encounter with Order for Hypertension Follow Up Declined by Patient
    define "Encounter with Order for Hypertension Follow Up Declined by Patient":   "Qualifying Encounter During Measurement Period" QualifyingEncounter       with ( [ServiceRequest: "12 lead EKG panel"]         union [ServiceRequest: "EKG study"]         union [ServiceRequest: "Follow Up Within One Year"]         union [ServiceRequest: "Follow Up Within 4 Weeks"]         union [ServiceRequest: "Referral to Primary Care or Alternate Provider"]         union [ServiceRequest: "Lifestyle Recommendation"]         union [ServiceRequest: "Weight Reduction Recommended"]         union [ServiceRequest: "Dietary Recommendations"]         union [ServiceRequest: "Recommendation to Increase Physical Activity"]         union [ServiceRequest: "Referral or Counseling for Alcohol Consumption"]         union [ServiceRequest: "Laboratory Tests for Hypertension"]         union [MedicationRequest: "Pharmacologic Therapy for Hypertension"] ) NoFollowUpOrdered         such that NoFollowUpOrdered.doNotPerform is true           and NoFollowUpOrdered.code in "Patient Declined"           and NoFollowUpOrdered.authoredOn same day as start of QualifyingEncounter.period
    Library NameName
    HBPComponent Denominator Exceptions
    define "Denominator Exceptions":   "Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement"       union "Encounter with Order for Hypertension Follow Up Declined by Patient"

    Contained resources