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
Draft as of 2024-07-09 |
<Measure xmlns="http://hl7.org/fhir">
<id value="HospitalHarmAcuteKidneyInjuryFHIR"/>
<meta>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="grid dict">
<tr>
<th scope="row"><b>Title: </b></th>
<td style="padding-left: 4px;">Hospital Harm - Acute Kidney InjuryFHIR</td>
</tr>
<tr>
<th scope="row"><b>Id: </b></th>
<td style="padding-left: 4px;">HospitalHarmAcuteKidneyInjuryFHIR</td>
</tr>
<tr>
<th scope="row"><b>Version: </b></th>
<td style="padding-left: 4px;">0.0.001</td>
</tr>
<tr>
<th scope="row"><b>Url: </b></th>
<td style="padding-left: 4px;"><a href="Measure-HospitalHarmAcuteKidneyInjuryFHIR.html">Hospital Harm - Acute Kidney InjuryFHIR</a></td>
</tr>
<tr>
<th scope="row">
<b>
short-name identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>CMS832FHIR</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
version-independent identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
version-specific identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>urn:uuid:a54eee68-0449-4bf5-a687-32ae0a97e858</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
endorser (CMS Consensus Based Entity) identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>3713e</span>
</p>
</td>
</tr>
<tr>
<th scope="row">
<b>
publisher (CMS) identifier:
</b>
</th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>832FHIR</span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Effective Period: </b></th>
<td style="padding-left: 4px;">2025-01-01..2025-12-31</td>
</tr>
<tr>
<th scope="row"><b>Status: </b></th>
<td style="padding-left: 4px;">draft</td>
</tr>
<tr>
<th scope="row"><b>Publisher: </b></th>
<td style="padding-left: 4px;">Centers for Medicare & Medicaid Services (CMS)</td>
</tr>
<tr>
<th scope="row"><b>Author: </b></th>
<td style="padding-left: 4px;">American Institutes for Research (AIR)</td>
</tr>
<tr>
<th scope="row"><b>Description: </b></th>
<td style="padding-left: 4px;"><div><p>The measure assesses the number of inpatient hospitalizations for patients age 18 and older who have an acute kidney injury (stage 2 or greater) that occurred during the encounter. Acute kidney injury (AKI) stage 2 or greater is defined as a substantial increase in serum creatinine value, or by the initiation of kidney dialysis (continuous renal replacement therapy (CRRT), hemodialysis or peritoneal dialysis).</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Purpose: </b></th>
<td style="padding-left: 4px;"><div><p>UNKNOWN</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Copyright: </b></th>
<td style="padding-left: 4px;"><div><p>Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. American Institutes for Research(R), formerly IMPAQ International, disclaims all liability for use or accuracy of any third party codes contained in the specifications.</p>
<p>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.</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Disclaimer: </b></th>
<td style="padding-left: 4px;"><div><p>This performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.</p>
<p>THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</p>
<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Scoring: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>Proportion </span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Rationale: </b></th>
<td style="padding-left: 4px;"><div><p>This measure focuses on stage 2 or greater acute kidney injury as an outcome in the hospital inpatient setting. The incidence of AKI in general hospitalized patients is 10%–20%, and among critically ill patients, the incidence of AKI has been reported as high as 45–50%; in cardiac surgery patients it ranges from 30%-50% (Thongprayoon et al., 2020). Less severe acute kidney injury and acute kidney injury requiring dialysis affect approximately 2,000 to 3,000 and 200 to 300 per million population per year, respectively. Acute kidney injury may result in the need for dialysis, and is associated with an increased risk of mortality (Schwager et al., 2023; Wilson et al., 2013).</p>
<p>While not all instances of acute kidney injury are avoidable and may be due to natural progression of underlying illness or a complication of a necessary treatment such as chemotherapy, a proportion of acute kidney injury cases are preventable and treatable. The Kidney Disease: Improving Global Outcomes (KDIGO) guidelines suggest careful management of hemodynamic status, fluids, and vasoactive medications for the prevention of acute kidney injury (KDIGO, 2012). Several studies identified through systematic literature searches developed or evaluated the effectiveness of acute kidney injury electronic alert systems (Schwager et al., 2023; Selby et al., 2012; Ahmed et al., 2015; Porter et al., 2014; Wilson et al., 2014; Kirkendall et al., 2014; Cho et al., 2012). These studies used data elements for defining acute kidney injury that were already present and populated in the electronic health record (EHR). For acute kidney injury diagnosis, all except two were limited to using serum creatinine levels, suggesting that this is the most reliable and consistently available electronic data element for defining acute kidney injury.</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Clinical recommendation statement: </b></th>
<td style="padding-left: 4px;"><div><p>Serum creatinine is an accepted proxy for acute kidney disease (Ostermann et al., 2020; KDIGO, 2012). It is cited by many guidelines for defining and monitoring acute kidney injury (Lameire et al., 2021; Ostermann et al., 2020; Lopes & Jorge, 2013; KDIGO, 2012). eGFR equations that incorporate creatinine and cystatin C but omit race are more accurate and lead to smaller differences between Black participants and non-Black participants than new equations without race with either creatinine or cystatin C alone (Inker et al., 2021). As a result, a new race-neutral eGFR equation that that measures serum creatinine or cystatin C incorporate age, sex, and race to estimate measured GFR has been developed and is recommended by the Task Force from the National Kidney Foundation and American Society of Nephrology (Inker et al., 2021; Diao et al., 2021; Delgado et al., 2021; Delgado et al., 2022). It was recommended by the Task Force to use within the measure a Chronic Kidney Disease Epidemiology Collaboration (CKD-EPI) creatinine equation refit without the race variable. This functionality has been available to all laboratories in the United States (Delgado et al., 2021; Delgado et al., 2022), and has acceptable performance characteristics and potential consequences that do not disproportionately affect any one group of individuals.</p>
<p>The KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:</p>
<p>FLUIDS
3.1.1: In the absence of hemorrhagic shock, we suggest using isotonic crystalloids rather than colloids (albumin or starches) as initial management for expansion of intravascular volume in patients at risk for acute kidney injury or with acute kidney injury. (Level 2, grade B)</p>
<p>VASOPRESSORS
3.1.2: We recommend the use of vasopressors in conjunction with fluids in patients with vasomotor shock with, or at risk for, acute kidney injury. (Level 1, grade C)</p>
<p>PROTOCOLIZED HEMODYNAMIC MANAGEMENT
3.1.3: We suggest using protocol-based management of hemodynamic and oxygenation parameters to prevent development or worsening of acute kidney injury in high-risk patients in the perioperative setting (2C) or in patients with septic shock. (Level 2, grade C)</p>
<p>In April 2019, KDIGO held a follow-up conference (Ostermann et al., 2020). The effectiveness of the 2012 KDIGO recommendations in preventing AKI was also noted to have been confirmed in small single-center randomized controlled trials (RCTs), such as the Prevention of AKI (PrevAKI) and the Biomarker Guided Intervention for Prevention of AKI (BigpAK) studies (Meersch et al., 2017; Göcze et al., 2018). In addition, results of RCTs have provided new data relevant to several facets of preventing and managing AKI, including early resuscitation, fluid therapy, prevention of contrast-associated AKI, and timing of acute renal replacement therapy (RRT) (Kellum et al., 2016; Nijssen et al., 2017; Self et al., 2018; Zarbock et al, 2016; Gaudry et al., 2016; Barbar et al., 2018).</p>
</div></td>
</tr>
<tr>
<th scope="row"><b>Guidance (Usage): </b></th>
<td style="padding-left: 4px;">A patient characteristic of male or female sex is required as part of the initial population criteria, as sex is crucial to this measure. For example:
- The eGFR estimating equation that is used to identify AKI is sex-specific; and
- The reference ranges for the serum creatinine value are sex-specific, which matters because the serum creatinine must rise to a sex-specific abnormal value to be flagged as AKI.
Exclude encounters that do not have at least two serum creatine values within 48 hours of arrival. Two values are needed within this timeframe to determine if the patient has AKI or moderate-to-severe renal dysfunction on arrival.
For encounters that show no patients with identified harm of 2.0 increase in serum creatinine, query for initiation of renal dialysis during hospitalization, defined by the start of dialysis occurring during the encounter.
- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.
- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.
Encounters for patients with an increase in serum creatinine value of at least 0.3 mg/dL between the index serum creatinine and any subsequent serum creatinine taken within 48 hours of the encounter start are excluded. Due to the variability of decimal precision within programming languages and calculation tools, the value of >=0.3 is expressed in the logic as >0.299.
Note the measure is currently confined to using mg/dL as the unit of measurement for creatinine and mL/min as the unit of measurement for eGFR results.
When reporting the first body temperature for risk adjustment, values from either Celsius or Fahrenheit readings are acceptable to report but Celsius readings are preferred. Celsius readings conform to the Fast Healthcare Interoperability Resources (FHIR) standard which will assist with future FHIR implementations.
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: CMS832v2.1.
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-Core4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html).</td>
</tr>
<tr>
<th scope="row"><b>Population Criteria: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>66437150f4fc785d87117044</b></th>
</tr>
<tr>
<td>Initial Population:</td>
<td>Inpatient hospitalizations that end during the measurement period for patients 18 years of age or older without an obstetrical or pregnancy related condition, with a length of stay of 48 hours or longer, and who had at least one serum creatinine value after 48 hours from the start of the hospitalization</td>
</tr>
<tr>
<td>Denominator:</td>
<td>Equals Initial Population</td>
</tr>
<tr>
<td>Denominator Exclusion:</td>
<td>Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL
between the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.
Inpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.
Inpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.
Inpatient hospitalizations for patients who have kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated 48 hours or less after the encounter start, and who do not have evidence of a 2 times increase in serum creatinine.
Inpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:
- Hemolytic Uremic Syndrome (HUS)
- Large Body Surface Area (BSA) Burns
- Traumatic Avulsion of Kidney
- Rapidly Progressive Nephritic Syndrome
- Thrombotic Thrombocytopenic Purpura
- Out of Hospital Cardiac Arrest (OHCA)
Inpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:
- Extracorporeal membrane oxygenation (ECMO)
- Intra-Aortic Balloon Pump
- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)
- Nephrectomy</td>
</tr>
<tr>
<td>Numerator:</td>
<td>Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:
A subsequent increase in serum creatinine value at least 2 times higher than the lowest serum creatinine value, and the increased value is greater than the highest sex-specific normal value for serum creatinine.
Or:
Kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated more than 48 hours after the start of the encounter. Evidence of a 2 times increase in serum creatinine is not required.
Only one harm is counted per encounter.</td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Libraries: </b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<td><a href="Library-HospitalHarmAcuteKidneyInjuryFHIR.html">HospitalHarmAcuteKidneyInjuryFHIR</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Terminology and Other Dependencies: </b></th>
<td style="padding-left: 4px;">
<li><code>Library/FHIRHelpers|4.4.000</code></li>
<li><code>Library/CQMCommon|2.2.000</code></li>
<li><code>Library/QICoreCommon|2.1.000</code></li>
<li><a href="http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html">Observation Category Codes</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion">Encounter Inpatient</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1111.143/expansion">Observation Services</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.117.1.7.1.292/expansion">Emergency Department Visit</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.21/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.33/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.199/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.12/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12</a></li>
<li><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.19/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19</a></li>
</td>
</tr>
<tr>
<th scope="row"><b>Parameters:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>name</b></th>
<th><b>use</b></th>
<th><b>min</b></th>
<th><b>max</b></th>
<th><b>type</b></th>
</tr>
<tr>
<td>Measurement Period</td>
<td>In</td>
<td>0</td>
<td>1</td>
<td>Period</td>
</tr>
<tr>
<td>Numerator</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Denominator</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Initial Population</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
<tr>
<td>Denominator Exclusion</td>
<td>Out</td>
<td>0</td>
<td>*</td>
<td>Resource</td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>DataRequirements:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>Resource Type</b></th>
<th><b>Resource Elements</b></th>
<th><b>Valueset Name</b></th>
<th><b>Valueset</b></th>
</tr>
<tr>
<td>Patient(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-patient.html">QICorePatient</a>)</td>
<td>
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
condition
condition.reference
condition.reference.value
id
id.value
</td>
<td>
Observation Services
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1111.143/expansion">Observation Services</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
status
status.value
period
condition
condition.reference
condition.reference.value
id
id.value
</td>
<td>
Emergency Department Visit
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.117.1.7.1.292/expansion">Emergency Department Visit</a></td>
</tr>
<tr>
<td>Encounter(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html">QICoreEncounter</a>)</td>
<td>
type
period
condition
condition.reference
condition.reference.value
id
id.value
</td>
<td>
Encounter Inpatient
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion">Encounter Inpatient</a></td>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
code
effective
value
status
status.value
id
id.value
issued
issued.value
</td>
<td>
Creatinine Mass Per Volume
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.21/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</a></td>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
code
effective
status
status.value
value
id
id.value
</td>
<td>
Creatinine Mass Per Volume
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.21/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</a></td>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
code
effective
status
status.value
value
id
id.value
</td>
<td>
Creatinine Mass Per Volume
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.21/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</a></td>
</tr>
<tr>
<td>Observation(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html">QICoreObservation</a>)</td>
<td>
code
effective
status
status.value
value
id
id.value
</td>
<td>
Creatinine Mass Per Volume
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.21/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</a></td>
</tr>
<tr>
<td>Condition(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html">QICoreCondition</a>)</td>
<td>
id
id.value
code
</td>
<td>
</td>
<td/>
</tr>
<tr>
<td>Procedure(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html">QICoreProcedure</a>)</td>
<td>
code
performed
</td>
<td>
Hospital Based Dialysis Services
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.199/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</a></td>
</tr>
<tr>
<td>Procedure(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html">QICoreProcedure</a>)</td>
<td>
code
performed
</td>
<td>
Hospital Based Dialysis Services
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.199/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</a></td>
</tr>
<tr>
<td>Procedure(<a href="http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html">QICoreProcedure</a>)</td>
<td>
code
performed
</td>
<td>
High Risk Procedures for AKI
</td>
<td><a href="https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1248.19/expansion">http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Direct Reference Codes:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>display</b></th>
<th><b>code</b></th>
<th><b>system</b></th>
</tr>
<tr>
<td>Laboratory</td>
<td>laboratory</td>
<td><a href="http://hl7.org/fhir/R4/codesystem-observation-category.html">http://terminology.hl7.org/CodeSystem/observation-category</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<th scope="row"><b>Logic Definitions:</b></th>
<td style="padding-left: 4px;">
<table class="grid-dict">
<tr>
<th><b>Group</b></th>
<th><b>Scoring</b></th>
<th><b>Population Criteria</b></th>
<th><b>Expression</b></th>
</tr>
<tr>
<td> 66437150f4fc785d87117044 </td>
<td colspan="3" style="padding-left: 4px;">
<b>Group scoring:</b>
<span> proportion </span>
<b>Measure scoring:</b>
<p style="margin-bottom: 5px;">
<span>Proportion</span>
</p>
<tr>
<th scope="row"><b>Type: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>Outcome </span>
</p>
</td>
</tr>
<tr>
<th scope="row"><b>Rate Aggregation: </b></th>
<td colspan="3" style="padding-left: 4px;">None</td>
</tr>
<tr>
<th scope="row"><b>Improvement Notation: </b></th>
<td style="padding-left: 4px;">
<p style="margin-bottom: 5px;">
<span>increase </span>
</p>
</td>
</tr>
</td>
<tr>
<td/>
<td/>
<td>Initial Population</td>
<td>
<pre><code class="language-cql">define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions"</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Denominator</td>
<td>
<pre><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Denominator Exclusion</td>
<td>
<pre><code class="language-cql">define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"
union "Encounter with Index eGFR Less Than 60 within First 48 Hours"
union "Encounter with 0.3 mg dL or More Increase in Creatinine"
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"
union "Encounter with High Risk Diagnosis for AKI"
union "Encounter with High Risk Procedures for AKI"</code></pre>
</td>
</tr>
<tr>
<td/>
<td/>
<td>Numerator</td>
<td>
<pre><code class="language-cql">define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase"
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>
</td>
</tr>
</tr>
</table>
<table class="grid-dict">
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Age 18 and Length of Stay 48 Hours or More</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Inpatient Encounter with Creatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Inpatient Encounter with Creatinine":
from
"Encounter with Age 18 and Length of Stay 48 Hours or More" Encounter48Hours,
["Observation": "Creatinine Mass Per Volume"] CreatinineTest
let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),
CreatinineTestStart: CreatinineTest.effective.earliest ( )
where CreatinineTest.value is not null
and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return Encounter48Hours</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Creatinine and without Obstetrical Conditions</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Creatinine and without Obstetrical Conditions":
"Inpatient Encounter with Creatinine" EncounterWithCreatinine
where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis
where EncounterDiagnosis.code in "Obstetrics and VTE Obstetrics"
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Serum Creatinine Normal</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Serum Creatinine Normal":
if ( Patient.gender = 'female' ) then 1.02 'mg/dL'
else if ( Patient.gender = 'male' ) then 1.18 'mg/dL'
else null</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Qualifying Creatinine Lab Result by Time</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Qualifying Creatinine Lab Result by Time":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] CreatinineTestByTime
let CrEncId: QualifyingEncounter.id,
CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),
CrLabId: CreatinineTestByTime.id,
CrTime: CreatinineTestByTime.effective.earliest ( ),
CrTimeIssued: CreatinineTestByTime.issued,
CrResult: CreatinineTestByTime.value as Quantity,
CrResultValue: CrResult.value,
CrResultUnit: CrResult.unit
where CrTime during CrHospPeriod
and CreatinineTestByTime.isLaboratory ( )
and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }
and CrResultUnit = 'mg/dL'
and CreatinineTestByTime.value is not null
and CreatinineTestByTime.value as Quantity > 0 'mg/dL'
return Tuple {
CrEncInPtId: CrEncId,
CrHospitalization: CrHospPeriod,
CrLabObsId: CrLabId,
// LabCategory: CreatinineTestByQuantity.isLaboratory(),
CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory'
else CreatinineTestByTime.isLaboratory ( ),
CrLabObsStatus: CreatinineTestByTime.status,
CrLabResult: CrResult,
CrLabResultUnit: CrResultUnit,
CrLabResultValue: CrResultValue,
CrLabTime: CrTime,
CrLabTimeIssued: CrTimeIssued
}
sort by CrLabTime</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with 1.5 Times Serum Creatinine Increase</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(QualifyingEncounter)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and "1.5IncreaseInCreatinine"(QualifyingEncounter) >= LowCreatinineTest.value
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with 2 Times Serum Creatinine Increase</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with 2 Times Serum Creatinine Increase":
from
"Encounter with 1.5 Times Serum Creatinine Increase" EncounterWithHighCreatinine,
["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(EncounterWithHighCreatinine)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(EncounterWithHighCreatinine)
and ( "2.0IncreaseInCreatinine"(EncounterWithHighCreatinine) as Quantity ) >= ( LowCreatinineTest.value as Quantity )
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return EncounterWithHighCreatinine</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival" EncounterWithDialysisAfter48Hours
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )
)
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Numerator</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase"
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Initial Population</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Denominator</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where ( Count("CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter)) < 2 )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Male Encounter with eGFR Less Than 60</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Male Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "MaleeGFR"(QualifyingEncounter) is not null
and "MaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Female Encounter with eGFR Less Than 60</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Female Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "FemaleeGFR"(QualifyingEncounter) is not null
and "FemaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Index eGFR Less Than 60 within First 48 Hours</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Index eGFR Less Than 60 within First 48 Hours":
"Male Encounter with eGFR Less Than 60"
union "Female Encounter with eGFR Less Than 60"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Increase of 0.3 or More Using Lowest Creatinine within 24 Hours</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Increase of 0.3 or More Using First Creatinine within First 48 Hours</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Increase of 0.3 or More Using First Creatinine within First 48 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value as Quantity = singleton from "EarliestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with 0.3 mg dL or More Increase in Creatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with 0.3 mg dL or More Increase in Creatinine":
Coalesce("Increase of 0.3 or More Using Lowest Creatinine within 24 Hours", "Increase of 0.3 or More Using First Creatinine within First 48 Hours")</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival" EncounterWithKidneyDialysis48HoursOrAfter
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )
)
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with High Risk Diagnosis for AKI</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with High Risk Diagnosis for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
where ( EncounterDiagnosis.code in "High Risk Diagnosis for AKI" )
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Encounter with High Risk Procedures for AKI</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Encounter with High Risk Procedures for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
with ["Procedure": "High Risk Procedures for AKI"] HighRiskProcedures
such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>Denominator Exclusion</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"
union "Encounter with Index eGFR Less Than 60 within First 48 Hours"
union "Encounter with 0.3 mg dL or More Increase in Creatinine"
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"
union "Encounter with High Risk Diagnosis for AKI"
union "Encounter with High Risk Procedures for AKI"</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>CQMCommon</td>
<td>hospitalizationWithObservation</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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]</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>earliest</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@description: Given an interval, return the starting point if the interval has a starting boundary specified,
otherwise, return the ending point
*/
define fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):
(choice.toInterval()) period
return
if (period."hasStart"()) then start of period
else end of period</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>CQMCommon</td>
<td>encounterDiagnosis</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@description: Returns the Condition resources referenced by the diagnosis element of the Encounter
*/
define fluent function encounterDiagnosis(Encounter Encounter ):
Encounter.diagnosis D
return singleton from ([Condition] C where C.id = D.condition.reference.getId())</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>getId</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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, '/'))</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>HighestSerumCreatinineResult</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "HighestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Max((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>QICoreCommon</td>
<td>isLaboratory</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@description: Returns true if the given observation is a laboratory observation
*/
define fluent function isLaboratory(observation Observation):
exists (observation.category C
where C ~ "laboratory"
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>FHIRHelpers</td>
<td>ToConcept</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">/*
@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
}</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>LowestSerumCreatinineResult</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "LowestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>1.5IncreaseInCreatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">// following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)
define function "1.5IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 1.5</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>2.0IncreaseInCreatinine</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "2.0IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 2</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>CreatinineLabTestwithResultwithinFirst48Hours</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter Encounter):
from
["Observation": "Creatinine Mass Per Volume"] CreatinineTest
where CreatinineTest.value is not null
and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]
and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return CreatinineTest</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>MaleeGFR</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "MaleeGFR"(QualifyingEncounter Encounter):
if Patient.gender = 'male' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 0.302 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) )
else null</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>FemaleeGFR</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">// eGFR functions return as decimal value rather than Quantity
define function "FemaleeGFR"(QualifyingEncounter Encounter):
if Patient.gender = 'female' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 0.241 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) * 1.012 )
else null</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>EarliestSerumCreatinineResult</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "EarliestSerumCreatinineResult"(QualifyingEncounter Encounter):
from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where ( "EarliestSerumCreatinineTime"(QualifyingEncounter) = LabTests.CrLabTime )
return LabResult as Quantity</code></pre>
</td>
</tr>
<tr>
<th><b>Library Name</b></th>
<th><b>Name</b></th>
</tr>
<tr>
<td>HospitalHarmAcuteKidneyInjuryFHIR</td>
<td>EarliestSerumCreatinineTime</td>
</tr>
<tr>
<td/>
<td>
<pre class="highlight language-cql"><code class="language-cql">define function "EarliestSerumCreatinineTime"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabTime
)
)</code></pre>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
<code value="laboratory"/>
<display value="Laboratory"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Age 18 and Length of Stay 48 Hours or More"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Inpatient Encounter with Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="define "Inpatient Encounter with Creatinine":
from
"Encounter with Age 18 and Length of Stay 48 Hours or More" Encounter48Hours,
["Observation": "Creatinine Mass Per Volume"] CreatinineTest
let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),
CreatinineTestStart: CreatinineTest.effective.earliest ( )
where CreatinineTest.value is not null
and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return Encounter48Hours"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Creatinine and without Obstetrical Conditions"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Creatinine and without Obstetrical Conditions":
"Inpatient Encounter with Creatinine" EncounterWithCreatinine
where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis
where EncounterDiagnosis.code in "Obstetrics and VTE Obstetrics"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Serum Creatinine Normal"/>
</extension>
<extension url="statement">
<valueString
value="define "Serum Creatinine Normal":
if ( Patient.gender = 'female' ) then 1.02 'mg/dL'
else if ( Patient.gender = 'male' ) then 1.18 'mg/dL'
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Qualifying Creatinine Lab Result by Time"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Creatinine Lab Result by Time":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] CreatinineTestByTime
let CrEncId: QualifyingEncounter.id,
CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),
CrLabId: CreatinineTestByTime.id,
CrTime: CreatinineTestByTime.effective.earliest ( ),
CrTimeIssued: CreatinineTestByTime.issued,
CrResult: CreatinineTestByTime.value as Quantity,
CrResultValue: CrResult.value,
CrResultUnit: CrResult.unit
where CrTime during CrHospPeriod
and CreatinineTestByTime.isLaboratory ( )
and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }
and CrResultUnit = 'mg/dL'
and CreatinineTestByTime.value is not null
and CreatinineTestByTime.value as Quantity > 0 'mg/dL'
return Tuple {
CrEncInPtId: CrEncId,
CrHospitalization: CrHospPeriod,
CrLabObsId: CrLabId,
// LabCategory: CreatinineTestByQuantity.isLaboratory(),
CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory'
else CreatinineTestByTime.isLaboratory ( ),
CrLabObsStatus: CreatinineTestByTime.status,
CrLabResult: CrResult,
CrLabResultUnit: CrResultUnit,
CrLabResultValue: CrResultValue,
CrLabTime: CrTime,
CrLabTimeIssued: CrTimeIssued
}
sort by CrLabTime"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 1.5 Times Serum Creatinine Increase"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(QualifyingEncounter)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and "1.5IncreaseInCreatinine"(QualifyingEncounter) >= LowCreatinineTest.value
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 2 Times Serum Creatinine Increase"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with 2 Times Serum Creatinine Increase":
from
"Encounter with 1.5 Times Serum Creatinine Increase" EncounterWithHighCreatinine,
["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(EncounterWithHighCreatinine)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(EncounterWithHighCreatinine)
and ( "2.0IncreaseInCreatinine"(EncounterWithHighCreatinine) as Quantity ) >= ( LowCreatinineTest.value as Quantity )
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return EncounterWithHighCreatinine"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival" EncounterWithDialysisAfter48Hours
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase"
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine""/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions""/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where ( Count("CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter)) < 2 )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Male Encounter with eGFR Less Than 60"/>
</extension>
<extension url="statement">
<valueString
value="define "Male Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "MaleeGFR"(QualifyingEncounter) is not null
and "MaleeGFR"(QualifyingEncounter) as Decimal < 60"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Female Encounter with eGFR Less Than 60"/>
</extension>
<extension url="statement">
<valueString
value="define "Female Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "FemaleeGFR"(QualifyingEncounter) is not null
and "FemaleeGFR"(QualifyingEncounter) as Decimal < 60"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Index eGFR Less Than 60 within First 48 Hours"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Index eGFR Less Than 60 within First 48 Hours":
"Male Encounter with eGFR Less Than 60"
union "Female Encounter with eGFR Less Than 60""/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"/>
</extension>
<extension url="statement">
<valueString
value="define "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Increase of 0.3 or More Using First Creatinine within First 48 Hours"/>
</extension>
<extension url="statement">
<valueString
value="define "Increase of 0.3 or More Using First Creatinine within First 48 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value as Quantity = singleton from "EarliestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 0.3 mg dL or More Increase in Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with 0.3 mg dL or More Increase in Creatinine":
Coalesce("Increase of 0.3 or More Using Lowest Creatinine within 24 Hours", "Increase of 0.3 or More Using First Creatinine within First 48 Hours")"/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival" EncounterWithKidneyDialysis48HoursOrAfter
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Encounter with High Risk Diagnosis for AKI"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with High Risk Diagnosis for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
where ( EncounterDiagnosis.code in "High Risk Diagnosis for AKI" )
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Encounter with High Risk Procedures for AKI"/>
</extension>
<extension url="statement">
<valueString
value="define "Encounter with High Risk Procedures for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
with ["Procedure": "High Risk Procedures for AKI"] HighRiskProcedures
such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusion"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"
union "Encounter with Index eGFR Less Than 60 within First 48 Hours"
union "Encounter with 0.3 mg dL or More Increase in Creatinine"
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"
union "Encounter with High Risk Diagnosis for AKI"
union "Encounter with High Risk Procedures for AKI""/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="CQMCommon"/>
</extension>
<extension url="name">
<valueString value="hospitalizationWithObservation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="earliest"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Given an interval, return the starting point if the interval has a starting boundary specified,
otherwise, return the ending point
*/
define fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):
(choice.toInterval()) period
return
if (period."hasStart"()) then start of period
else end of period"/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="CQMCommon"/>
</extension>
<extension url="name">
<valueString value="encounterDiagnosis"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the Condition resources referenced by the diagnosis element of the Encounter
*/
define fluent function encounterDiagnosis(Encounter Encounter ):
Encounter.diagnosis D
return singleton from ([Condition] C where C.id = D.condition.reference.getId())"/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="getId"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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, '/'))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="HighestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="define function "HighestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Max((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="isLaboratory"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given observation is a laboratory observation
*/
define fluent function isLaboratory(observation Observation):
exists (observation.category C
where C ~ "laboratory"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@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
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="LowestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="define function "LowestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="1.5IncreaseInCreatinine"/>
</extension>
<extension url="statement">
<valueString
value="// following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)
define function "1.5IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 1.5"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="2.0IncreaseInCreatinine"/>
</extension>
<extension url="statement">
<valueString
value="define function "2.0IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 2"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="CreatinineLabTestwithResultwithinFirst48Hours"/>
</extension>
<extension url="statement">
<valueString
value="define function "CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter Encounter):
from
["Observation": "Creatinine Mass Per Volume"] CreatinineTest
where CreatinineTest.value is not null
and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]
and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return CreatinineTest"/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="MaleeGFR"/>
</extension>
<extension url="statement">
<valueString
value="define function "MaleeGFR"(QualifyingEncounter Encounter):
if Patient.gender = 'male' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 0.302 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) )
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="FemaleeGFR"/>
</extension>
<extension url="statement">
<valueString
value="// eGFR functions return as decimal value rather than Quantity
define function "FemaleeGFR"(QualifyingEncounter Encounter):
if Patient.gender = 'female' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 0.241 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) * 1.012 )
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="EarliestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="define function "EarliestSerumCreatinineResult"(QualifyingEncounter Encounter):
from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where ( "EarliestSerumCreatinineTime"(QualifyingEncounter) = LabTests.CrLabTime )
return LabResult as Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition">
<extension url="libraryName">
<valueString value="HospitalHarmAcuteKidneyInjuryFHIR"/>
</extension>
<extension url="name">
<valueString value="EarliestSerumCreatinineTime"/>
</extension>
<extension url="statement">
<valueString
value="define function "EarliestSerumCreatinineTime"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabTime
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library CQMCommon"/>
<resource value="Library/CQMCommon|2.2.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library QICoreCommon"/>
<resource value="Library/QICoreCommon|2.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ObservationCategoryCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Encounter Inpatient"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Observation Services"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Emergency Department Visit"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Creatinine Mass Per Volume"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Obstetrics and VTE Obstetrics"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospital Based Dialysis Services"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set High Risk Diagnosis for AKI"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set High Risk Procedures for AKI"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exclusion"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<mustSupport value="condition"/>
<mustSupport value="condition.reference"/>
<mustSupport value="condition.reference.value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"/>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<mustSupport value="condition"/>
<mustSupport value="condition.reference"/>
<mustSupport value="condition.reference.value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"/>
</codeFilter>
<codeFilter>
<path value="status.value"/>
<code>
<code value="finished"/>
</code>
</codeFilter>
<dateFilter>
<path value="period"/>
<valuePeriod>
<extension url="http://hl7.org/fhir/uv/crmi-analysisException">
<valueString
value="Error attempting to determine filter value: toFhirValue not implemented for Subtract"/>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="condition"/>
<mustSupport value="condition.reference"/>
<mustSupport value="condition.reference.value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</codeFilter>
<dateFilter>
<path value="period"/>
<valuePeriod>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-expression">
<valueExpression>
<language value="text/cql-identifier"/>
<expression value="Measurement Period"/>
</valueExpression>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<mustSupport value="issued"/>
<mustSupport value="issued.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<mustSupport value="code"/>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"/>
</codeFilter>
<dateFilter>
<path value="performed"/>
<valuePeriod>
<extension url="http://hl7.org/fhir/uv/crmi-analysisException">
<valueString
value="Error attempting to determine filter value: toFhirValue not implemented for Add"/>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"/>
</codeFilter>
<dateFilter>
<path value="performed"/>
<valuePeriod>
<extension url="http://hl7.org/fhir/uv/crmi-analysisException">
<valueString
value="Error attempting to determine filter value: toFhirValue not implemented for QueryLetRef"/>
</extension>
</valuePeriod>
</dateFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements" id="effective-data-requirements">
<valueReference>
<reference value="#effective-data-requirements"/>
</valueReference>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem">
<valueReference>
<reference value="Device/cqf-tooling"/>
</valueReference>
</extension>
<url
value="https://madie.cms.gov/Measure/HospitalHarmAcuteKidneyInjuryFHIR"/>
<identifier>
<use value="usual"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="short-name"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/shortName"/>
<value value="CMS832FHIR"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="version-independent"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="version-specific"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:a54eee68-0449-4bf5-a687-32ae0a97e858"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="endorser"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cbeId"/>
<value value="3713e"/>
<assigner>
<display value="CMS Consensus Based Entity"/>
</assigner>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type"/>
<code value="publisher"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cmsId"/>
<value value="832FHIR"/>
<assigner>
<display value="CMS"/>
</assigner>
</identifier>
<version value="0.0.001"/>
<name value="HospitalHarmAcuteKidneyInjuryFHIR"/>
<title value="Hospital Harm - Acute Kidney InjuryFHIR"/>
<status value="draft"/>
<experimental value="false"/>
<date value="2024-07-09T14:53:55+00:00"/>
<publisher value="Centers for Medicare & Medicaid Services (CMS)"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://www.cms.gov/"/>
</telecom>
</contact>
<description
value="The measure assesses the number of inpatient hospitalizations for patients age 18 and older who have an acute kidney injury (stage 2 or greater) that occurred during the encounter. Acute kidney injury (AKI) stage 2 or greater is defined as a substantial increase in serum creatinine value, or by the initiation of kidney dialysis (continuous renal replacement therapy (CRRT), hemodialysis or peritoneal dialysis)."/>
<purpose value="UNKNOWN"/>
<usage
value="A patient characteristic of male or female sex is required as part of the initial population criteria, as sex is crucial to this measure. For example:
- The eGFR estimating equation that is used to identify AKI is sex-specific; and
- The reference ranges for the serum creatinine value are sex-specific, which matters because the serum creatinine must rise to a sex-specific abnormal value to be flagged as AKI.
Exclude encounters that do not have at least two serum creatine values within 48 hours of arrival. Two values are needed within this timeframe to determine if the patient has AKI or moderate-to-severe renal dysfunction on arrival.
For encounters that show no patients with identified harm of 2.0 increase in serum creatinine, query for initiation of renal dialysis during hospitalization, defined by the start of dialysis occurring during the encounter.
- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.
- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.
Encounters for patients with an increase in serum creatinine value of at least 0.3 mg/dL between the index serum creatinine and any subsequent serum creatinine taken within 48 hours of the encounter start are excluded. Due to the variability of decimal precision within programming languages and calculation tools, the value of >=0.3 is expressed in the logic as >0.299.
Note the measure is currently confined to using mg/dL as the unit of measurement for creatinine and mL/min as the unit of measurement for eGFR results.
When reporting the first body temperature for risk adjustment, values from either Celsius or Fahrenheit readings are acceptable to report but Celsius readings are preferred. Celsius readings conform to the Fast Healthcare Interoperability Resources (FHIR) standard which will assist with future FHIR implementations.
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: CMS832v2.1.
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-Core4.1.1 (https://hl7.org/fhir/us/qicore/STU4.1.1/qdm-to-qicore.html)."/>
<copyright
value="Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. American Institutes for Research(R), formerly IMPAQ International, disclaims all liability for use or accuracy of any third party codes contained in the specifications.
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."/>
<effectivePeriod>
<start value="2025-01-01"/>
<end value="2025-12-31"/>
</effectivePeriod>
<author>
<name value="American Institutes for Research (AIR)"/>
<telecom>
<system value="url"/>
<value value="https://www.air.org"/>
</telecom>
</author>
<library
value="https://madie.cms.gov/Library/HospitalHarmAcuteKidneyInjuryFHIR"/>
<disclaimer
value="This performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.
THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM]."/>
<scoring>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</scoring>
<rationale
value="This measure focuses on stage 2 or greater acute kidney injury as an outcome in the hospital inpatient setting. The incidence of AKI in general hospitalized patients is 10%–20%, and among critically ill patients, the incidence of AKI has been reported as high as 45–50%; in cardiac surgery patients it ranges from 30%-50% (Thongprayoon et al., 2020). Less severe acute kidney injury and acute kidney injury requiring dialysis affect approximately 2,000 to 3,000 and 200 to 300 per million population per year, respectively. Acute kidney injury may result in the need for dialysis, and is associated with an increased risk of mortality (Schwager et al., 2023; Wilson et al., 2013).
While not all instances of acute kidney injury are avoidable and may be due to natural progression of underlying illness or a complication of a necessary treatment such as chemotherapy, a proportion of acute kidney injury cases are preventable and treatable. The Kidney Disease: Improving Global Outcomes (KDIGO) guidelines suggest careful management of hemodynamic status, fluids, and vasoactive medications for the prevention of acute kidney injury (KDIGO, 2012). Several studies identified through systematic literature searches developed or evaluated the effectiveness of acute kidney injury electronic alert systems (Schwager et al., 2023; Selby et al., 2012; Ahmed et al., 2015; Porter et al., 2014; Wilson et al., 2014; Kirkendall et al., 2014; Cho et al., 2012). These studies used data elements for defining acute kidney injury that were already present and populated in the electronic health record (EHR). For acute kidney injury diagnosis, all except two were limited to using serum creatinine levels, suggesting that this is the most reliable and consistently available electronic data element for defining acute kidney injury."/>
<clinicalRecommendationStatement
value="Serum creatinine is an accepted proxy for acute kidney disease (Ostermann et al., 2020; KDIGO, 2012). It is cited by many guidelines for defining and monitoring acute kidney injury (Lameire et al., 2021; Ostermann et al., 2020; Lopes & Jorge, 2013; KDIGO, 2012). eGFR equations that incorporate creatinine and cystatin C but omit race are more accurate and lead to smaller differences between Black participants and non-Black participants than new equations without race with either creatinine or cystatin C alone (Inker et al., 2021). As a result, a new race-neutral eGFR equation that that measures serum creatinine or cystatin C incorporate age, sex, and race to estimate measured GFR has been developed and is recommended by the Task Force from the National Kidney Foundation and American Society of Nephrology (Inker et al., 2021; Diao et al., 2021; Delgado et al., 2021; Delgado et al., 2022). It was recommended by the Task Force to use within the measure a Chronic Kidney Disease Epidemiology Collaboration (CKD-EPI) creatinine equation refit without the race variable. This functionality has been available to all laboratories in the United States (Delgado et al., 2021; Delgado et al., 2022), and has acceptable performance characteristics and potential consequences that do not disproportionately affect any one group of individuals.
The KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:
FLUIDS
3.1.1: In the absence of hemorrhagic shock, we suggest using isotonic crystalloids rather than colloids (albumin or starches) as initial management for expansion of intravascular volume in patients at risk for acute kidney injury or with acute kidney injury. (Level 2, grade B)
VASOPRESSORS
3.1.2: We recommend the use of vasopressors in conjunction with fluids in patients with vasomotor shock with, or at risk for, acute kidney injury. (Level 1, grade C)
PROTOCOLIZED HEMODYNAMIC MANAGEMENT
3.1.3: We suggest using protocol-based management of hemodynamic and oxygenation parameters to prevent development or worsening of acute kidney injury in high-risk patients in the perioperative setting (2C) or in patients with septic shock. (Level 2, grade C)
In April 2019, KDIGO held a follow-up conference (Ostermann et al., 2020). The effectiveness of the 2012 KDIGO recommendations in preventing AKI was also noted to have been confirmed in small single-center randomized controlled trials (RCTs), such as the Prevention of AKI (PrevAKI) and the Biomarker Guided Intervention for Prevention of AKI (BigpAK) studies (Meersch et al., 2017; Göcze et al., 2018). In addition, results of RCTs have provided new data relevant to several facets of preventing and managing AKI, including early resuscitation, fluid therapy, prevention of contrast-associated AKI, and timing of acute renal replacement therapy (RRT) (Kellum et al., 2016; Nijssen et al., 2017; Self et al., 2018; Zarbock et al, 2016; Gaudry et al., 2016; Barbar et al., 2018)."/>
<group id="66437150f4fc785d87117044">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
<valueCode value="Encounter"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type">
<valueCodeableConcept>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="outcome"/>
<display value="Outcome"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation">
<valueCode value="None"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
<display value="increase"/>
</coding>
</valueCodeableConcept>
</extension>
<population id="DA0D3694-7F57-4FB9-8410-1F64E44CA01E">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description
value="Inpatient hospitalizations that end during the measurement period for patients 18 years of age or older without an obstetrical or pregnancy related condition, with a length of stay of 48 hours or longer, and who had at least one serum creatinine value after 48 hours from the start of the hospitalization"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="624D8554-9CB0-4BF0-882D-05C4F88BCC2C">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
<display value="Denominator"/>
</coding>
</code>
<description value="Equals Initial Population"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="000FF050-D4A2-4C8B-8123-4538D35D5441">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
<display value="Denominator Exclusion"/>
</coding>
</code>
<description
value="Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL
between the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.
Inpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.
Inpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.
Inpatient hospitalizations for patients who have kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated 48 hours or less after the encounter start, and who do not have evidence of a 2 times increase in serum creatinine.
Inpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:
- Hemolytic Uremic Syndrome (HUS)
- Large Body Surface Area (BSA) Burns
- Traumatic Avulsion of Kidney
- Rapidly Progressive Nephritic Syndrome
- Thrombotic Thrombocytopenic Purpura
- Out of Hospital Cardiac Arrest (OHCA)
Inpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:
- Extracorporeal membrane oxygenation (ECMO)
- Intra-Aortic Balloon Pump
- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)
- Nephrectomy"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusion"/>
</criteria>
</population>
<population id="01644D07-D9F8-403E-A66D-109ABA29BB6E">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:
A subsequent increase in serum creatinine value at least 2 times higher than the lowest serum creatinine value, and the increased value is greater than the highest sex-specific normal value for serum creatinine.
Or:
Kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated more than 48 hours after the start of the encounter. Evidence of a 2 times increase in serum creatinine is not required.
Only one harm is counted per encounter."/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
</group>
</Measure>