eCQM QICore Content Implementation Guide
2024.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 2024.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-2024/ and changes regularly. See the Directory of published versions

Measure: Discharged on Antithrombotic TherapyFHIR

Official URL: https://madie.cms.gov/Measure/DischargedonAntithromboticTherapyFHIR Version: 0.9.000
Draft as of 2024-12-18 Responsible: The Joint Commission Computable Name: DischargedonAntithromboticTherapyFHIR
Other Identifiers: Short Name (use: usual, ), UUID:4f57e4a2-097b-45f8-9c85-91b35ea92dc1 (use: official, ), UUID:9b96b5de-f0b8-412a-8523-ed2918efeb19 (use: official, ), Publisher (use: official, )

Copyright/Legal: Measure specifications are in the Public Domain LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 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
Version: 0.9.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:9b96b5de-f0b8-412a-8523-ed2918efeb19

publisher (CMS) identifier:

104FHIR

Effective Period: 2025-01-01..2025-12-31
Status: draft
Publisher: The Joint Commission
Author: The Joint Commission
Description:

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

Purpose:

UNKNOWN

Copyright:

Measure specifications are in the Public Domain LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 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.

Scoring:

Proportion

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 if no contraindications exist. For 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 if 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 "Medication, Discharge" 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: CMS104v13. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU4.1.1/) for more information on QI-Core and mapping recommendations from QDM to QI-Core 4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).
Population Criteria:
64f0daaf56d636294b157ea1
Initial Population: Inpatient hospitalizations (non-elective admissions) for patients age 18 and older, discharged from inpatient care with a principal diagnosis of ischemic stroke, and ends during the measurement period
Denominator: Equals Initial Population
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
Numerator: Inpatient hospitalizations for patients prescribed or continuing to take antithrombotic therapy at hospital discharge
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.
Supplemental Data Elements:

SDE Ethnicity

SDE Payer

SDE Race

SDE Sex

Supplemental Data Guidance : For every patient evaluated by this measure also identify payer, race, ethnicity and sex; SDE Ethnicity-Patient's Ethnicity: Hispanic or Latino Not Hispanic or Latino SDE Payer-Patient's Payer: Categories of types of health care payer entities as defined by the US Public Health Data Consortium SOP code system SDE Race-Patient's Race: Native Hawaiian or Other Pacific Islander Asian American Indian or Alaska Native Other Race White Black or African American SDE Sex-Patient's Sex: Gender identity restricted to only Male and Female used in administrative situations requiring a restriction to these two categories.
Libraries:
DischargedonAntithromboticTherapyFHIR
Terminology and Other Dependencies:
  • Library/SupplementalDataElements|3.5.000
  • Library/TJCOverall|8.14.000
  • Library/FHIRHelpers|4.4.000
  • Library/CQMCommon|2.2.000
  • Library/QICoreCommon|2.1.000
  • AdministrativeGender
  • Diagnosis Role
  • MedicationRequest Category Codes
  • Non-Elective Inpatient Encounter
  • Ischemic Stroke
  • http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
  • 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
  • Medical Reason
  • Patient Refusal
  • Pharmacological Contraindications For Antithrombotic Therapy
  • 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
    Denominator Exceptions Out 0 * Resource
    DataRequirements:
    Resource Type Resource Elements Valueset Name Valueset
    Patient(QICorePatient) ethnicity race
    Encounter(QICoreEncounter) type status status.value period rank rank.value use condition condition.reference condition.reference.value Observation Services Observation Services
    Encounter(QICoreEncounter) type status status.value period rank rank.value use condition condition.reference condition.reference.value Emergency Department Visit Emergency Department Visit
    Encounter(QICoreEncounter) type period rank rank.value use condition condition.reference condition.reference.value hospitalization hospitalization.dischargeDisposition Nonelective Inpatient Encounter Non-Elective Inpatient Encounter
    Condition(QICoreCondition) id id.value
    Medication(QICoreMedication) id
    Medication(QICoreMedication) id
    MedicationRequest(QICoreMedicationRequest) medication authoredOn authoredOn.value status status.value intent intent.value Antithrombotic Therapy for Ischemic Stroke http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
    MedicationRequest(QICoreMedicationRequest) medication.reference authoredOn authoredOn.value status status.value intent intent.value
    MedicationRequest(QICoreMedicationRequest) medication authoredOn authoredOn.value status status.value intent intent.value Pharmacological Contraindications For Antithrombotic Therapy Pharmacological Contraindications For Antithrombotic Therapy
    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
    MedicationRequest(QICoreMedicationNotRequested) medication reasonCode authoredOn authoredOn.value Antithrombotic Therapy for Ischemic Stroke http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
    MedicationRequest(QICoreMedicationNotRequested) medication reasonCode authoredOn authoredOn.value Antithrombotic Therapy for Ischemic Stroke http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
    Direct Reference Codes:
    display code system
    Male M http://hl7.org/fhir/administrative-gender
    Female F http://hl7.org/fhir/administrative-gender
    Billing billing http://terminology.hl7.org/CodeSystem/diagnosis-role
    Community community http://terminology.hl7.org/CodeSystem/medicationrequest-category
    Discharge discharge http://terminology.hl7.org/CodeSystem/medicationrequest-category
    Logic Definitions:
    Group Scoring Population Criteria Expression
    64f0daaf56d636294b157ea1 Group scoring: proportion Measure scoring:

    Proportion

    Type:

    Process

    Rate Aggregation: None
    Improvement Notation:

    increase

    Initial Population
    define "Initial Population":
      TJC."Ischemic Stroke Encounter"
    Denominator
    define "Denominator":
      "Initial Population"
    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"
    Numerator
    define "Numerator":
      TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
        with ["MedicationRequest": "Antithrombotic Therapy for Ischemic Stroke"] DischargeAntithrombotic
          such that DischargeAntithrombotic.authoredOn during IschemicStrokeEncounter.period
    Denominator Exception
    define "Denominator Exceptions":
      "Encounter with Documented Reason for No Antithrombotic At Discharge"
        union "Encounter with Pharmacological Contraindications for Antithrombotic Therapy at Discharge"
    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 with Age
    define "Non Elective Inpatient Encounter with Age":
      ["Encounter": "Nonelective Inpatient Encounter"] NonElectiveEncounter
            where AgeInYearsAt(date from start of NonElectiveEncounter.period ) >= 18
             and NonElectiveEncounter.period ends during day of "Measurement Period"
    Library Name Name
    TJCOverall Ischemic Stroke Encounter
    define "Ischemic Stroke Encounter":
      "Non Elective Inpatient Encounter with Age" NonElectiveEncounterWithAge
        where NonElectiveEncounterWithAge.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 Initial Population
    define "Initial Population":
      TJC."Ischemic Stroke Encounter"
    Library Name Name
    DischargedonAntithromboticTherapyFHIR 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
    DischargedonAntithromboticTherapyFHIR 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
    DischargedonAntithromboticTherapyFHIR SDE Ethnicity
    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
    DischargedonAntithromboticTherapyFHIR Reason for Not Giving Antithrombotic at Discharge
    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 ( )
          )
    Library Name Name
    DischargedonAntithromboticTherapyFHIR Encounter with Documented Reason for No Antithrombotic 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
    Library Name Name
    DischargedonAntithromboticTherapyFHIR Pharmacological Contraindications for Antithrombotic Therapy at Discharge
    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' }
    Library Name Name
    DischargedonAntithromboticTherapyFHIR Encounter with Pharmacological Contraindications for Antithrombotic Therapy at Discharge
    //BONNIEMAT-1617-Since there is an anticipated resolution for STU 5 for Medication.Discharge which leaves one blockers on coverage, will leave the assertion logic as is and update the test cases for coverage.
    
    
    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
    Library Name Name
    DischargedonAntithromboticTherapyFHIR Denominator Exceptions
    define "Denominator Exceptions":
      "Encounter with Documented Reason for No Antithrombotic At Discharge"
        union "Encounter with Pharmacological Contraindications for Antithrombotic Therapy at Discharge"
    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 and D.use ~ "Billing") 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]
    Library Name Name
    FHIRHelpers ToConcept
    /*
    @description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
    */
    define function ToConcept(concept FHIR.CodeableConcept):
        if concept is null then
            null
        else
            System.Concept {
                codes: concept.coding C return ToCode(C),
                display: concept.text.value
            }
    Library Name Name
    QICoreCommon isCommunity
    /*
    @description: Returns true if the given MedicationRequest has a category of Community
    */
    define fluent function isCommunity(medicationRequest MedicationNotRequested):
      exists (medicationRequest.category C
        where C ~ Community
      )
    Library Name Name
    QICoreCommon isDischarge
    /*
    @description: Returns true if the given MedicationRequest has a category of Discharge
    */
    define fluent function isDischarge(medicationRequest MedicationNotRequested):
      exists (medicationRequest.category C
        where C ~ Discharge
      )