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

## Measure: HIV ScreeningFHIR

Official URL: http://ecqi.healthit.gov/ecqms/Measure/HIVScreeningFHIR | Version: 0.0.001
Draft as of 2023-10-27 | ​ Responsible: Centers for Disease Control and Prevention (CDC) | Computable Name: HIVScreeningFHIR
Other Identifiers: Short Name (use: usual, ), UUID:40b617bf-3054-4663-bf9c-a15417c9a7dc (use: official, ), UUID:2c928085806c39a2018085c0e0570593 (use: official, ), Publisher (use: official, )
Usage:Program: EP/EC
Copyright/Legal: Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. Mathematica disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2022 American Medical Association. LOINC(R) copyright 2004-2022 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2022 International Health Terminology Standards Development Organisation. ICD-10 copyright 2022 World Health Organization. All Rights Reserved.

Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for Human immunodeficiency virus (HIV)

UNKNOWN

Title: | HIV ScreeningFHIR
Id: | HIVScreeningFHIR
Download cql: | HIVScreeningFHIR.cql
Version: | 0.0.001
Url: | HIV ScreeningFHIR
short-name identifier: | CMS349FHIR
version-independent identifier: | urn:uuid:40b617bf-3054-4663-bf9c-a15417c9a7dc
version-specific identifier: | urn:uuid:2c928085806c39a2018085c0e0570593
publisher (CMS) identifier: | 349FHIR
Effective Period: | 2024-01-01 ..2024-12-31
Status: | draft
Date: | 2023-10-27 08:12:32+0000
Approval Date: | 2023-08-14
Last Review Date: | 2023-08-14
Name: | HIVScreeningFHIR
Publisher: | Centers for Disease Control and Prevention (CDC)
Author: | Mathematica: https://www.mathematica.org/
Description: | Percentage of patients aged 15-65 at the start of the measurement period who were between 15-65 years old when tested for Human immunodeficiency virus (HIV)
Use Context: |
code | value
--- | ---
program |
Purpose: | UNKNOWN
Copyright: | Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. Mathematica disclaims all liability for use or accuracy of any third party codes contained in the specifications. CPT(R) contained in the Measure specifications is copyright 2004-2022 American Medical Association. LOINC(R) copyright 2004-2022 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2022 International Health Terminology Standards Development Organisation. ICD-10 copyright 2022 World Health Organization. All Rights Reserved.
Disclaimer: | The performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications. THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
Rationale: | Human immunodeficiency virus (HIV) is a communicable infection that leads to a progressive disease with a long asymptomatic period. There were an estimated 34,800 new HIV infections in the United States in 2019 (Centers for Disease Control and Prevention, 2021a). Without treatment, most persons develop acquired immunodeficiency syndrome (AIDS) within 10 years of HIV infection. Antiretroviral therapy (ART) delays this progression and increases the length of survival, but it is most effective when initiated during the asymptomatic phase. Persons living with HIV who use ART and achieve viral suppression can have a nearly normal life expectancy (Samji et al., 2013). DHHS Guidelines for the Use of Antiretroviral Agents in HIV-1-Infected Adults and Adolescents recommends immediate antiretroviral therapy for all HIV-infected individuals, regardless of CD4 count at diagnosis, to reduce the risk of disease progression (Panel on Antiretroviral Guidelines for Adults and Adolescents, 2019). CDC estimates that, at the end of 2016, approximately 14% of the 1.1 million adults and adolescents living with HIV infection in the United States were unaware of their infection (Centers for Disease Control and Prevention, 2018b). Among persons diagnosed with HIV in 2017, approximately 21% were diagnosed with Stage 3 HIV (AIDS) at the time of HIV diagnosis (Centers for Disease Control and Prevention, 2019c), which is when the median CD4 count at diagnosis is less than 200 cells/mm3 for persons aged greater than or equal to 6 years (Centers for Disease Control and Prevention, 2019a). HIV screening identifies infected persons who were previously unaware of their infection, which enables them to seek medical and social services that can improve their health and the quality and length of their lives. Additionally, using ART with high levels of medication adherence has been shown to substantially reduce risk for HIV transmission (Panel on Antiretroviral Guidelines for Adults and Adolescents, 2019). Based on the Behavioral Risk Factor Surveillance System (BRFSS), the percentage of ever tested for HIV increased from 42.9% in 2011 to 45.9% in 2017. Despite this increase, less than half of US adults have ever been tested for HIV over ten years after CDC’s recommendations (Patel et al., 2019).
Clinical recommendation statement: | The US Preventive Services Task Force recommends that clinicians screen for HIV infection in adolescents and adults aged 15 to 65 years. Younger adolescents and older adults who are at increased risk should also be screened (A Recommendation) (Owens, et al., 2019). Since 2006, the CDC has recommended routine opt-out HIV screening (i.e., patient is notified that testing will be performed unless the patient declines) in healthcare facilities of adolescents and adults 13-64 years of age and HIV diagnostic testing of adolescents and adults with clinical signs or symptoms consistent with HIV infection (Centers for Disease Control and Prevention, 2006).
Guidance (Usage): | This measure evaluates the proportion of patients aged 15 to 65 at the start of the measurement period who have documentation of having received an HIV test at least once on or after their 15th birthday and before their 66th birthday. In order to satisfy the measure, the reporting provider must have documentation of the administration of the laboratory test present in the patient's medical record. In cases where the HIV test was performed elsewhere, providers cannot rely on patient attestation or self-report to meet the measure requirements, as previous research has shown that patient self-report is an unreliable indicator of previous HIV testing history. Rather, providers must request documentation of those test results. If such documentation is not available, the patient should be considered still eligible for HIV screening. If such documentation is available, but cannot be provided in a standardized, structured format (such that the lab test and results can be readily incorporated as structured data within the EHR), providers should enter the information into their EHR as a laboratory test in a manner consistent with the EHR in use. If the specific Human Immunodeficiency Virus (HIV) Laboratory Test LOINC code of the test is not known, the entry should use the more generic code LOINC panel code [75622-1]. This eCQM is a patient-based measure. This FHIR-based measure has been derived from the QDM-based measure: CMS349v6. Please refer to the HL7 QI-Core Implementation Guide (http://hl7.org/fhir/us/qicore/index.html) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (http://hl7.org/fhir/us/qicore/qdm-to-qicore.html).
Population Criteria: |
6385057e4ba3d47c885c02cc
Initial Population: | Patients 15 to 65 years of age at the start of the measurement period AND who had at least one outpatient visit during the measurement period
Denominator: | Equals Initial Population
Denominator Exclusion: | Patients diagnosed with HIV prior to the start of the measurement period
Denominator Exception: | None
Numerator: | Patients with documentation of an HIV test performed on or after their 15th birthday and before their 66th birthday
Numerator Exclusion: | None
Supplemental Data Guidance : |
Supplemental Data Elements: | SDE Ethnicity SDE Payer SDE Race SDE Sex
Libraries: |
HIVScreeningFHIR
Related Artifact Dependencies: | SupplementalDataElements version: 3.4.000 QICoreCommon version: 1.5.000 FHIRHelpers version: 4.3.000 `http://hl7.org/fhir/v3/AdministrativeGender` LOINC ActCode ConditionVerificationStatus Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) Preventive Care Services, Initial Office Visit, 0 to 17 Preventive Care Services-Initial Office Visit, 18 and Up Preventive Care, Established Office Visit, 0 to 17 Preventive Care Services - Established Office Visit, 18 and Up Office Visit Payer HIV
Parameters: |
name | use | min | max | type
--- | --- | --- | --- | ---
Measurement Period | In | 0 | 1 | Period
SDE Sex | Out | 0 | 1 | Coding
Numerator | Out | 0 | 1 | boolean
Denominator | Out | 0 | 1 | boolean
SDE Payer | Out | 0 | * | Resource
Initial Population | Out | 0 | 1 | boolean
SDE Ethnicity | Out | 0 | 1 | Resource
Denominator Exclusions | Out | 0 | 1 | boolean
SDE Race | Out | 0 | 1 | Resource
DataRequirements: |
Type | Elements | Valueset Name | Valueset
--- | --- | --- | ---
Patient(QICorePatient) | ethnicity race |  |
Observation(QICoreObservation) | code effective status status.value | Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag) | Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)
Observation(QICoreObservation) | code effective status status.value |  |
Encounter(QICoreEncounter) | type period class status status.value | Preventive Care Services, Initial Office Visit, 0 to 17 | Preventive Care Services, Initial Office Visit, 0 to 17
Encounter(QICoreEncounter) | type period class status status.value | Preventive Care Services-Initial Office Visit, 18 and Up | Preventive Care Services-Initial Office Visit, 18 and Up
Encounter(QICoreEncounter) | type period class status status.value | Preventive Care, Established Office Visit, 0 to 17 | Preventive Care, Established Office Visit, 0 to 17
Encounter(QICoreEncounter) | type period class status status.value | Preventive Care Services - Established Office Visit, 18 and Up | Preventive Care Services - Established Office Visit, 18 and Up
Encounter(QICoreEncounter) | type period class status status.value | Office Visit | Office Visit
Coverage(QICoreCoverage) | type period | Payer Type | Payer
Condition(QICoreCondition) | code verificationStatus | HIV | HIV
Direct Reference Codes: |
display | code | system
--- | --- | ---
Male | M | http://hl7.org/fhir/v3/AdministrativeGender
Female | F | http://hl7.org/fhir/v3/AdministrativeGender
HIV 1 and 2 tests - Meaningful Use set | 75622-1 | http://loinc.org
Ambulatory | AMB | http://terminology.hl7.org/CodeSystem/v3-ActCode
| refuted | http://terminology.hl7.org/CodeSystem/condition-ver-status
Logic Definitions: |
Group | Scoring | Population Criteria | Expression
--- | --- | --- | ---
6385057e4ba3d47c885c02cc | Group scoring: proportion
|  | Initial Population |
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") in Interval[15, 65]
        and exists "Qualifying Encounters"
|  | Denominator |
    define "Denominator":
      "Initial Population"
|  | Denominator Exclusion |
    define "Denominator Exclusions":
      exists ( ["Condition": "HIV"] HIV
          where QICoreCommon."ToPrevalenceInterval" ( HIV Indicators ) starts before start of "Measurement Period"
            and HIV.verificationStatus !~ "refuted"
      )
|  | Denominator Exception | None
|  | Numerator |
    define "Numerator":
      ( "Has HIV Test Performed" )
|  | Numerator Exclusion | None

Library Name | Name
--- | ---
SupplementalDataElements | SDE Sex
    define "SDE Sex":
      case
          when Patient.gender = 'male' then "M"
          when Patient.gender = 'female' then "F"
          else null
        end
Library Name | Name
HIVScreeningFHIR | SDE Sex
    define "SDE Sex":
      SDE."SDE Sex"
Library Name | Name
HIVScreeningFHIR | Has HIV Test Performed
    define "Has HIV Test Performed":
      exists ( ["Observation": "Human Immunodeficiency Virus (HIV) Laboratory Test Codes (Ab and Ag)"]
        union ["Observation": "HIV 1 and 2 tests - Meaningful Use set"] ) HIVTest
        where AgeInYearsAt(date from start of QICoreCommon."ToInterval"(HIVTest.effective)) in Interval[15, 65]
          and QICoreCommon."ToInterval" ( HIVTest.effective ) starts before end of "Measurement Period"
          and ( HIVTest.status = 'final'
              or HIVTest.status = 'amended'
              or HIVTest.status = 'corrected'
          )
Library Name | Name
HIVScreeningFHIR | Numerator
    define "Numerator":
      ( "Has HIV Test Performed" )
Library Name | Name
HIVScreeningFHIR | Qualifying Encounters
    define "Qualifying Encounters":
      ( ["Encounter": "Preventive Care Services, Initial Office Visit, 0 to 17"]
        union ["Encounter": "Preventive Care Services-Initial Office Visit, 18 and Up"]
        union ["Encounter": "Preventive Care, Established Office Visit, 0 to 17"]
        union ["Encounter": "Preventive Care Services - Established Office Visit, 18 and Up"]
        union ["Encounter": "Office Visit"] ) Encounter
        where Encounter.period during "Measurement Period"
          and Encounter.class ~ "AMB"
          and Encounter.status = 'finished'
Library Name | Name
HIVScreeningFHIR | Initial Population
    define "Initial Population":
      AgeInYearsAt(date from start of "Measurement Period") in Interval[15, 65]
        and exists "Qualifying Encounters"
Library Name | Name
HIVScreeningFHIR | Denominator
    define "Denominator":
      "Initial Population"
Library Name | Name
SupplementalDataElements | SDE Payer
    define "SDE Payer":
      [Coverage: type in "Payer Type"] Payer
        return {
          code: Payer.type,
          period: Payer.period
        }
Library Name | Name
HIVScreeningFHIR | SDE Payer
    define "SDE Payer":
      SDE."SDE Payer"
Library Name | Name
SupplementalDataElements | SDE Ethnicity
    define "SDE Ethnicity":
      Patient.ethnicity E
        return Tuple {
          codes: { E.ombCategory } union E.detailed,
          display: E.text
        }
Library Name | Name
HIVScreeningFHIR | SDE Ethnicity
    define "SDE Ethnicity":
      SDE."SDE Ethnicity"
Library Name | Name
HIVScreeningFHIR | Denominator Exclusions
    define "Denominator Exclusions":
      exists ( ["Condition": "HIV"] HIV
          where QICoreCommon."ToPrevalenceInterval" ( HIV Indicators ) starts before start of "Measurement Period"
            and HIV.verificationStatus !~ "refuted"
      )
Library Name | Name
SupplementalDataElements | SDE Race
    define "SDE Race":
      Patient.race R
        return Tuple {
          codes: R.ombCategory union R.detailed,
          display: R.text
        }
Library Name | Name
HIVScreeningFHIR | SDE Race
    define "SDE Race":
      SDE."SDE Race"
Library Name | Name
QICoreCommon | ToInterval
    /*
    @description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
    @comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
    to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
    representations for timing-valued elements in QICore, allowing this function to be used across any resource.
    The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
    The intent of this function is to provide a clear and concise mechanism to treat single
    elements that have multiple possible representations as intervals so that logic doesn't have to account
    for the variability. More complex calculations (such as medication request period or dispense period
    calculation) need specific guidance and consideration. That guidance may make use of this function, but
    the focus of this function is on single element calculations where the semantics are unambiguous.
    If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
    If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
    and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
    If the input is a DateTime Interval, the result is the input.
    If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
    is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
    immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
    Any other input will reslt in a null DateTime Interval
    @deprecated: This function is deprecated. Use the fluent function `toInterval()` instead
    */
    define function ToInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>>):
      case
    	  when choice is DateTime then
        	Interval[choice as DateTime, choice as DateTime]
    		when choice is Interval<DateTime> then
      		choice as Interval<DateTime>
    		when choice is Quantity then
    		  Interval[Patient.birthDate + (choice as Quantity),
    			  Patient.birthDate + (choice as Quantity) + 1 year)
    		when choice is Interval<Quantity> then
    		  Interval[Patient.birthDate + (choice.low as Quantity),
    			  Patient.birthDate + (choice.high as Quantity) + 1 year)
    		when choice is QICore.Timing then
                null as Interval<DateTime>
    		else
    			null as Interval<DateTime>
    	end
Library Name | Name
FHIRHelpers | ToString
    define function ToString(value uri): value.value
Library Name | Name
FHIRHelpers | ToCode
    /*
    @description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
    */
    define function ToCode(coding FHIR.Coding):
        if coding is null then
            null
        else
            System.Code {
              code: coding.code.value,
              system: coding.system.value,
              version: coding.version.value,
              display: coding.display.value
            }
Library Name | Name
QICoreCommon | ToPrevalenceInterval
    /*
    @description: Returns an interval representing the normalized prevalence period of a given Condition.
    @comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
    onset to abatement as specified in the given Condition. If the condition is active, the resulting interval will have
    a closed ending boundary. If the condition is not active, the resulting interval will have an open ending boundary.
    @deprecated: This function is deprecated. Use the `prevalenceInterval()` fluent function instead
    */
    define function ToPrevalenceInterval(condition Condition):
    if condition.clinicalStatus ~ "active"
      or condition.clinicalStatus ~ "recurrence"
      or condition.clinicalStatus ~ "relapse" then
      Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition)]
    else
      Interval[start of ToInterval(condition.onset), end of ToAbatementInterval(condition))