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: Discharged on Antithrombotic TherapyFHIR

Official URL: http://ecqi.healthit.gov/ecqms/Measure/DischargedonAntithromboticTherapyFHIR | Version: 0.8.000
Draft as of 2023-10-27 | Responsible: The Joint Commission | Computable Name: DischargedonAntithromboticTherapyFHIR
Other Identifiers: Short Name (use: usual, ), UUID:4f57e4a2-097b-45f8-9c85-91b35ea92dc1 (use: official, ), UUID:e0b5379f-4b9c-4177-a530-d744fa95d080 (use: official, ), Publisher (use: official, )
Usage:Program: EH/CAH
Copyright/Legal: Measure specifications are in the Public Domain 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 2021 World Health Organization. All Rights Reserved.

Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge

UNKNOWN

Title: | Discharged on Antithrombotic TherapyFHIR
Id: | DischargedonAntithromboticTherapyFHIR
Download cql: | DischargedonAntithromboticTherapyFHIR.cql
Version: | 0.8.000
Url: | Discharged on Antithrombotic TherapyFHIR
short-name identifier: | CMS104FHIR
version-independent identifier: | urn:uuid:4f57e4a2-097b-45f8-9c85-91b35ea92dc1
version-specific identifier: | urn:uuid:e0b5379f-4b9c-4177-a530-d744fa95d080
publisher (CMS) identifier: | 104FHIR
Effective Period: | 2024-01-01 ..2024-12-31
Status: | draft
Date: | 2023-10-27 08:12:31+0000
Approval Date: | 2023-08-01
Last Review Date: | 2023-08-01
Name: | DischargedonAntithromboticTherapyFHIR
Publisher: | The Joint Commission
Author: | The Joint Commission: https://www.jointcommission.org/
Description: | Ischemic stroke patients prescribed or continuing to take antithrombotic therapy at hospital discharge
Use Context: |
code | value
--- | ---
program |
Purpose: | UNKNOWN
Copyright: | Measure specifications are in the Public Domain 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 2021 World Health Organization. All Rights Reserved.
Disclaimer: | These performance measures are not clinical guidelines and do not establish a standard of medical care, and have not been tested for all potential applications. The measures and specifications are provided without warranty.
Rationale: | The effectiveness of antithrombotic agents in reducing stroke mortality, stroke-related morbidity and recurrence rates has been studied in several large clinical trials. While the use of these agents for patients with acute ischemic stroke and transient ischemic attacks continues to be the subject of study, substantial evidence is available from completed studies. Data at this time suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist. or patients with a stroke due to a cardioembolic source (e.g. atrial fibrillation, mechanical heart valve), warfarin is recommended unless contraindicated. In recent years, novel oral anticoagulant agents (NOACs) have been developed and approved by the U.S. Food and Drug Administration (FDA) for stroke prevention, and may be considered as an alternative to warfarin for select patients. Anticoagulation therapy is not generally recommended for secondary stroke prevention in patients presumed to have a non-cardioembolic stroke. Anticoagulants at doses to prevent venous thromboembolism are insufficient antithrombotic therapy to prevent recurrent ischemic stroke or transient ischemic attack (TIA).
Clinical recommendation statement: | Clinical trial results suggest that antithrombotic therapy should be prescribed at discharge following acute ischemic stroke to reduce stroke mortality and morbidity as long as no contraindications exist
Guidance (Usage): | The "Nonelective Inpatient Encounter" value set intends to capture all non-scheduled hospitalizations. This value set is a subset of the "Inpatient encounter" value set, excluding concepts that specifically refer to elective hospital admissions. Non-elective admissions include emergency, urgent and unplanned admissions. The "MedicationRequest" datatype refers to the discharge medication list and is intended to express medications ordered for post-discharge use. The denominator population includes patients with inpatient hospitalizations and patients from Acute Hospital Care at Home programs, who are treated and billed as inpatients but receive care in their home. This eCQM is an episode-based measure. An episode is defined as each inpatient hospitalization or encounter that ends during the measurement period. This FHIR-based measure has been derived from the QDM-based measure: CMS104v12. 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: |
64403d17d4d7050edabb0562
Initial Population: | Inpatient hospitalizations for patients age 18 and older, discharged from inpatient care (non-elective admissions) with a principal diagnosis of ischemic or hemorrhagic stroke and a length of stay less than or equal to 120 days that ends during the measurement period
Denominator: | Inpatient hospitalizations for patients with a principal diagnosis of Ischemic stroke
Denominator Exclusion: | - Inpatient hospitalizations for patients admitted for elective carotid intervention. This exclusion is implicitly modeled by only including non-elective hospitalizations. - Inpatient hospitalizations for patients discharged to another hospital - Inpatient hospitalizations for patients who left against medical advice - Inpatient hospitalizations for patients who expired - Inpatient hospitalizations for patients discharged to home for hospice care - Inpatient hospitalizations for patients discharged to a health care facility for hospice care - Inpatient hospitalizations for patients with comfort measures documented
Denominator Exception: | - Inpatient hospitalizations for patients with a documented reason for not prescribing antithrombotic therapy at discharge. - Inpatient hospitalizations for patients who receive Prasugrel as an antithrombotic therapy at discharge.
Numerator: | Inpatient hospitalizations for patients prescribed or continuing to take antithrombotic therapy at hospital discharge
Numerator Exclusion: | None
Supplemental Data Guidance : | Patient's Ethnicity: Hispanic or Latino Not Hispanic or Latino Patient's Payer: Categories of types of health care payer entities as defined by the US Public Health Data Consortium SOP code system Patient's Race: Native Hawaiian or Other Pacific Islander Asian American Indian or Alaska Native Other Race White Black or African American Patient's Sex: Gender identity restricted to only Male and Female used in administrative situations requiring a restriction to these two categories.
Supplemental Data Elements: | SDE Ethnicity SDE Payer SDE Race SDE Sex
Libraries: |
DischargedonAntithromboticTherapyFHIR
Related Artifact Dependencies: | SupplementalDataElements version: 3.4.000 TJCOverall version: 8.9.000 FHIRHelpers version: 4.3.000 CQMCommon version: 1.4.000 QICoreCommon version: 1.5.000 `http://hl7.org/fhir/v3/AdministrativeGender` Non-Elective Inpatient Encounter Hemorrhagic Stroke Ischemic Stroke Antithrombotic Therapy for Ischemic Stroke Payer Discharge To Acute Care Facility Left Against Medical Advice Patient Expired Discharged to Home for Hospice Care Discharged to Health Care Facility for Hospice Care Comfort Measures Observation Services Emergency Department Visit
Parameters: |
name | use | min | max | type
--- | --- | --- | --- | ---
Measurement Period | In | 0 | 1 | Period
SDE Sex | Out | 0 | 1 | Coding
Numerator | Out | 0 | * | Resource
Denominator | Out | 0 | * | Resource
SDE Payer | Out | 0 | * | Resource
Initial Population | Out | 0 | * | Resource
SDE Ethnicity | Out | 0 | 1 | Resource
Denominator Exclusions | Out | 0 | * | Resource
SDE Race | Out | 0 | 1 | Resource
DataRequirements: |
Type | Elements | Valueset Name | Valueset
--- | --- | --- | ---
Patient(QICorePatient) | ethnicity race |  |
Encounter(QICoreEncounter) | type period rank rank.value condition condition.reference condition.reference.value hospitalization hospitalization.dischargeDisposition | Nonelective Inpatient Encounter | Non-Elective Inpatient Encounter
Encounter(QICoreEncounter) | type status status.value period rank rank.value condition condition.reference condition.reference.value hospitalization hospitalization.dischargeDisposition | Observation Services | Observation Services
Encounter(QICoreEncounter) | type status status.value period rank rank.value condition condition.reference condition.reference.value hospitalization hospitalization.dischargeDisposition | Emergency Department Visit | Emergency Department Visit
Condition(QICoreCondition) | id id.value |  |
Medication(QICoreMedication) | id |  |
MedicationRequest(QICoreMedicationRequest) | medication.reference authoredOn authoredOn.value |  |
MedicationRequest(QICoreMedicationRequest) | medication authoredOn authoredOn.value | Antithrombotic Therapy for Ischemic Stroke | Antithrombotic Therapy for Ischemic Stroke
Coverage(QICoreCoverage) | type period | Payer Type | Payer
ServiceRequest(QICoreServiceRequest) | code status status.value intent intent.value doNotPerform doNotPerform.value | Comfort Measures | Comfort Measures
Procedure(QICoreProcedure) | code status status.value | Comfort Measures | Comfort Measures
Direct Reference Codes: |
display | code | system
--- | --- | ---
Male | M | http://hl7.org/fhir/v3/AdministrativeGender
Female | F | http://hl7.org/fhir/v3/AdministrativeGender
Logic Definitions: |
Group | Scoring | Population Criteria | Expression
--- | --- | --- | ---
64403d17d4d7050edabb0562 | Group scoring: proportion
|  | Initial Population |
    // + ', ' + Combine(Patient.name.first().given, ' ')

    define "Initial Population":
      TJC."Encounter with Principal Diagnosis and Age"
|  | Denominator |
    define "Denominator":
      TJC."Ischemic Stroke Encounter"
|  | Denominator Exclusion |
    define "Denominator Exclusions":
      TJC."Ischemic Stroke Encounters with Discharge Disposition"
        union "Encounter with Comfort Measures during Hospitalization for Patients with Documented Ischemic Stroke"
|  | Denominator Exception |
|  | Numerator |
    define "Numerator":
      TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
        with ["MedicationRequest": "Antithrombotic Therapy for Ischemic Stroke"] DischargeAntithrombotic
          such that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period
|  | 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
DischargedonAntithromboticTherapyFHIR | SDE Sex
    define "SDE Sex":
      SDE."SDE Sex"
Library Name | Name
TJCOverall | Non Elective Inpatient Encounter
    define "Non Elective Inpatient Encounter":
      ["Encounter": "Nonelective Inpatient Encounter"] NonElectiveEncounter
            where NonElectiveEncounter.period ends during day of "Measurement Period"
Library Name | Name
TJCOverall | All Stroke Encounter
    define "All Stroke Encounter":
      "Non Elective Inpatient Encounter" NonElectiveEncounter
      let ConditionCode: NonElectiveEncounter.principalDiagnosis().code
        where ( ConditionCode in "Hemorrhagic Stroke"
           or   ConditionCode in "Ischemic Stroke" )
Library Name | Name
TJCOverall | Encounter with Principal Diagnosis and Age
    define "Encounter with Principal Diagnosis and Age":
      "All Stroke Encounter" AllStrokeEncounter
        where AgeInYearsAt(date from start of AllStrokeEncounter.period ) >= 18
Library Name | Name
TJCOverall | Ischemic Stroke Encounter
    define "Ischemic Stroke Encounter":
      "Encounter with Principal Diagnosis and Age" EncounterWithAge
        where EncounterWithAge.principalDiagnosis().code in "Ischemic Stroke"
Library Name | Name
DischargedonAntithromboticTherapyFHIR | Numerator
    define "Numerator":
      TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
        with ["MedicationRequest": "Antithrombotic Therapy for Ischemic Stroke"] DischargeAntithrombotic
          such that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period
Library Name | Name
DischargedonAntithromboticTherapyFHIR | Denominator
    define "Denominator":
      TJC."Ischemic Stroke Encounter"
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
DischargedonAntithromboticTherapyFHIR | SDE Payer
    define "SDE Payer":
      SDE."SDE Payer"
Library Name | Name
DischargedonAntithromboticTherapyFHIR | Initial Population
    // + ', ' + Combine(Patient.name.first().given, ' ')

    define "Initial Population":
      TJC."Encounter with Principal Diagnosis and Age"
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
DischargedonAntithromboticTherapyFHIR | SDE Ethnicity
    /*
    define "Denominator Exceptions":
      "Encounter with Documented Reason for No Antithrombotic At Discharge"
      union "Encounter with Pharmacological Contraindications for Antithrombotic Therapy at Discharge"

    define "Encounter with Documented Reason for No Antithrombotic At Discharge":
      TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
        with "Reason for Not Giving Antithrombotic at Discharge" NoDischargeAntithrombotic
          such that NoDischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period

    define "Reason for Not Giving Antithrombotic at Discharge":
      ["MedicationNotRequested": "Antithrombotic Therapy for Ischemic Stroke"] NoAntithromboticDischarge
        where ( NoAntithromboticDischarge.reasonCode in "Medical Reason For Not Providing Treatment"
            or NoAntithromboticDischarge.reasonCode in "Patient Refusal"
        )
          and ( NoAntithromboticDischarge.isCommunity ( )
              or NoAntithromboticDischarge.isDischarge ( )
          )
          and NoAntithromboticDischarge.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }

    define "Encounter with Pharmacological Contraindications for Antithrombotic Therapy at Discharge":
      TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
        with "Pharmacological Contraindications for Antithrombotic Therapy at Discharge" DischargePharmacological
          such that DischargePharmacological.authoredOn during IschemicStrokeEncounter.period

    define "Pharmacological Contraindications for Antithrombotic Therapy at Discharge":
      ["MedicationRequest": "Pharmacological Contraindications For Antithrombotic Therapy"] Pharmacological
        where ( Pharmacological.isCommunity ( )
            or Pharmacological.isDischarge ( )
        )
          and Pharmacological.status in { 'active', 'completed' }
          and Pharmacological.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
          and Pharmacological.doNotPerform is not true
    */
    define "SDE Ethnicity":
      SDE."SDE Ethnicity"
Library Name | Name
TJCOverall | Ischemic Stroke Encounters with Discharge Disposition
    define "Ischemic Stroke Encounters with Discharge Disposition":
      "Ischemic Stroke Encounter" IschemicStrokeEncounter
      let DischDisp: IschemicStrokeEncounter.hospitalization.dischargeDisposition
      	where  DischDisp in "Discharge To Acute Care Facility"
    		or DischDisp in "Left Against Medical Advice"
    		or DischDisp in "Patient Expired"
    		or DischDisp in "Discharged to Home for Hospice Care"
    		or DischDisp in "Discharged to Health Care Facility for Hospice Care"
Library Name | Name
TJCOverall | Intervention Comfort Measures
    define "Intervention Comfort Measures":
      ( ["ServiceRequest": code in "Comfort Measures"] SR
        where SR.status in { 'active', 'completed', 'on-hold' }
          and SR.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
          and SR.doNotPerform is not true
      )
      union ( ["Procedure": "Comfort Measures"] InterventionPerformed
            where InterventionPerformed.status in { 'completed', 'in-progress' }
      )
Library Name | Name
DischargedonAntithromboticTherapyFHIR | Encounter with Comfort Measures during Hospitalization for Patients with Documented Ischemic Stroke
    define "Encounter with Comfort Measures during Hospitalization for Patients with Documented Ischemic Stroke":
      "Denominator" Encounter
        with TJC."Intervention Comfort Measures" ComfortMeasure
          such that Coalesce(start of ComfortMeasure.performed.toInterval(), ComfortMeasure.authoredOn) during Encounter.hospitalizationWithObservation ( )
Library Name | Name
DischargedonAntithromboticTherapyFHIR | Denominator Exclusions
    define "Denominator Exclusions":
      TJC."Ischemic Stroke Encounters with Discharge Disposition"
        union "Encounter with Comfort Measures during Hospitalization for Patients with Documented Ischemic Stroke"
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
DischargedonAntithromboticTherapyFHIR | SDE Race
    define "SDE Race":
      SDE."SDE Race"
Library Name | Name
CQMCommon | principalDiagnosis
    /*
    @description: Returns the condition that is specified as the principal diagnosis for the encounter
    */
    define fluent function principalDiagnosis(Encounter Encounter ):
    	singleton from ((Encounter.diagnosis D where D.rank = 1) PD
          return singleton from ([Condition] C where C.id = PD.condition.reference.getId())
    	)
Library Name | Name
QICoreCommon | getId
    /*
    @description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).
    @comment: This function can be used to determine the logical id of a given resource. It can be used in
    a single-server environment to trace references. However, this function does not attempt to resolve
    or distinguish the base of the given url, and so cannot be used safely in multi-server environments.
    */
    define fluent function getId(uri String):
      Last(Split(uri, '/'))
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
CQMCommon | hospitalizationWithObservation
    /*
    @description: Hospitalization with Observation returns the total interval from the start of any immediately prior emergency department visit through the observation visit to the discharge of the given encounter
    */
    define fluent function hospitalizationWithObservation(TheEncounter Encounter ):
      TheEncounter Visit
      		let ObsVisit: Last([Encounter: "Observation Services"] LastObs
      				where LastObs.status = 'finished'
                and LastObs.period ends 1 hour or less on or before start of Visit.period
      				sort by end of period
      			),
      			VisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),
      			EDVisit: Last([Encounter: "Emergency Department Visit"] LastED
      				where LastED.status = 'finished'
                and LastED.period ends 1 hour or less on or before VisitStart
      				sort by end of period
      			)
      		return Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]