Quality Measure Implementation Guide
2.0.0-ballot - STU 2 Ballot International flag

Quality Measure Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-cqm/ and changes regularly. See the Directory of published versions

Library: HBP Component Library (Experimental)

Official URL: http://hl7.org/fhir/uv/cqm/Library/HBPComponent Version: 0.0.001
Standards status: Informative Active as of 2026-04-03 Computable Name: HBPComponent
Other Identifiers: OID:2.16.840.1.113883.4.642.40.61.28.23

Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented

Metadata
Title HBP Component Library
Version 0.0.001
Identifier urn:oid:2.16.840.1.113883.4.642.40.61.28.23
Experimental true
Jurisdiction 001 from http://unstats.un.org/unsd/methods/m49/m49.htm
Steward (Publisher) HL7 International / Clinical Quality Information
Description

Preventive Care and Screening: Screening for High Blood Pressure and Follow-Up Documented

Type logic-library from http://terminology.hl7.org/CodeSystem/library-type
Dependency Description: Library FHIRHelpers
Resource: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
Canonical URL: http://hl7.org/fhir/uv/cql/Library/FHIRHelpers|4.0.1
Dependency Description: Library SDE
Resource: Supplemental Data Elementsversion: null2.0.000)
Canonical URL: http://hl7.org/fhir/uv/cqm/Library/SupplementalDataElements|2.0.000
Dependency Description: Library Global
Resource: MAT Global Common Functions FHIR Libraryversion: null5.0.000)
Canonical URL: http://hl7.org/fhir/uv/cqm/Library/MATGlobalCommonFunctions|5.0.000
Dependency Description: Code System LOINC
Resource: Logical Observation Identifiers, Names and Codes (LOINC)
Canonical URL: http://loinc.org
Dependency Description: Value Set Diagnosis of Hypertension
Resource: Diagnosis of Hypertension
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263
Dependency Description: Value Set Dietary Recommendations
Resource: Dietary Recommendations
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515
Dependency Description: Value Set Encounter to Screen for Blood Pressure
Resource: Encounter to Screen for Blood Pressure
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920
Dependency Description: Value Set Ethnicity
Resource: Ethnicity
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837
Dependency Description: Value Set Finding of Elevated Blood Pressure or Hypertension
Resource: Finding of Elevated Blood Pressure or Hypertension
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514
Dependency Description: Value Set Follow Up Within 4 Weeks
Resource: Follow Up Within 4 Weeks
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578
Dependency Description: Value Set Follow Up Within One Year
Resource: Follow Up Within One Year
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579
Dependency Description: Value Set Laboratory Tests for Hypertension
Resource: Laboratory Tests for Hypertension
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482
Dependency Description: Value Set Lifestyle Recommendation
Resource: Lifestyle Recommendation
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581
Dependency Description: Value Set Medical Reason
Resource: Medical Reason
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007
Dependency Description: Value Set ONC Administrative Sex
Resource: ONC Administrative Sex
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1
Dependency Description: Value Set Patient Declined
Resource: Patient Declined
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582
Dependency Description: Value Set Pharmacologic Therapy for Hypertension
Resource: Pharmacologic Therapy for Hypertension
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577
Dependency Description: Value Set Recommendation to Increase Physical Activity
Resource: Recommendation to Increase Physical Activity
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518
Dependency Description: Value Set Referral or Counseling for Alcohol Consumption
Resource: Referral or Counseling for Alcohol Consumption
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583
Dependency Description: Value Set Referral to Primary Care or Alternate Provider
Resource: Referral to Primary Care or Alternate Provider
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580
Dependency Description: Value Set Weight Reduction Recommended
Resource: Weight Reduction Recommended
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510
Data Requirement Type: Encounter
Profile(s): Encounter
Code Filter(s):
Path: type
ValueSet: Encounter to Screen for Blood Pressure
Data Requirement Type: Patient
Profile(s): Patient
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
Code(s): LOINC: 34534-8 (12 lead EKG panel)
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
Code(s): LOINC: 11524-6 (EKG study)
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Follow Up Within One Year
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Follow Up Within 4 Weeks
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Referral to Primary Care or Alternate Provider
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Lifestyle Recommendation
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Weight Reduction Recommended
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Dietary Recommendations
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Recommendation to Increase Physical Activity
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Referral or Counseling for Alcohol Consumption
Data Requirement Type: ServiceRequest
Profile(s): ServiceRequest
Code Filter(s):
Path: code
ValueSet: Laboratory Tests for Hypertension
Data Requirement Type: MedicationRequest
Profile(s): MedicationRequest
Data Requirement Type: Medication
Profile(s): Medication
Data Requirement Type: Observation
Profile(s): Observation
Code Filter(s):
Path: code
Code(s): LOINC: 8480-6 (Systolic blood pressure)
Data Requirement Type: Observation
Profile(s): Observation
Code Filter(s):
Path: code
Code(s): LOINC: 8462-4 (Diastolic blood pressure)
Data Requirement Type: Condition
Profile(s): Condition
Code Filter(s):
Path: code
ValueSet: Diagnosis of Hypertension
Parameters
Name Use Card. Type Documentation
Measurement Period In 0..1 Period
Patient Out 0..1 Patient
SDE Ethnicity Out 0..* Coding
SDE Payer Out 0..* Resource
SDE Race Out 0..* Coding
SDE Sex Out 0..1 Coding
Qualifying Encounter During Measurement Period 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 Second Hypertensive Reading Out 0..* Encounter
Encounter with Normal Blood Pressure Reading 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 Order for Follow Up Within 4 Weeks 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
Numerator Out 0..* Encounter
Initial Population Out 0..* Encounter
Encounter with Order for Hypertension Follow Up Declined by Patient Out 0..* Encounter
Encounter with Medical Reason for Not Obtaining or Patient Declined Blood Pressure Measurement Out 0..* Encounter
Denominator Exceptions Out 0..* Encounter
Denominator Exclusions Out 0..* Encounter
Denominator Out 0..* Encounter
Library Content
CQL Content
/*
This example is a work in progress and should not be considered a final specification
or recommendation for guidance. This example will help guide and direct the process
of finding conventions and usage patterns that meet the needs of the various stakeholders
in the measure development community.
*/
library HBPComponent version '0.0.001'

using FHIR version '4.0.1'

include hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers

include SupplementalDataElements version '2.0.000' called SDE
include MATGlobalCommonFunctions version '5.0.000' called Global

codesystem "LOINC": 'http://loinc.org'

valueset "Diagnosis of Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.263'
valueset "Dietary Recommendations": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1515'
valueset "Encounter to Screen for Blood Pressure": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1920'
valueset "Ethnicity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837'
valueset "Finding of Elevated Blood Pressure or Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1047.514'
valueset "Follow Up Within 4 Weeks": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1578'
valueset "Follow Up Within One Year": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1579'
valueset "Laboratory Tests for Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1482'
valueset "Lifestyle Recommendation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1581'
valueset "Medical Reason": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1007'
valueset "ONC Administrative Sex": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1'
valueset "Patient Declined": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1582'
valueset "Pharmacologic Therapy for Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.1577'
valueset "Recommendation to Increase Physical Activity": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1518'
valueset "Referral or Counseling for Alcohol Consumption": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1583'
valueset "Referral to Primary Care or Alternate Provider": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1580'
valueset "Weight Reduction Recommended": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.600.1510'

code "Birth date": '21112-8' from "LOINC" display 'Birth date'
code "Diastolic blood pressure": '8462-4' from "LOINC" display 'Diastolic blood pressure'
code "12 lead EKG panel": '34534-8' from "LOINC" display '12 lead EKG panel'
code "EKG study": '11524-6' from "LOINC" display 'EKG study'
code "Systolic blood pressure": '8480-6' from "LOINC" display 'Systolic blood pressure'

parameter "Measurement Period" Interval<DateTime>

context Patient

define "SDE Ethnicity":
  SDE."SDE Ethnicity"

define "SDE Payer":
  SDE."SDE Payer"

define "SDE Race":
  SDE."SDE Race"

define "SDE Sex":
  SDE."SDE Sex"

define "Encounter with Second Hypertensive Reading":
  "Encounter with High Blood Pressure Reading"
      intersect "Encounter with High Blood Pressure Reading Within Year Prior"

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"
          )
      )

define "Encounter with First Hypertensive Reading":
  "Encounter with High Blood Pressure Reading"
      except "Encounter with High Blood Pressure Reading Within Year Prior"

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

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

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

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

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

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"

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

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'

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"

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

define "Denominator":
  "Initial Population"

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

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

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]'
        )

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]'
        )

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]' )

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]'
        )

define "Qualifying Encounter During Measurement Period":
  [Encounter: "Encounter to Screen for Blood Pressure"] ValidEncounter
      where ValidEncounter.period during "Measurement Period"

define function "Not Done"(res DomainResource ):
  if ( res R
      where ( "GetModiferExtension"(R, 'http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-notDone').value = true )
  ) is not null then true
    else false

define function "GetModifierExtensions"(res DomainResource, url String ):
  res.modifierExtension E
    where E.url = ( url )
    return E

define function "GetModiferExtension"(res DomainResource, url String ):
  singleton from "GetModifierExtensions"(res, url)
ELM XML Content
Encoded data 
ELM JSON Content
Encoded data 
Generated using version 0.5.4 of the sample-content-ig Liquid templates