dQM QICore Content Implementation Guide
2025.0.0 - CI Build

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

Measure: Antithrombotic Therapy by End of Hospital Day 2FHIR

Official URL: https://madie.cms.gov/Measure/CMS72FHIRSTKAntithromboticDay2 Version: 1.0.000
Active as of 2025-08-25 Responsible: The Joint Commission Computable Name: CMS72FHIRSTKAntithromboticDay2
Other Identifiers: Short Name: CMS72FHIR (use: usual, ), UUID:b6ae4357-9baa-4195-a9cd-50391b7d0dab (use: official, ), UUID:5de3156a-7293-40aa-9ec3-f3df76d3579c (use: official, ), Publisher: 72FHIR (use: official, )

Copyright/Legal: Measure specifications are in the Public Domain

LOINC(R) copyright 2004-2024 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 copyright 2024 World Health Organization. All Rights Reserved.

Ischemic stroke patients administered antithrombotic therapy by the end of hospital day 2

Metadata
Title Antithrombotic Therapy by End of Hospital Day 2FHIR
Version 1.0.000
Short Name CMS72FHIR
GUID (Version Independent) urn:uuid:b6ae4357-9baa-4195-a9cd-50391b7d0dab
GUID (Version Specific) urn:uuid:5de3156a-7293-40aa-9ec3-f3df76d3579c
CMS Identifier 72FHIR
Effective Period 2026-01-01 through 2026-12-31
Steward (Publisher) The Joint Commission
Developer The Joint Commission
Description Ischemic stroke patients administered antithrombotic therapy by the end of hospital day 2
Copyright

Measure specifications are in the Public Domain

LOINC(R) copyright 2004-2024 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2024 International Health Terminology Standards Development Organisation. ICD-10 copyright 2024 World Health Organization. All Rights Reserved.

Disclaimer

These performance measures are not clinical guidelines, 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 (TIA) continues to be the subject of study, substantial evidence is available from completed studies. Data at this time suggest that antithrombotic therapy should be administered within 2 days of symptom onset in acute ischemic stroke patients to reduce stroke mortality and morbidity as long as no contraindications exist.

Aspirin is the recommended antithrombotic medication for early antithrombotic therapy and most frequently administered unless contraindicated. Anticoagulants at doses to prevent venous thromboembolism (VTE) are insufficient. Subcutaneous Lovenox (enoxaparin) and unfractionated heparin (UFH) SQ at lower dosages used for VTE prophylaxis (i.e., enoxaparin SQ 40 mg once daily; enoxaparin SQ 30 mg Q12 hours; UFH 5,000 units or less two or three times daily) are not sufficient for early antithrombotic therapy.

Anticoagulants at doses to prevent VTE are insufficient antithrombotic therapy to prevent recurrent ischemic stroke or TIA.

Clinical Recommendation Statement

Antithrombotic therapy should be administered within 2 days of symptom onset in acute ischemic stroke patients to reduce stroke mortality and morbidity as long as no contraindications exist

Citation Adams, H. P., Jr., del Zoppo, G., Alberts, M. J., et al. (2007, May). Guidelines for the early management of adults with ischemic stroke: A guideline from the American Heart Association/American Stroke Association Stroke Council, Clinical Cardiology Council, Cardiovascular Radiology and Intervention Council, and the Atherosclerotic Peripheral Vascular Disease and Quality of Care Outcomes in Research Interdisciplinary Working Groups. Stroke, 38(5), 1655-1711.
Citation Adams, H., Adams, R., del Zoppo, G., et al. (2005, April). Guidelines for the early management of patients with ischemic stroke: 2005 guidelines update-A scientific statement from the Stroke Council of the American Heart Association/American Stroke Association. Stroke, 36(4): 916-923.
Citation Albers, G. W, Amarenco, P., Easton, J. D., et al. (2001). Antithrombotic and thrombolytic therapy for ischemic stroke. Chest, 119, 300-320.
Citation Antithrombotic Trialists' Collaboration. (2002, January 12). Collaborative meta-analysis of randomised trials of antiplatelet therapy for prevention of death, myocardial infarction, and stroke in high-risk patients. BMJ, 324(7329), 71-86.
Citation Brott, T. G., Clark, W. M., Fagan, S. C., et al. (2000). Stroke: The first hours. Guidelines for acute treatment. Washington, DC: National Stroke Association.
Citation Centers for Disease Control and Prevention. (2009, May 1). Prevalence and most common causes of disability among adults-United States, 2005. Morbidity and Mortality Weekly Report, 58(16), 421-426.
Citation Chen, Z. M., Sandercock, P., Pan, H. C., et al. (2000, June). Indications for early aspirin use in acute ischemic stroke: A combined analysis of 40,000 randomized patients from the Chinese Acute Stroke Trial and the International Stroke Trial. Stroke, 31(6), 1240-1249.
Citation Coull, B. M., Williams, L. S., Goldstein, L. B., et al. (2002, July). Anticoagulants and antiplatelet agents in acute ischemic stroke: Report of the Joint Stroke Guideline Development Committee of the American Academy of Neurology and the American Stroke Association (a Division of the American Heart Association). Stroke, 33(7), 1934-1942.
Citation Eccles, M., Freemantle, N., & Mason, J. (1998, April 25). North of England Evidence-Based Guideline Development Project: Guideline on the use of aspirin as secondary prophylaxis for vascular disease in primary care. BMJ, 316(7140), 1303-1309.
Citation ESPS Group. (1987, December 12). The European Stroke Prevention Study (ESPS): Principal end-points. Lancet, 2(8572), 1351-1354.
Citation Furie, K. L., Kasner, S. E., Adams, R. J., et al. (2011, January). Guidelines for the prevention of stroke in patients with stroke or transient ischemic attack: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 42(1), 227-276.
Citation Gaspoz, J. M., Coxson, P. G., Goldman, P. A., et al. (2002, June 6). Cost effectiveness of aspirin, clopidogrel, or both for secondary prevention of coronary heart disease. New England Journal of Medicine, 346(23), 1800-1806.
Citation Guyatt, G. H., Akl, E. A., Crowther, M., et al. (2012, February). Executive summary: Antithrombotic therapy and prevention of thrombosis, 9th ed.: American College of Chest Physicians evidence-based clinical practice guidelines. Chest, 141(2 Suppl.), 7S-47S.
Citation International Stroke Trial Collaborative Group. (1997, May 31). The International Stroke Trial (IST): A randomised trial of aspirin, subcutaneous heparin, both, or neither among 19,435 patients with acute ischaemic stroke. Lancet, 349(9065), 1569-1581.
Citation Jauch, E. C., Saver, J. L., Adams, H. P., Jr., et al. (2013). Guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 44(3), 870-947.
Citation Johnson, E. S., Lanes, S. F., Wentworth, C. E., III, et al. (1999, June 14). A metaregression analysis of the dose-response effect of aspirin on stroke. Archives of Internal Medicine, 159(11), 1248-1253.
Citation Powers, W. J., Rabinstein, A. A., Ackerson, T., et al. (2018, January). 2018 guidelines for the early management of patients with acute ischemic stroke: A guideline for health care professionals from the American Heart Association/American Stroke Association. Stroke, 49,
Citation Roger, V. L., Go, A. S., Lloyd-Jones, D. M., et al. (2012, January 3). Heart disease and stroke statistics-2012 update: A report from the American Heart Association. Circulation, 125(1), e2-e220.
Citation Sacco, R. L., Adams, R., Albers, G., et al. (2006, February). Guidelines for prevention of stroke in patients with ischemic stroke or transient ischemic attack: A statement for health care professionals from the American Heart Association/American Stroke Association Council on Stroke: Co-sponsored by the Council on Cardiovascular Radiology and Intervention: The American Academy of Neurology affirms the value of this guideline. Stroke, 37(2), 577-617.
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 Inpatient Encounters include emergency, urgent, and unplanned admissions.

NPO (Nothing by mouth) is not a valid reason for not administering antithrombotic therapy by end of hospital day 2 as another route of administration can be used (i.e., rectal or intravenous).

In the denominator exclusions, the intent is to only exclude patients with a total length of stay of <2 days, including Emergency Department (ED) visit (if there is one). For the dQM we model both of the scenarios of admission via the ED as well as direct admits. This statement addresses direct admits.

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 dQM 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: CMS72v14. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6. (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html).

Measure Group (Rate) (ID: Group_1)
Basis Encounter
Scoring [http://terminology.hl7.org/CodeSystem/measure-scoring#proportion: 'Proportion']
Type [http://terminology.hl7.org/CodeSystem/measure-type#process: 'Process']
Rate Aggregation None
Improvement Notation [http://terminology.hl7.org/CodeSystem/measure-improvement-notation#increase: 'Increased score indicates improvement']
Initial Population ID: InitialPopulation_1
Description:

Inpatient hospitalization (non-elective admissions) for patients age 18 and older, discharged from inpatient care with a principal diagnosis of ischemic stroke that ends during the measurement period

Logic Definition: Initial Population
Denominator ID: Denominator_1
Description:

Equals Initial Population

Logic Definition: Denominator
Denominator Exclusion ID: DenominatorExclusion_1
Description:

  • Inpatient hospitalization for patients who have a duration of stay less than 2 days.

  • Inpatient hospitalization for patients with comfort measures documented day of or the day after arrival.

  • Inpatient hospitalization for patients with intra-venous or intra-arterial Thrombolytic (t-PA) Therapy administered within 24 hours prior to arrival or anytime during hospitalization.

Logic Definition: Denominator Exclusions
Numerator ID: Numerator_1
Description:

Inpatient hospitalization for patients who had antithrombotic therapy administered the day of or day after hospital arrival

Logic Definition: Numerator
Denominator Exception ID: DenominatorException_1
Description:

  • Inpatient hospitalization for patients with a documented reason for not administering antithrombotic therapy the day of or day after hospital arrival

  • Inpatient hospitalization for patients who receive Prasugrel as an antithrombotic therapy the day of or day after hospital arrival

  • Inpatient hospitalization for patients with an international normalized ratio (INR) greater than 3.5

Logic Definition: Denominator Exceptions
Supplemental Data Guidance

For every patient evaluated by this measure also identify payer, race, ethnicity and sex

Supplemental Data Elements
Supplemental Data Element ID: sde-ethnicity
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Ethnicity
Logic Definition: SDE Ethnicity
Supplemental Data Element ID: sde-payer
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Payer
Logic Definition: SDE Payer
Supplemental Data Element ID: sde-race
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Race
Logic Definition: SDE Race
Supplemental Data Element ID: sde-sex
Usage Code: [http://terminology.hl7.org/CodeSystem/measure-data-usage#supplemental-data]
Description: SDE Sex
Logic Definition: SDE Sex
Measure Logic
Primary Library https://madie.cms.gov/Library/CMS72FHIRSTKAntithromboticDay2
Contents Population Criteria
Logic Definitions
Terminology
Dependencies
Data Requirements
Population Criteria
Measure Group (Rate) (ID: Group_1)
Initial Population
define "Initial Population":
  TJC."Ischemic Stroke Encounter"
Denominator
define "Denominator":
  "Initial Population"
Denominator Exclusion
define "Denominator Exclusions":
  "Encounter Less Than Two Days"
    union "Encounter With Comfort Measures During Day Of Or Day After Arrival"
    union "Encounter With Thrombolytic Therapy Given Prior To Arrival Or During Hospitalization"
Numerator
define "Numerator":
  "Encounter With Antithrombotic Therapy"
Denominator Exception
define "Denominator Exceptions":
  "Encounter With Documented Reason For No Antithrombotic Ordered Or Administered Day Of Or Day After Hospital Arrival"
    union "Encounter With Pharmacological Contraindications For Antithrombotic Therapy Given Day Of Or Day After Hospital Arrival"
    union "Encounter With An INR Greater Than 3.5"
Logic Definitions
Logic Definition Library Name: SupplementalDataElements
define "SDE Sex":
  case
    when Patient.sex = '248153007' then "Male (finding)"
    when Patient.sex = '248152002' then "Female (finding)"
    else null
  end
Logic Definition Library Name: SupplementalDataElements
define "SDE Payer":
  [Coverage: type in "Payer Type"] Payer
    return {
      code: Payer.type,
      period: Payer.period
    }
Logic Definition Library Name: SupplementalDataElements
define "SDE Ethnicity":
  Patient.ethnicity E
    return Tuple {
      codes: { E.ombCategory } union E.detailed,
      display: E.text
    }
Logic Definition Library Name: SupplementalDataElements
define "SDE Race":
  Patient.race R
    return Tuple {
      codes: R.ombCategory union R.detailed,
      display: R.text
    }
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "SDE Sex":
  SDE."SDE Sex"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Antithrombotic Therapy":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with ["MedicationAdministration": "Antithrombotic Therapy for Ischemic Stroke"] Antithrombotic
      such that Antithrombotic.status in { 'in-progress', 'completed' }
        and Antithrombotic.effective.toInterval ( ) starts during day of ( start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) ).calendarDayOfOrDayAfter ( )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Numerator":
  "Encounter With Antithrombotic Therapy"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Initial Population":
  TJC."Ischemic Stroke Encounter"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Denominator":
  "Initial Population"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "SDE Payer":
  SDE."SDE Payer"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "SDE Ethnicity":
  SDE."SDE Ethnicity"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter Less Than Two Days":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    where IschemicStrokeEncounter.hospitalizationWithObservation ( ).lengthInDays ( ) < 2
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Comfort Measures During Day Of Or Day After Arrival":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with TJC."Intervention Comfort Measures" ComfortMeasure
      such that Coalesce(start of ComfortMeasure.performed.toInterval(), ComfortMeasure.authoredOn) during day of ( start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) ).calendarDayOfOrDayAfter ( )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Thrombolytic Therapy Medication Or Procedures":
  ( ["MedicationAdministration": "Thrombolytic tPA Therapy"] ThrombolyticMedication
      where ThrombolyticMedication.status in { 'in-progress', 'completed' }
      return {
        id: ThrombolyticMedication.id,
        effective: ThrombolyticMedication.effective
      }
  )
    union ( ["Procedure": "Intravenous or Intraarterial Thrombolytic tPA Therapy"] ThrombolyticProcedure
        where ThrombolyticProcedure.status = 'completed'
        return {
          id: ThrombolyticProcedure.id,
          effective: ThrombolyticProcedure.performed
        }
    )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Thrombolytic Therapy Medication Or Procedures":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with "Thrombolytic Therapy Medication Or Procedures" ThrombolyticTherapy
      such that ThrombolyticTherapy.effective.toInterval ( ) starts during Interval[start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) - 24 hours, end of IschemicStrokeEncounter.hospitalizationWithObservation ( ) )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Thrombolytic Therapy Prior To Arrival":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    where exists ( ( IschemicStrokeEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
        where EncounterDiagnosis.code in "Intravenous or Intraarterial Thrombolytic tPA Therapy Prior to Arrival"
    )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Thrombolytic Therapy Documented As Already Given":
  ( TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
      where exists [ConditionProblemsHealthConcerns: "Intravenous or Intraarterial Thrombolytic tPA Therapy Prior to Arrival"] PriorTPA
        where PriorTPA.recordedDate during IschemicStrokeEncounter.hospitalizationWithObservation ( )
          and PriorTPA.verificationStatus is not null implies ( PriorTPA.verificationStatus !~ QICoreCommon."refuted"
            and PriorTPA.verificationStatus !~ QICoreCommon."entered-in-error"
        )
  )
    union TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
      where exists ( ( IschemicStrokeEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
          where EncounterDiagnosis.code in "Intravenous or Intraarterial Thrombolytic tPA Therapy Prior to Arrival"
      )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Thrombolytic Therapy Given Prior To Arrival Or During Hospitalization":
  "Encounter With Thrombolytic Therapy Medication Or Procedures"
    union "Encounter With Thrombolytic Therapy Prior To Arrival"
    union "Encounter With Thrombolytic Therapy Documented As Already Given"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Denominator Exclusions":
  "Encounter Less Than Two Days"
    union "Encounter With Comfort Measures During Day Of Or Day After Arrival"
    union "Encounter With Thrombolytic Therapy Given Prior To Arrival Or During Hospitalization"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "SDE Race":
  SDE."SDE Race"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Reason For Not Ordering Antithrombotic":
  ( ["MedicationNotRequested": "Antithrombotic Therapy for Ischemic Stroke"] NoAntithromboticOrder
      where ( NoAntithromboticOrder.reasonCode in "Medical Reason for Not Providing Treatment"
          or NoAntithromboticOrder.reasonCode in "Patient Refusal"
      )
        and NoAntithromboticOrder.status in { 'active', 'completed' }
        and NoAntithromboticOrder.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
      return {
        id: NoAntithromboticOrder.id,
        authoredOn: NoAntithromboticOrder.authoredOn
      }
  )
    union ( ["MedicationRequest": "Antithrombotic Therapy for Ischemic Stroke"] MedReqAntithrombotic
        with ["TaskRejected"] TaskReject
          such that TaskReject.focus.references ( MedReqAntithrombotic )
            and ( TaskReject.statusReason in "Medical Reason for Not Providing Treatment"
                or TaskReject.statusReason in "Patient Refusal"
            )
            and ( MedReqAntithrombotic.status in { 'active', 'completed' }
                and TaskReject.code ~ QICoreCommon."Fulfill"
            )
        return {
          id: MedReqAntithrombotic.id,
          authoredOn: MedReqAntithrombotic.authoredOn
        }
    )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Reason For Not Administering Antithrombotic":
  ["MedicationAdministrationNotDone": "Antithrombotic Therapy for Ischemic Stroke"] MedicationAdm
    where ( MedicationAdm.statusReason in "Medical Reason for Not Providing Treatment"
        or MedicationAdm.statusReason in "Patient Refusal"
    )
    return {
      id: MedicationAdm.id,
      authoredOn: MedicationAdm.recorded
    }
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Documented Reason For No Antithrombotic Ordered Or Administered":
  "Reason For Not Ordering Antithrombotic"
    union "Reason For Not Administering Antithrombotic"
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Documented Reason For No Antithrombotic Ordered Or Administered Day Of Or Day After Hospital Arrival":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with "Documented Reason For No Antithrombotic Ordered Or Administered" NoAntithrombotic
      such that NoAntithrombotic.authoredOn during day of ( start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) ).calendarDayOfOrDayAfter ( )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With Pharmacological Contraindications For Antithrombotic Therapy Given Day Of Or Day After Hospital Arrival":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with ["MedicationAdministration": "Pharmacological Contraindications For Antithrombotic Therapy"] PharmacologicalContraindications
      such that PharmacologicalContraindications.status in { 'in-progress', 'completed' }
        and PharmacologicalContraindications.effective.toInterval ( ) starts during day of ( start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) ).calendarDayOfOrDayAfter ( )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Encounter With An INR Greater Than 3.5":
  TJC."Ischemic Stroke Encounter" IschemicStrokeEncounter
    with ["LaboratoryResultObservation": "INR"] INR
      such that INR.value as Quantity > 3.5
        and INR.status in { 'final', 'amended', 'corrected' }
        and INR.issued during day of ( start of IschemicStrokeEncounter.hospitalizationWithObservation ( ) ).calendarDayOfOrDayAfter ( )
Logic Definition Library Name: CMS72FHIRSTKAntithromboticDay2
define "Denominator Exceptions":
  "Encounter With Documented Reason For No Antithrombotic Ordered Or Administered Day Of Or Day After Hospital Arrival"
    union "Encounter With Pharmacological Contraindications For Antithrombotic Therapy Given Day Of Or Day After Hospital Arrival"
    union "Encounter With An INR Greater Than 3.5"
Logic Definition Library Name: FHIRHelpers
define function ToString(value uri): value.value
Logic Definition Library Name: FHIRHelpers
/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
    if period is null then
        null
    else
        if period."start" is null then
            Interval(period."start".value, period."end".value]
        else
            Interval[period."start".value, period."end".value]
Logic Definition Library Name: FHIRHelpers
/*
@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
        }
Logic Definition Library Name: FHIRHelpers
/*
@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
        }
Logic Definition Library Name: TJCOverall
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"
Logic Definition Library Name: TJCOverall
define "Ischemic Stroke Encounter":
  "Non Elective Inpatient Encounter With Age" NonElectiveEncounterWithAge
   where NonElectiveEncounterWithAge.hasPrincipalDiagnosisOf("Ischemic Stroke" )
Logic Definition Library Name: TJCOverall
define "Intervention Comfort Measures":
  ( ["ServiceRequest": "Comfort Measures"] ComfortCare
    where ComfortCare.status in { 'active', 'completed', 'on-hold' }
      and ComfortCare.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
  )  
  union ( ["Procedure": "Comfort Measures"] ComfortCarePerformed
        where ComfortCarePerformed.status in { 'completed', 'in-progress' }
  )
Logic Definition Library Name: TJCOverall
define fluent function calendarDayOfOrDayAfter(StartValue DateTime):
  Interval [date from (StartValue), date from (StartValue) + 1 day]
Logic Definition Library Name: QICoreCommon
/*
@description: Returns true if any of the given references are to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of any of the given references.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(references List<Reference>, resource Resource):
  exists (references R where R.references(resource))
Logic Definition Library Name: QICoreCommon
/*
@description: Returns true if the given reference is to the given resource
@comment: Returns true if the `id` element of the given resource exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference Reference, resource Resource):
  resource.id = Last(Split(reference.reference, '/'))
Logic Definition Library Name: QICoreCommon
/*
@description: Returns true if the given code is in the given codeList
@comment: Returns true if the `code` is equivalent to any of the codes in the given `codeList`, false otherwise.
*/
define fluent function includesCode(codeList List<Concept>, code Code):
  exists (codeList C where C ~ code)
Logic Definition Library Name: QICoreCommon
/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference Reference, resourceId String):
  resourceId = Last(Split(reference.reference, '/'))
Logic Definition Library Name: QICoreCommon
/*
@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.
If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
*/
define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
  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 Timing then
      Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
		else
			null as Interval<DateTime>
	end
Logic Definition Library Name: CQMCommon
/*
 @description: Returns the condition that is specified as the principal diagnosis for the encounter and has a code in the given valueSet.
 @comment: See the QICore 6 Authoring Patterns discussion on [Principal Diagnosis and Present on Admission](https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns-QICore-v6.0.0#conditions-present-on-admission-and-principal-diagnoses) for more information
 */
 define fluent function hasPrincipalDiagnosisOf(encounter Encounter, valueSet ValueSet):
   (encounter.principalDiagnosis()) PD
     return PD.diagnosis in valueSet
       or PD.diagnosis.getCondition().code in valueSet
Logic Definition Library Name: CQMCommon
/*
@description: Returns the claim diagnosis element that is specified as the principal diagnosis for the encounter
 @comment: See the QICore 6 Authoring Patterns discussion on [Principal Diagnosis and Present on Admission](https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns-QICore-v6.0.0#conditions-present-on-admission-and-principal-diagnoses) for more information
*/
define fluent function principalDiagnosis(encounter Encounter):
singleton from (
     (encounter.claimDiagnosis()) CD
       where CD.type.includesCode("Principal Diagnosis")
   )
Logic Definition Library Name: CQMCommon
/*
@description: Returns the claim diagnosis elements for the given encounter
@comment: See the QICore 6 Authoring Patterns discussion on [Principal Diagnosis and Present on Admission](https://github.com/cqframework/CQL-Formatting-and-Usage-Wiki/wiki/Authoring-Patterns-QICore-v6.0.0#conditions-present-on-admission-and-principal-diagnoses) for more information
*/
define fluent function claimDiagnosis(encounter Encounter):
  encounter E
    let 
      claim: ([Claim] C where C.status = 'active' and C.use = 'claim' and exists (C.item I where I.encounter.references(E))),
      claimItem: (claim.item I where I.encounter.references(E))
    return claim.diagnosis D where D.sequence in claimItem.diagnosisSequence
Logic Definition Library Name: CQMCommon
/*
@description: Returns the Condition resource for the given reference
*/
define fluent function getCondition(reference Reference):
  singleton from (([ConditionEncounterDiagnosis] union [ConditionProblemsHealthConcerns]) C where reference.references(C.id))
Logic Definition Library Name: CQMCommon
/*
@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]
Logic Definition Library Name: CQMCommon
/*
@description: Calculates the difference in calendar days between the start and end of the given interval.
*/
define fluent function lengthInDays(Value Interval<DateTime> ):
  difference in days between start of Value and end of Value
Logic Definition Library Name: CQMCommon
/*  
@description: Returns the Condition resources referenced by the diagnosis element of the Encounter  
*/
define fluent function encounterDiagnosis(Encounter Encounter ):
  Encounter.reasonReference D
    return singleton from (([ConditionEncounterDiagnosis] union [ConditionProblemsHealthConcerns]) C where D.references(C.id))
Terminology
Code System Description: Code system SNOMEDCT
Resource: http://snomed.info/sct
Canonical URL: http://snomed.info/sct
Code System Description: Code system Diagnosis Type
Resource: http://terminology.hl7.org/CodeSystem/ex-diagnosistype
Canonical URL: http://terminology.hl7.org/CodeSystem/ex-diagnosistype
Code System Description: Code system ConditionVerificationStatusCodes
Resource: http://terminology.hl7.org/CodeSystem/condition-ver-status
Canonical URL: http://terminology.hl7.org/CodeSystem/condition-ver-status
Code System Description: Code system TaskCodeSystem
Resource: http://hl7.org/fhir/CodeSystem/task-code
Canonical URL: http://hl7.org/fhir/CodeSystem/task-code
Value Set Description: Value set Nonelective Inpatient Encounter
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424
Value Set Description: Value set Ischemic Stroke
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.247
Value Set Description: Value set Antithrombotic Therapy for Ischemic Stroke
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Value Set Description: Value set Observation Services
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143
Value Set Description: Value set Emergency Department Visit
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292
Value Set Description: Value set Payer Type
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Value Set Description: Value set Comfort Measures
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
Value Set Description: Value set Thrombolytic tPA Therapy
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.226
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.226
Value Set Description: Value set Intravenous or Intraarterial Thrombolytic tPA Therapy
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.21
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.21
Value Set Description: Value set Intravenous or Intraarterial Thrombolytic tPA Therapy Prior to Arrival
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.21
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.21
Value Set Description: Value set Medical Reason for Not Providing Treatment
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.473
Value Set Description: Value set Patient Refusal
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.93
Value Set Description: Value set Pharmacological Contraindications For Antithrombotic Therapy
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.52
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.52
Value Set Description: Value set INR
Resource: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213
Canonical URL: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213
Direct Reference Code Display: Male (finding)
Code: 248153007
System: http://snomed.info/sct
Direct Reference Code Display: Female (finding)
Code: 248152002
System: http://snomed.info/sct
Direct Reference Code Display: Principal Diagnosis
Code: principal
System: http://terminology.hl7.org/CodeSystem/ex-diagnosistype
Direct Reference Code Display: Refuted
Code: refuted
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Direct Reference Code Display: Entered in Error
Code: entered-in-error
System: http://terminology.hl7.org/CodeSystem/condition-ver-status
Direct Reference Code Display: Fulfill
Code: fulfill
System: http://hl7.org/fhir/CodeSystem/task-code
Dependencies
Dependency Description: QICore model information
Resource: http://hl7.org/fhir/Library/QICore-ModelInfo
Canonical URL: http://hl7.org/fhir/Library/QICore-ModelInfo
Dependency Description: Library SDE
Resource: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
Canonical URL: https://madie.cms.gov/Library/SupplementalDataElements|5.1.000
Dependency Description: Library FHIRHelpers
Resource: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
Canonical URL: https://madie.cms.gov/Library/FHIRHelpers|4.4.000
Dependency Description: Library TJC
Resource: https://madie.cms.gov/Library/TJCOverall|8.25.000
Canonical URL: https://madie.cms.gov/Library/TJCOverall|8.25.000
Dependency Description: Library CQMCommon
Resource: https://madie.cms.gov/Library/CQMCommon|4.1.000
Canonical URL: https://madie.cms.gov/Library/CQMCommon|4.1.000
Dependency Description: Library QICoreCommon
Resource: https://madie.cms.gov/Library/QICoreCommon|4.0.000
Canonical URL: https://madie.cms.gov/Library/QICoreCommon|4.0.000
Data Requirements
Data Requirement Type: Patient
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient
Must Support Elements: extension, url, birthDate, birthDate.value
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period, diagnosis, diagnosis.code
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, status, status.value, period, diagnosis, diagnosis.code
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292
Data Requirement Type: Encounter
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter
Must Support Elements: type, period, diagnosis, diagnosis.code
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.424
Data Requirement Type: Resource
Profile(s): http://hl7.org/fhir/StructureDefinition/Resource
Must Support Elements: id, id.value
Data Requirement Type: Claim
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-claim
Must Support Elements: status, status.value, use, use.value, item
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Data Requirement Type: Condition
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns
Must Support Elements: code, recordedDate, recordedDate.value, verificationStatus
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.21
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Must Support Elements: medication, status, status.value, effective, id, id.value
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Must Support Elements: medication, status, status.value, effective, id, id.value
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.226
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Must Support Elements: medication, status, status.value, effective, id, id.value
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.52
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministration
Must Support Elements: medication.reference.value, status, status.value, effective, id, id.value
Data Requirement Type: Medication
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medication
Must Support Elements: id.value, code
Data Requirement Type: Coverage
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage
Must Support Elements: type, period
Code Filter(s):
Path: type
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591
Data Requirement Type: ServiceRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-servicerequest
Must Support Elements: code, status, status.value, intent, intent.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
Data Requirement Type: Procedure
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, status, status.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/1.3.6.1.4.1.33895.1.3.0.45
Data Requirement Type: Procedure
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure
Must Support Elements: code, status, status.value, id, id.value, performed
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.21
Data Requirement Type: MedicationRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationnotrequested
Must Support Elements: medication, reasonCode, status, status.value, intent, intent.value, id, id.value, authoredOn, authoredOn.value
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Data Requirement Type: MedicationRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
Must Support Elements: medication, status, status.value, id, id.value, authoredOn, authoredOn.value
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Data Requirement Type: MedicationRequest
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationrequest
Must Support Elements: medication.reference.value, status, status.value, id, id.value, authoredOn, authoredOn.value
Data Requirement Type: Task
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-taskrejected
Must Support Elements: focus, statusReason, code
Data Requirement Type: MedicationAdministration
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-medicationadministrationnotdone
Must Support Elements: medication, statusReason, id, id.value, extension
Code Filter(s):
Path: medication
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1110.62
Data Requirement Type: Observation
Profile(s): http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab
Must Support Elements: code, value, status, status.value, issued, issued.value
Code Filter(s):
Path: code
ValueSet: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.213
Generated using version 0.4.8 of the sample-content-ig Liquid templates