eCQM QICore Content Implementation Guide
2023.0.0 - CI Build

eCQM QICore Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2023.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2023/ and changes regularly. See the Directory of published versions

## Library: ControllingHighBloodPressureFHIR

Official URL: http://ecqi.healthit.gov/ecqms/Library/ControllingHighBloodPressureFHIR | Version: 0.0.001
Active as of 2023-08-28 | Computable Name: ControllingHighBloodPressureFHIR
Other Identifiers: https://madie.cms.gov/login#ControllingHighBloodPressureFHIR (use: official, )
Usage:Program: EP/EC

ControllingHighBloodPressureFHIR

Id: | ControllingHighBloodPressureFHIR
Url: | http://ecqi.healthit.gov/ecqms/Library/ControllingHighBloodPressureFHIR
Version: | 0.0.001
Identifier: | value: ControllingHighBloodPressureFHIR
Name: | ControllingHighBloodPressureFHIR
Title: | ControllingHighBloodPressureFHIR
Status: | active
Experimental: | false
Type: | system: http://terminology.hl7.org/CodeSystem/library-type code: logic-library
Date: | 2023-08-28T15:49:23+00:00
Description: | ControllingHighBloodPressureFHIR
Use Context: |
code | value | display
--- | --- | ---
program | ep-ec | EP/EC
Related Artifacts: | Dependencies
Data Requirements: |
Type | Profile | MS | Code Filter
--- | --- | --- | ---
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient |  |
Patient | http://hl7.org/fhir/Patient | ;;;; |
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; |
Reference | http://hl7.org/fhir/Reference | ;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp |  |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp |  |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Observation | http://hl7.org/fhir/StructureDefinition/bp | ;;;;; |
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient |  |
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient |  |
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1240
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1025
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1023
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1016
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080
Coverage | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
uri | http://hl7.org/fhir/uri | ; |
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;;;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1003
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ; | code filter: path: code system: http://loinc.org code: 45755-6 display: Hospice care [Minimum Data Set]
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;;; | code filter: path: code system: http://loinc.org code: 45755-6 display: Hospice care [Minimum Data Set]
ServiceRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
ServiceRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest | ;;; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ;; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1584
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1165
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient |  |
DeviceRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
DeviceRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-devicerequest | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.118.12.1300
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ; | code filter: path: code system: http://loinc.org code: 98181-1 display: Medical equipment used
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;;; | code filter: path: code system: http://loinc.org code: 98181-1 display: Medical equipment used
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1074
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1088
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.113.12.1075
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ;; |
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1087
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1086
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1084
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1083
Quantity | urn:hl7-org:elm-types:r1/Quantity | ;; |
MedicationRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest | ; | code filter: path: medication value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510
MedicationRequest | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest | ; | code filter: path: medication value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.196.12.1510
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ; | code filter: path: code system: http://loinc.org code: 71802-3 display: Housing status
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;;; | code filter: path: code system: http://loinc.org code: 71802-3 display: Housing status
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;;; | code filter: path: code system: http://loinc.org code: 71802-3 display: Housing status
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ; | code filter: path: code system: http://loinc.org code: 71007-9 display: Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)
Observation | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation | ;; | code filter: path: code system: http://loinc.org code: 71007-9 display: Functional Assessment of Chronic Illness Therapy - Palliative Care Questionnaire (FACIT-Pal)
Condition | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1167
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
Encounter | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1090
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
Procedure | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure | ;; | code filter: path: code value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.198.12.1135
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Coverage | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage | ;; | code filter: path: type value set: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Patient | http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient | ;; |
Content: text/cql
    library ControllingHighBloodPressureFHIR version '0.0.001'

    using QICore version '4.1.1'

    include FHIRHelpers version '4.3.000' called FHIRHelpers
    include QICoreCommon version '1.5.000' called QICoreCommon
    include CQMCommon version '1.4.000' called CQMCommon
    include SupplementalDataElements version '3.4.000' called SDE
    include Status version '1.6.000' called Status
    include AdvancedIllnessandFrailty version '1.6.000' called AIFrailLTCF
    include AdultOutpatientEncounters version '4.6.000' called AdultOutpatientEncounters
    include Hospice version '6.7.000' called Hospice
    include PalliativeCare version '1.7.000' called PalliativeCare

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

    valueset "Chronic Kidney Disease, Stage 5": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1002'
    valueset "Dialysis Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1013'
    valueset "Emergency Department Evaluation and Management Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'
    valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
    valueset "End Stage Renal Disease": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.353'
    valueset "ESRD Monthly Outpatient Services": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1014'
    valueset "Essential Hypertension": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.104.12.1011'
    valueset "Kidney Transplant": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1012'
    valueset "Kidney Transplant Recipient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.109.12.1029'
    valueset "Pregnancy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.378'

    code "Diastolic blood pressure": '8462-4' from "LOINC" display 'Diastolic blood pressure'
    code "Systolic blood pressure": '8480-6' from "LOINC" display 'Systolic blood pressure'

    parameter "Measurement Period" Interval<DateTime>

    context Patient

    define "Initial Population":
      AgeInYearsAt(date from
        end of "Measurement Period"
      ) in Interval[18, 85]
        and exists "Essential Hypertension Diagnosis"
        and exists AdultOutpatientEncounters."Qualifying Encounters"

    define "Essential Hypertension Diagnosis":
      ( [Condition: "Essential Hypertension"] ) Hypertension
        where Hypertension.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period", start of "Measurement Period" + 6 months )

    define "Denominator":
      "Initial Population"

    define "Denominator Exclusions":
      Hospice."Has Hospice Services"
        or exists ( "Pregnancy or Renal Diagnosis" )
        or exists ( "End Stage Renal Disease Procedures" )
        or exists ( "End Stage Renal Disease Encounter" )
        or AIFrailLTCF."Is Age 66 to 80 with Advanced Illness and Frailty or Is Age 81 or Older with Frailty"
        or AIFrailLTCF."Is Age 66 or Older Living Long Term in a Nursing Home"
        or PalliativeCare."Has Palliative Care in the Measurement Period"

    define "Pregnancy or Renal Diagnosis":
      ( [Condition: "Pregnancy"]
        union [Condition: "End Stage Renal Disease"]
        union [Condition: "Kidney Transplant Recipient"]
        union [Condition: "Chronic Kidney Disease, Stage 5"] ) PregnancyESRDDiagnosis
        where PregnancyESRDDiagnosis.prevalenceInterval ( ) overlaps "Measurement Period"

    define "End Stage Renal Disease Procedures":
      ( ( [Procedure: "Kidney Transplant"]
          union [Procedure: "Dialysis Services"]
      ).isProcedurePerformed ( ) ) ESRDProcedure
        where ESRDProcedure.performed.toInterval ( ) ends on or before end of "Measurement Period"

    define "End Stage Renal Disease Encounter":
      ( ( [Encounter: "ESRD Monthly Outpatient Services"] ).isEncounterPerformed ( ) ) ESRDEncounter
        where ESRDEncounter.period.toInterval ( ) starts on or before end of "Measurement Period"

    define "Numerator":
      "Has Systolic Blood Pressure Less Than 140"
        and "Has Diastolic Blood Pressure Less Than 90"

    define "Has Systolic Blood Pressure Less Than 140":
      "Lowest Systolic Reading on Most Recent Blood Pressure Day" < 140 'mm[Hg]'

    define "Has Diastolic Blood Pressure Less Than 90":
      "Lowest Diastolic Reading on Most Recent Blood Pressure Day" < 90 'mm[Hg]'

    define "Lowest Systolic Reading on Most Recent Blood Pressure Day":
      First("Qualifying Systolic Blood Pressure Reading" SBPReading
          where SBPReading.effective.latest() same day as "Most Recent Blood Pressure Day"
          return singleton from(SBPReading.component SBPComponent
              where SBPComponent.code ~ "Systolic blood pressure"
              return SBPComponent.value as Quantity
          )
          sort asc
      )

    define "Lowest Diastolic Reading on Most Recent Blood Pressure Day":
      First("Qualifying Diastolic Blood Pressure Reading" DBPReading
          where DBPReading.effective.latest() same day as "Most Recent Blood Pressure Day"
          return singleton from(DBPReading.component DBPComponent
              where DBPComponent.code ~ "Diastolic blood pressure"
              return DBPComponent.value as Quantity
          )
          sort asc
      )

    define "Qualifying Systolic Blood Pressure Reading":
      ( ( ["observation-bp"] ).isObservationBP ( ) ) BloodPressure
        where ( not ( ( BloodPressure.encounter.getEncounter ( ) ).class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' } ) )
          and BloodPressure.effective.latest ( ) during day of "Measurement Period"

    define "Qualifying Diastolic Blood Pressure Reading":
      ( ( ["observation-bp"] ).isObservationBP ( ) ) BloodPressure
        where ( not ( ( BloodPressure.encounter.getEncounter ( ) ).class.code in { 'EMER', 'IMP', 'ACUTE', 'NONAC', 'PRENC', 'SS' } ) )
          and BloodPressure.effective.latest ( ) during day of "Measurement Period"

    define fluent function getEncounter(reference Reference):
      singleton from ( [Encounter] E
          where E.id = reference.reference.getId ( )
      )

    define "Most Recent Blood Pressure Day":
      Last("Blood Pressure Days" BPDays
          sort asc
      )

    define "Blood Pressure Days":
      ( "Qualifying Diastolic Blood Pressure Reading" DBPExam
          return date from DBPExam.effective.latest ( )
      )
        intersect ( "Qualifying Systolic Blood Pressure Reading" SBPExam
            return date from SBPExam.effective.latest ( )
        )

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

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

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

    define "SDE Sex":
      SDE."SDE Sex"
Content: application/elm+xml
    Encoded data (171184 characters)
Content: application/elm+json
    Encoded data (244476 characters)