Quality Measure Implementation Guide (STU3 Ballot)
2.1.0 - ballot

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v2.1.0: STU3 Ballot 1) based on FHIR R4. The current version which supercedes this version is 3.0.0. 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

Id: HBPComponent
Url: http://hl7.org/fhir/us/cqfmeasures/Measure/HBPComponent
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:

system: http://terminology.hl7.org/CodeSystem/measure-scoring

code: proportion

display: Proportion

Improvement Notation:

system: http://terminology.hl7.org/CodeSystem/measure-improvement-notation

code: increase

Type:

system: http://terminology.hl7.org/CodeSystem/measure-type

code: process

Date: 2021-04-03T13:00:06-06:00
Publisher: Clinical Quality Information WG
Description: This is an example only.
Parameters:
nameuseminmaxtype
Measurement Period in 0 1 Period
SDE Sex out 0 1 Coding
Numerator out 0 * Encounter
Encounter with Normal Blood Pressure Reading out 0 * Encounter
Qualifying Encounter During Measurement Period out 0 * Encounter
Encounter with Prehypertensive Blood Pressure Reading out 0 * Encounter
Encounter with Order for Intervention for Hypertension out 0 * Encounter
Encounter with Order for Follow Up Within One Year out 0 * Encounter
Encounter with Referral to Alternate Provider for High Blood Pressure Reading out 0 * Encounter
Encounter with First Hypertensive Reading out 0 * Encounter
Encounter with High Blood Pressure Reading out 0 * Encounter
Encounter with High Blood Pressure Reading Within Year Prior out 0 * Encounter
Encounter with Order for Follow Up Within 4 Weeks out 0 * Encounter
Encounter with Second Hypertensive Reading out 0 * Encounter
Encounter with Order for Laboratory Test for Hypertension out 0 * Encounter
Encounter with Order for Electrocardiogram for Hypertension out 0 * Encounter
Encounter with Order for Hypertension Medication out 0 * Encounter
Denominator out 0 * Encounter
Initial Population out 0 * Encounter
SDE Payer out 0 * Any
SDE Ethnicity out 0 * Coding
Patient out 0 1 Patient
Denominator Exclusions out 0 * Encounter
SDE Race out 0 * Coding
Denominator Exceptions out 0 * Encounter
Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement out 0 * Encounter
Encounter with Order for Hypertension Follow Up Declined by Patient out 0 * Encounter
Data Requirements:
typepathvalueSet or systemcode
Encounter type http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920
Observation code 8480-6
Observation code 8462-4
Observation code 8480-6
Observation code 8462-4
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580
Observation code 8480-6
Observation code 8462-4
Observation code 8480-6
Observation code 8462-4
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
ServiceRequest code 34534-8
ServiceRequest code 11524-6
MedicationRequest medication http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
Patient
Coverage type http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Patient
Patient
Condition code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263
Observation code 8480-6
Observation code 8462-4
ServiceRequest code 34534-8
ServiceRequest code 11524-6
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583
ServiceRequest code 34534-8
ServiceRequest code 11524-6
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
MedicationRequest medication http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
MedicationRequest medication http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
ServiceRequest code http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
MedicationRequest medication http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
MedicationRequest medication http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
Direct Reference Codes:
displaycodesystem
Systolic blood pressure 8480-6
Diastolic blood pressure 8462-4
EKG 12 channel panel 34534-8
EKG study 11524-6
Supplemental Data:
expressionsystem
SDE Ethnicity http://terminology.hl7.org/CodeSystem/measure-data-usage
SDE Payer http://terminology.hl7.org/CodeSystem/measure-data-usage
SDE Race http://terminology.hl7.org/CodeSystem/measure-data-usage
SDE Sex http://terminology.hl7.org/CodeSystem/measure-data-usage
Jurisdiction: US
Effective Period: 2022-01-01..2022-12-31
Related Artifacts:

Dependencies

  • http://hl7.org/fhir/us/cqfmeasures/Library/SupplementalDataElements|2.0.000
  • http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  • http://hl7.org/fhir/us/cqfmeasures/Library/MATGlobalCommonFunctions|5.0.000
  • http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  • http://loinc.org
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582
Logic Definitions:
Library NameNamesequence
HBPComponent SDE Sex
define "SDE Sex":
  SDE."SDE Sex"


Library NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
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 NameNamesequence
HBPComponent Encounter with Order for Electrocardiogram for Hypertension
define "Encounter with Order for Electrocardiogram for Hypertension":
  "Qualifying Encounter During Measurement Period" QualifyingEncounter
      with ( [ServiceRequest: "EKG 12 channel panel"]
        union [ServiceRequest: "EKG study"] ) ECG
        such that ECG.authoredOn same day as start of QualifyingEncounter.period


Library NameNamesequence
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 NameNamesequence
HBPComponent Denominator
define "Denominator":
  "Initial Population"


Library NameNamesequence
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 NameNamesequence
HBPComponent SDE Payer
define "SDE Payer":
  SDE."SDE Payer"


Library NameNamesequence
SupplementalDataElements SDE Payer
define "SDE Payer":
  [Coverage: type in "Payer"] Payer
        return {
          code: Payer.type,
          period: Payer.period
        }


Library NameNamesequence
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 NameNamesequence
HBPComponent SDE Ethnicity
define "SDE Ethnicity":
  SDE."SDE Ethnicity"


Library NameNamesequence
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 NameNamesequence
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 NameNamesequence
HBPComponent SDE Race
define "SDE Race":
  SDE."SDE Race"


Library NameNamesequence
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 NameNamesequence
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"


Library NameNamesequence
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 NameNamesequence
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: "EKG 12 channel 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