eCQM Title | # Core Clinical Data Elements for the Hybrid Hospital-Wide Readmission (HWR) Measure with Claims and Electronic Health Record Data
eCQM Identifier (Measure Authoring Tool) | 529 | eCQM Version Number | 2.0.000
NQF Number | 2879 | GUID | fa75de85-a934-45d7-a2f7-c700a756078b
Measurement Period | July 1, 2022 through June 30, 2023
Measure Steward | Centers for Medicare & Medicaid Services (CMS)
Measure Developer | Mathematica
Measure Developer | Yale New Haven Health Service Corporation/ Center for Outcomes Research and Evaluation
Endorsed By | National Quality Forum
Description |
    This logic is intended to extract electronic clinical data. This is not an electronic clinical quality measure and this logic will not produce measure results. Instead, it will produce a file containing the data that CMS will link with administrative claims to risk adjust the Hybrid HWR outcome measure. It is designed to extract the first resulted set of vital signs and basic laboratory results obtained from encounters for adult Medicare Fee-For-Service patients admitted to acute care short stay hospitals.
Copyright |
    Limited proprietary coding is contained in these specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets.

    This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2020 International Health Terminology Standards Development Organisation. All rights reserved.

    LOINC(R) copyright 2004-2020 Regenstrief Institute, Inc.
Disclaimer |
    These performance specifications 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 “AS IS” WITHOUT WARRANTY OF ANY KIND.

    Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].
Measure Scoring | Cohort
Measure Type |
Stratification |
    None
Risk Adjustment |
    For a detailed description of how the core clinical data elements are used in the Hybrid HWR measure risk adjustment model, see the Hybrid HWR Measure with Electronic Health Record Extracted Risk Factors Specifications Report on QualityNet.org here:
    https://qualitynet.cms.gov/inpatient/measures/hybrid/methodology
Rate Aggregation |
    None
Rationale |
    The intent of this logic is to extract the FIRST set of clinical data elements from hospital electronic health records (EHRs) for all qualifying encounters. The data will be linked with administrative claims to risk adjust the Hybrid HWR outcome measure. This work addresses stakeholder concerns that clinical data garnered from patients, and used by clinicians to guide diagnostic decisions and treatment, are preferable to administrative claims data when profiling hospitals' case mix. We are calling the list of data elements for extraction the "HWR-specific core clinical data elements". The core clinical data elements are the first set of vital signs and basic laboratory tests resulted from encounters for adult Medicare Fee-For-Service patients, age 65 or older (Initial Population), after they arrive at the hospital to which they are subsequently admitted. For example, this first set of data values are often captured in the emergency department or in the pre-operative area, sometimes hours before a patient is admitted to that same facility.

    These data elements were selected because they: 1. reflect patients' clinical status when they first present to the hospital, 2. are clinically and statistically relevant to patient outcomes, 3. are consistently obtained on adult inpatient encounters based on current clinical practice, 4. are captured with a standard definition and recorded in a standard format across providers, and 5. are entered in structured fields that are feasibly retrieved from current EHR systems. Additional data called Linking Variables are used to link EHR data files with administrative claims data for CMS to calculate results for the Hybrid HWR measure, which are: CMS Certification Number, Health Insurance Claim Number (HICN) or Medicare Beneficiary Identifier (MBI), date of birth, sex, admission date, and discharge date.
Clinical Recommendation Statement |
    The logic is not meant to guide or alter the care patients receive. The purpose of this core clinical data elements logic is to extract clinical data that are already routinely captured in EHRs from encounters for hospitalized adult patients. It is not intended to require that clinical staff perform additional measurements or tests that are not needed for diagnostic assessment or treatment of patients.
Improvement Notation |
    No actual measure score will be generated by hospitals. Instead hospitals will report the data values for each of the core clinical data elements for all encounters in the Initial Population. These core clinical data elements will be linked to administrative claims data and used by CMS to calculate results for the Hybrid HWR measure.
Reference |
Definition |
    HWR-Specific Core Clinical Data Elements
Guidance |
    These specifications are for use for data with discharges that occur between July 1, 2022 and June 30, 2023. The associated Hospital Specific Report (HSR) is anticipated to be released in Spring 2024.

    This logic guides the user to extract the FIRST resulted HWR-specific core clinical data elements for all Medicare Fee-For-Service encounters for patients age 65 or older (Initial Population) directly admitted to the hospital or admitted to the same facility after being treated in another area such as the emergency department or hospital outpatient location.

    The logic supports extraction of the FIRST set of HWR-specific core clinical data elements in two different ways depending on if the patient was a direct admission, meaning that the patient was admitted directly to an inpatient unit without first receiving care in the emergency department or other hospital outpatient locations within the same admitting facility:

    1. If the patient was a direct admission, the logic supports extraction of the FIRST resulted vital signs within 2 hours (120 minutes) after the start of the inpatient admission, and the FIRST resulted laboratory tests within 24 hours (1440 minutes) after the start of the inpatient admission.
    2. If the patient has values captured prior to admission, for example from the emergency department, pre-operative, or other outpatient area within the hospital, the logic supports extraction of the FIRST resulted vital signs and laboratory tests within 24 hours (1440 minutes) PRIOR to the start of the inpatient admission. All clinical systems used in inpatient and outpatient locations within the hospital facility should be queried when looking for core clinical data element values related to a patient who is subsequently admitted.

    Value sets for the laboratory tests represent the LOINC codes currently available for these tests. If the institution is using local codes to capture and store relevant laboratory test data, those sites should map that information to the LOINC code for reporting of the core clinical data elements.

    NOTE: Do not report ALL values on an encounter during their entire admission. Only report the FIRST resulted value for EACH core clinical data element collected in the appropriate timeframe, if available.

    For each encounter please also submit the following Linking Variables:
    CMS Certification Number,
    Health Insurance Claim Number (HICN) or Medicare Beneficiary Identifier (MBI),
    Date of Birth,
    Sex,
    Inpatient Admission Date, and
    Discharge Date.

    This version of the specifications uses Quality Data Model (QDM) version 5.5. Please refer to the Electronic Clinical Quality Improvement (eCQI) Resource Center (https://ecqi.healthit.gov/qdm) for more information on the QDM.
Transmission Format |
    TBD
Initial Population |
    All Medicare Fee-For-Service encounters age 65 and older at the start of an inpatient admission, who are discharged during the measurement period (length of stay <365 days).

    NOTE: All Medicare Fee-For-Service encounters meeting the above criteria should be included, regardless if Medicare Fee-For-Service is the primary, secondary, or tertiary payer.
Supplemental Data Elements |
    For encounters in the Initial Population, report the FIRST value for vital signs resulted within the 24 hours prior to the inpatient admission. If no values were resulted in the 24 hours prior to the admission (for example, for patients directly admitted to the hospital), report the first value resulted within 2 hours after the start of the inpatient admission.
    For laboratory test results, report the first value resulted within the 24 hours prior to admission. If there are no values in the 24 hours prior to admission, report the first value resulted within 24 hours after the start of the inpatient admission.
    First values for the core clinical data elements may be resulted in the emergency department or other hospital outpatient locations within the hospital facility before a patient is subsequently admitted to the same hospital. First values for these data elements may also be resulted in an inpatient location for directly admitted patients who do not receive care in the emergency department or other hospital outpatient locations before admission.

    The core clinical data elements are as follows:
    Heart rate
    Systolic blood pressure
    Respiratory rate
    Temperature
    Oxygen saturation
    Weight
    Hematocrit
    White blood cell count
    Potassium
    Sodium
    Bicarbonate (or carbon dioxide, see Bicarbonate Lab Test value set)
    Creatinine
    Glucose

    NOTE: Do not report ALL values on an encounter during their entire admission. Only report the FIRST resulted value for EACH core clinical data element collected in the appropriate timeframe, if available.

    For every patient in the Initial Population, also identify payer, race, ethnicity and sex.

## Table of Contents

- Population Criteria
- Definitions
- Functions
- Terminology
- Data Criteria (QDM Data Elements)
- Supplemental Data Elements
- Risk Adjustment Variables

### Population Criteria

- - Initial Population

    - -     "Inpatient Encounters"

- - Stratification

    - -     None

### Definitions

- - Initial Population

    - -     "Inpatient Encounters"

  - Inpatient Encounters

    - -     from
              ["Encounter, Performed": "Encounter Inpatient"] InpatientEncounter,
              ["Patient Characteristic Payer": "Medicare payer"] Payer,
              ["Patient Characteristic Birthdate": "Birth date"] BirthDate
              where Global."HospitalizationWithObservationLengthofStay" ( InpatientEncounter ) < 365
                and InpatientEncounter.relevantPeriod ends during day of "Measurement Period"
                and Global."CalendarAgeInYearsAt" ( BirthDate.birthDatetime, start of InpatientEncounter.relevantPeriod ) >= 65
              return InpatientEncounter

  - Results

    - -     {
            // First physical exams
              FirstHeartRate: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Heart rate"]),
              FirstSystolicBloodPressure: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Systolic blood pressure"]),
              FirstRespiratoryRate: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Respiratory rate"]),
              FirstBodyTemperature: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Body temperature"]),
              FirstOxygenSaturation: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Oxygen saturation in Arterial blood by Pulse oximetry"]),
            // Weight uses lab test timing
              FirstBodyWeight: "FirstPhysicalExamWithEncounterIdUsingLabTiming"(["Physical Exam, Performed": "Body weight"]),

            // First lab tests
              FirstHematocritLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Hematocrit lab test"]),
              FirstWhiteBloodCellCount: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "White blood cells count lab test"]),
              FirstPotassiumLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Potassium lab test"]),
              FirstSodiumLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Sodium lab test"]),
              FirstBicarbonateLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Bicarbonate lab test"]),
              FirstCreatinineLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Creatinine lab test"]),
              FirstGlucoseLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Glucose lab test"])
            }

  - SDE Ethnicity

    - -     ["Patient Characteristic Ethnicity": "Ethnicity"]

  - SDE Payer

    - -     ["Patient Characteristic Payer": "Payer"]

  - SDE Race

    - -     ["Patient Characteristic Race": "Race"]

  - SDE Sex

    - -     ["Patient Characteristic Sex": "ONC Administrative Sex"]

### Functions

- - FirstLabTestWithEncounterId(LabList List<QDM.PositiveLaboratoryTestPerformed>)

    - -     "Inpatient Encounters" Encounter
              let FirstLab: First(LabList Lab
                  where Lab.resultDatetime during Interval[start of Encounter.relevantPeriod - 1440 minutes, start of Encounter.relevantPeriod + 1440 minutes]
                  sort by resultDatetime
              )
              return {
                EncounterId: Encounter.id,
                FirstResult: FirstLab.result as Quantity,
                Timing: FirstLab.resultDatetime
              }

  - FirstPhysicalExamWithEncounterId(ExamList List<QDM.PositivePhysicalExamPerformed>)

    - -     "Inpatient Encounters" Encounter
              let FirstExam: First(ExamList Exam
                  where Global."EarliestOf"(Exam.relevantDatetime, Exam.relevantPeriod)during Interval[start of Encounter.relevantPeriod - 1440 minutes, start of Encounter.relevantPeriod + 120 minutes]
                  sort by Global."EarliestOf"(relevantDatetime, relevantPeriod)
              )
              return {
                EncounterId: Encounter.id,
                FirstResult: FirstExam.result as Quantity,
                Timing: Global."EarliestOf" ( FirstExam.relevantDatetime, FirstExam.relevantPeriod )
              }

  - FirstPhysicalExamWithEncounterIdUsingLabTiming(ExamList List<QDM.PositivePhysicalExamPerformed>)

    - -     "Inpatient Encounters" Encounter
              let FirstExamWithLabTiming: First(ExamList Exam
                  where Global."EarliestOf"(Exam.relevantDatetime, Exam.relevantPeriod)during Interval[start of Encounter.relevantPeriod - 1440 minutes, start of Encounter.relevantPeriod + 1440 minutes]
                  sort by Global."EarliestOf"(relevantDatetime, relevantPeriod)
              )
              return {
                EncounterId: Encounter.id,
                FirstResult: FirstExamWithLabTiming.result as Quantity,
                Timing: Global."EarliestOf" ( FirstExamWithLabTiming.relevantDatetime, FirstExamWithLabTiming.relevantPeriod )
              }

  - Global.CalendarAgeInYearsAt(BirthDateTime DateTime, AsOf DateTime)

    - -     years between ToDate(BirthDateTime)and ToDate(AsOf)

  - Global.Earliest(period Interval<DateTime>)

    - -     if ( HasStart(period)) then start of period
              else
            end of period

  - Global.EarliestOf(pointInTime DateTime, period Interval<DateTime>)

    - -     Earliest(NormalizeInterval(pointInTime, period))

  - Global.HasStart(period Interval<DateTime>)

    - -     not ( start of period is null
                or start of period = minimum DateTime
            )

  - Global.HospitalizationWithObservation(Encounter "Encounter, Performed")

    - -     Encounter Visit
            	let ObsVisit: Last(["Encounter, Performed": "Observation Services"] LastObs
            			where LastObs.relevantPeriod ends 1 hour or less on or before start of Visit.relevantPeriod
            			sort by
            			end of relevantPeriod
            	),
            	VisitStart: Coalesce(start of ObsVisit.relevantPeriod, start of Visit.relevantPeriod),
            	EDVisit: Last(["Encounter, Performed": "Emergency Department Visit"] LastED
            			where LastED.relevantPeriod ends 1 hour or less on or before VisitStart
            			sort by
            			end of relevantPeriod
            	)
            	return Interval[Coalesce(start of EDVisit.relevantPeriod, VisitStart),
            	end of Visit.relevantPeriod]

  - Global.HospitalizationWithObservationLengthofStay(Encounter "Encounter, Performed")

    - -     "LengthInDays"("HospitalizationWithObservation"(Encounter))

  - Global.LengthInDays(Value Interval<DateTime>)

    - -     difference in days between start of Value and end of Value

  - Global.NormalizeInterval(pointInTime DateTime, period Interval<DateTime>)

    - -     if pointInTime is not null then Interval[pointInTime, pointInTime]
              else if period is not null then period
              else null as Interval<DateTime>

  - Global.ToDate(Value DateTime)

    - -     DateTime(year from Value, month from Value, day from Value, 0, 0, 0, 0, timezoneoffset from Value)

### Terminology

- code "Birth date" ("LOINC Code (21112-8)")
- code "Heart rate" ("LOINC Code (8867-4)")
- code "Oxygen saturation in Arterial blood by Pulse oximetry" ("LOINC Code (59408-5)")
- code "Respiratory rate" ("LOINC Code (9279-1)")
- code "Systolic blood pressure" ("LOINC Code (8480-6)")
- valueset "Bicarbonate lab test" (2.16.840.1.113762.1.4.1045.139)
- valueset "Body temperature" (2.16.840.1.113762.1.4.1045.152)
- valueset "Body weight" (2.16.840.1.113762.1.4.1045.159)
- valueset "Creatinine lab test" (2.16.840.1.113883.3.666.5.2363)
- valueset "Emergency Department Visit" (2.16.840.1.113883.3.117.1.7.1.292)
- valueset "Encounter Inpatient" (2.16.840.1.113883.3.666.5.307)
- valueset "Ethnicity" (2.16.840.1.114222.4.11.837)
- valueset "Glucose lab test" (2.16.840.1.113762.1.4.1045.134)
- valueset "Hematocrit lab test" (2.16.840.1.113762.1.4.1045.114)
- valueset "Medicare payer" (2.16.840.1.113762.1.4.1104.10)
- valueset "Observation Services" (2.16.840.1.113762.1.4.1111.143)
- valueset "ONC Administrative Sex" (2.16.840.1.113762.1.4.1)
- valueset "Payer" (2.16.840.1.114222.4.11.3591)
- valueset "Potassium lab test" (2.16.840.1.113762.1.4.1045.117)
- valueset "Race" (2.16.840.1.114222.4.11.836)
- valueset "Sodium lab test" (2.16.840.1.113762.1.4.1045.119)
- valueset "White blood cells count lab test" (2.16.840.1.113762.1.4.1045.129)

### Data Criteria (QDM Data Elements)

- "Encounter, Performed: Emergency Department Visit" using "Emergency Department Visit (2.16.840.1.113883.3.117.1.7.1.292)"
- "Encounter, Performed: Encounter Inpatient" using "Encounter Inpatient (2.16.840.1.113883.3.666.5.307)"
- "Encounter, Performed: Observation Services" using "Observation Services (2.16.840.1.113762.1.4.1111.143)"
- "Laboratory Test, Performed: Bicarbonate lab test" using "Bicarbonate lab test (2.16.840.1.113762.1.4.1045.139)"
- "Laboratory Test, Performed: Creatinine lab test" using "Creatinine lab test (2.16.840.1.113883.3.666.5.2363)"
- "Laboratory Test, Performed: Glucose lab test" using "Glucose lab test (2.16.840.1.113762.1.4.1045.134)"
- "Laboratory Test, Performed: Hematocrit lab test" using "Hematocrit lab test (2.16.840.1.113762.1.4.1045.114)"
- "Laboratory Test, Performed: Potassium lab test" using "Potassium lab test (2.16.840.1.113762.1.4.1045.117)"
- "Laboratory Test, Performed: Sodium lab test" using "Sodium lab test (2.16.840.1.113762.1.4.1045.119)"
- "Laboratory Test, Performed: White blood cells count lab test" using "White blood cells count lab test (2.16.840.1.113762.1.4.1045.129)"
- "Patient Characteristic Birthdate: Birth date" using "Birth date (LOINC Code 21112-8)"
- "Patient Characteristic Ethnicity: Ethnicity" using "Ethnicity (2.16.840.1.114222.4.11.837)"
- "Patient Characteristic Payer: Medicare payer" using "Medicare payer (2.16.840.1.113762.1.4.1104.10)"
- "Patient Characteristic Payer: Payer" using "Payer (2.16.840.1.114222.4.11.3591)"
- "Patient Characteristic Race: Race" using "Race (2.16.840.1.114222.4.11.836)"
- "Patient Characteristic Sex: ONC Administrative Sex" using "ONC Administrative Sex (2.16.840.1.113762.1.4.1)"
- "Physical Exam, Performed: Body temperature" using "Body temperature (2.16.840.1.113762.1.4.1045.152)"
- "Physical Exam, Performed: Body weight" using "Body weight (2.16.840.1.113762.1.4.1045.159)"
- "Physical Exam, Performed: Heart rate" using "Heart rate (LOINC Code 8867-4)"
- "Physical Exam, Performed: Oxygen saturation in Arterial blood by Pulse oximetry" using "Oxygen saturation in Arterial blood by Pulse oximetry (LOINC Code 59408-5)"
- "Physical Exam, Performed: Respiratory rate" using "Respiratory rate (LOINC Code 9279-1)"
- "Physical Exam, Performed: Systolic blood pressure" using "Systolic blood pressure (LOINC Code 8480-6)"

### Supplemental Data Elements

- Results

  - -     {
          // First physical exams
            FirstHeartRate: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Heart rate"]),
            FirstSystolicBloodPressure: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Systolic blood pressure"]),
            FirstRespiratoryRate: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Respiratory rate"]),
            FirstBodyTemperature: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Body temperature"]),
            FirstOxygenSaturation: "FirstPhysicalExamWithEncounterId"(["Physical Exam, Performed": "Oxygen saturation in Arterial blood by Pulse oximetry"]),
          // Weight uses lab test timing
            FirstBodyWeight: "FirstPhysicalExamWithEncounterIdUsingLabTiming"(["Physical Exam, Performed": "Body weight"]),

          // First lab tests
            FirstHematocritLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Hematocrit lab test"]),
            FirstWhiteBloodCellCount: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "White blood cells count lab test"]),
            FirstPotassiumLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Potassium lab test"]),
            FirstSodiumLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Sodium lab test"]),
            FirstBicarbonateLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Bicarbonate lab test"]),
            FirstCreatinineLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Creatinine lab test"]),
            FirstGlucoseLab: "FirstLabTestWithEncounterId"(["Laboratory Test, Performed": "Glucose lab test"])
          }

- SDE Ethnicity

  - -     ["Patient Characteristic Ethnicity": "Ethnicity"]

- SDE Payer

  - -     ["Patient Characteristic Payer": "Payer"]

- SDE Race

  - -     ["Patient Characteristic Race": "Race"]

- SDE Sex

  - -     ["Patient Characteristic Sex": "ONC Administrative Sex"]

### Risk Adjustment Variables

- None

Measure Set |