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 |
{
"resourceType" : "Measure",
"id" : "HospitalHarmAcuteKidneyInjuryFHIR",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"🔗 ,
"http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">Hospital Harm - Acute Kidney InjuryFHIR</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">HospitalHarmAcuteKidneyInjuryFHIR</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.0.001</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Measure-HospitalHarmAcuteKidneyInjuryFHIR.html\">Hospital Harm - Acute Kidney InjuryFHIR</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n short-name identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>CMS832FHIR</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-independent identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n version-specific identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>urn:uuid:a54eee68-0449-4bf5-a687-32ae0a97e858</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n endorser (CMS Consensus Based Entity) identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>3713e</span>\n </p>\n \n </td>\n </tr>\n \n <tr>\n <th scope=\"row\">\n <b>\n \n \n publisher (CMS) identifier:\n \n \n </b>\n </th>\n\n <td style=\"padding-left: 4px;\">\n \n <p style=\"margin-bottom: 5px;\">\n <span>832FHIR</span>\n </p>\n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Effective Period: </b></th>\n <td style=\"padding-left: 4px;\">2025-01-01..2025-12-31</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">Centers for Medicare & Medicaid Services (CMS)</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Author: </b></th>\n <td style=\"padding-left: 4px;\">American Institutes for Research (AIR)</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <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>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Purpose: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>UNKNOWN</p>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Copyright: </b></th>\n <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>\n<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>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Disclaimer: </b></th>\n <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>\n<p>THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</p>\n<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Scoring: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion </span>\n </p>\n \n \n \n </td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rationale: </b></th>\n <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>\n<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>\n</div></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Clinical recommendation statement: </b></th>\n <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>\n<p>The KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:</p>\n<p>FLUIDS\n3.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>\n<p>VASOPRESSORS\n3.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>\n<p>PROTOCOLIZED HEMODYNAMIC MANAGEMENT\n3.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>\n<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>\n</div></td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Guidance (Usage): </b></th>\n <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:\n- The eGFR estimating equation that is used to identify AKI is sex-specific; and\n- 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.\n\nExclude 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.\n\nFor 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.\n- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.\n- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.\n\nEncounters 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.\n\nNote 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.\n\nWhen 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.\n\nThis eCQM is an episode-based measure. An episode is defined as each inpatient hospitalization or encounter that ends during the measurement period.\n\nThis FHIR-based measure has been derived from the QDM-based measure: CMS832v2.1.\n\nPlease 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>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Population Criteria: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n \n <tr>\n <th><b>66437150f4fc785d87117044</b></th>\n </tr>\n \n \n <tr>\n <td>Initial Population:</td>\n\n \n \n <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>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator:</td>\n\n \n \n <td>Equals Initial Population</td>\n \n \n\n </tr>\n \n <tr>\n <td>Denominator Exclusion:</td>\n\n \n \n <td>Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL\nbetween the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.\n\nInpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.\n\nInpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.\n\nInpatient 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.\n\nInpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:\n- Hemolytic Uremic Syndrome (HUS)\n- Large Body Surface Area (BSA) Burns\n- Traumatic Avulsion of Kidney\n- Rapidly Progressive Nephritic Syndrome\n- Thrombotic Thrombocytopenic Purpura\n- Out of Hospital Cardiac Arrest (OHCA)\n\nInpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:\n- Extracorporeal membrane oxygenation (ECMO)\n- Intra-Aortic Balloon Pump\n- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)\n- Nephrectomy</td>\n \n \n\n </tr>\n \n <tr>\n <td>Numerator:</td>\n\n \n \n <td>Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:\n\nA 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.\n\nOr:\n\nKidney 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.\n\nOnly one harm is counted per encounter.</td>\n \n \n\n </tr>\n \n \n </table>\n \n </td>\n </tr>\n \n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-HospitalHarmAcuteKidneyInjuryFHIR.html\">HospitalHarmAcuteKidneyInjuryFHIR</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Terminology and Other Dependencies: </b></th>\n <td style=\"padding-left: 4px;\">\n \n <li><code>Library/FHIRHelpers|4.4.000</code></li>\n \n <li><code>Library/CQMCommon|2.2.000</code></li>\n \n <li><code>Library/QICoreCommon|2.1.000</code></li>\n \n <li><a href=\"http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html\">Observation Category Codes</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion\">Encounter Inpatient</a></li>\n \n <li><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1111.143/expansion\">Observation Services</a></li>\n \n <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>\n \n <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>\n \n <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>\n \n <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>\n \n <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>\n \n <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>\n \n </td>\n </tr>\n <tr>\n <th scope=\"row\"><b>Parameters:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>name</b></th>\n <th><b>use</b></th>\n <th><b>min</b></th>\n <th><b>max</b></th>\n <th><b>type</b></th>\n </tr>\n \n <tr>\n <td>Measurement Period</td>\n <td>In</td>\n <td>0</td>\n <td>1</td>\n <td>Period</td>\n </tr>\n \n <tr>\n <td>Numerator</td>\n <td>Out</td>\n <td>0</td>\n <td>*</td>\n <td>Resource</td>\n </tr>\n \n <tr>\n <td>Denominator</td>\n <td>Out</td>\n <td>0</td>\n <td>*</td>\n <td>Resource</td>\n </tr>\n \n <tr>\n <td>Initial Population</td>\n <td>Out</td>\n <td>0</td>\n <td>*</td>\n <td>Resource</td>\n </tr>\n \n <tr>\n <td>Denominator Exclusion</td>\n <td>Out</td>\n <td>0</td>\n <td>*</td>\n <td>Resource</td>\n </tr>\n \n </table>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\"><b>DataRequirements:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>Resource Type</b></th>\n <th><b>Resource Elements</b></th>\n <th><b>Valueset Name</b></th>\n <th><b>Valueset</b></th>\n </tr>\n \n <tr>\n <td>Patient(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-patient.html\">QICorePatient</a>)</td>\n <td>\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n condition\n \n condition.reference\n \n condition.reference.value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Observation Services\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113762.1.4.1111.143/expansion\">Observation Services</a></td>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n status\n \n status.value\n \n period\n \n condition\n \n condition.reference\n \n condition.reference.value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Emergency Department Visit\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Encounter(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-encounter.html\">QICoreEncounter</a>)</td>\n <td>\n \n type\n \n period\n \n condition\n \n condition.reference\n \n condition.reference.value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Encounter Inpatient\n \n \n </td>\n <td><a href=\"https://vsac.nlm.nih.gov/valueset/2.16.840.1.113883.3.666.5.307/expansion\">Encounter Inpatient</a></td>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n value\n \n status\n \n status.value\n \n id\n \n id.value\n \n issued\n \n issued.value\n \n </td>\n <td>\n \n \n Creatinine Mass Per Volume\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Creatinine Mass Per Volume\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Creatinine Mass Per Volume\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Observation(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-observation.html\">QICoreObservation</a>)</td>\n <td>\n \n code\n \n effective\n \n status\n \n status.value\n \n value\n \n id\n \n id.value\n \n </td>\n <td>\n \n \n Creatinine Mass Per Volume\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Condition(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-condition.html\">QICoreCondition</a>)</td>\n <td>\n \n id\n \n id.value\n \n code\n \n </td>\n <td>\n \n </td>\n <td/>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n </td>\n <td>\n \n \n Hospital Based Dialysis Services\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n </td>\n <td>\n \n \n Hospital Based Dialysis Services\n \n \n </td>\n <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>\n </tr>\n \n <tr>\n <td>Procedure(<a href=\"http://hl7.org/fhir/us/qicore/STU4.1.1/StructureDefinition-qicore-procedure.html\">QICoreProcedure</a>)</td>\n <td>\n \n code\n \n performed\n \n </td>\n <td>\n \n \n High Risk Procedures for AKI\n \n \n </td>\n <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>\n </tr>\n \n </table>\n </td>\n </tr>\n\n \n <tr>\n <th scope=\"row\"><b>Direct Reference Codes:</b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr>\n <th><b>display</b></th>\n <th><b>code</b></th>\n <th><b>system</b></th>\n </tr>\n \n <tr>\n <td>Laboratory</td>\n <td>laboratory</td>\n <td><a href=\"http://hl7.org/fhir/R4/codesystem-observation-category.html\">http://terminology.hl7.org/CodeSystem/observation-category</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Logic Definitions:</b></th>\n <td style=\"padding-left: 4px;\">\n \n <table class=\"grid-dict\">\n <tr>\n <th><b>Group</b></th>\n <th><b>Scoring</b></th>\n <th><b>Population Criteria</b></th>\n <th><b>Expression</b></th>\n </tr>\n <tr>\n \n <td> 66437150f4fc785d87117044 </td>\n <td colspan=\"3\" style=\"padding-left: 4px;\">\n \n <b>Group scoring:</b>\n \n <span> proportion </span>\n \n \n\n \n\n \n <b>Measure scoring:</b>\n \n <p style=\"margin-bottom: 5px;\">\n <span>Proportion</span>\n </p>\n \n \n\n \n\n \n <tr>\n \n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n <p style=\"margin-bottom: 5px;\">\n <span>Outcome </span>\n </p>\n \n \n \n </td>\n \n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Rate Aggregation: </b></th>\n <td colspan=\"3\" style=\"padding-left: 4px;\">None</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Improvement Notation: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <span>increase </span>\n </p>\n \n \n \n \n </td>\n </tr>\n \n\n \n\n </td>\n \n <tr>\n <td/>\n <td/>\n <td>Initial Population</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Initial Population":\n "Encounter with Creatinine and without Obstetrical Conditions"</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Denominator Exclusion</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Denominator Exclusion":\n "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"\n union "Encounter with Index eGFR Less Than 60 within First 48 Hours"\n union "Encounter with 0.3 mg dL or More Increase in Creatinine"\n union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"\n union "Encounter with High Risk Diagnosis for AKI"\n union "Encounter with High Risk Procedures for AKI"</code></pre>\n \n </td>\n </tr>\n \n <tr>\n <td/>\n <td/>\n <td>Numerator</td>\n <td>\n \n <pre><code class=\"language-cql\">define "Numerator":\n "Encounter with 2 Times Serum Creatinine Increase"\n union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>\n \n </td>\n </tr>\n \n \n \n </tr>\n </table>\n \n\n <table class=\"grid-dict\">\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Age 18 and Length of Stay 48 Hours or More</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Age 18 and Length of Stay 48 Hours or More":\n ["Encounter": "Encounter Inpatient"] InpatientEncounter\n where InpatientEncounter.period ends during day of "Measurement Period"\n and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18\n and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Inpatient Encounter with Creatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Inpatient Encounter with Creatinine":\n from\n "Encounter with Age 18 and Length of Stay 48 Hours or More" Encounter48Hours,\n ["Observation": "Creatinine Mass Per Volume"] CreatinineTest\n let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),\n CreatinineTestStart: CreatinineTest.effective.earliest ( )\n where CreatinineTest.value is not null\n and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]\n and CreatinineTest.status in { 'final', 'amended', 'corrected' }\n return Encounter48Hours</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Creatinine and without Obstetrical Conditions</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Creatinine and without Obstetrical Conditions":\n "Inpatient Encounter with Creatinine" EncounterWithCreatinine\n where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis\n where EncounterDiagnosis.code in "Obstetrics and VTE Obstetrics"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Serum Creatinine Normal</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Serum Creatinine Normal":\n if ( Patient.gender = 'female' ) then 1.02 'mg/dL' \n else if ( Patient.gender = 'male' ) then 1.18 'mg/dL' \n else null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Qualifying Creatinine Lab Result by Time</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Qualifying Creatinine Lab Result by Time":\n from\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,\n ["Observation": "Creatinine Mass Per Volume"] CreatinineTestByTime\n let CrEncId: QualifyingEncounter.id,\n CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),\n CrLabId: CreatinineTestByTime.id,\n CrTime: CreatinineTestByTime.effective.earliest ( ),\n CrTimeIssued: CreatinineTestByTime.issued,\n CrResult: CreatinineTestByTime.value as Quantity,\n CrResultValue: CrResult.value,\n CrResultUnit: CrResult.unit\n where CrTime during CrHospPeriod\n and CreatinineTestByTime.isLaboratory ( )\n and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }\n and CrResultUnit = 'mg/dL'\n and CreatinineTestByTime.value is not null\n and CreatinineTestByTime.value as Quantity > 0 'mg/dL'\n return Tuple {\n CrEncInPtId: CrEncId,\n CrHospitalization: CrHospPeriod,\n CrLabObsId: CrLabId,\n// LabCategory: CreatinineTestByQuantity.isLaboratory(),\n \n CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory' \n else CreatinineTestByTime.isLaboratory ( ),\n CrLabObsStatus: CreatinineTestByTime.status,\n CrLabResult: CrResult,\n CrLabResultUnit: CrResultUnit,\n CrLabResultValue: CrResultValue,\n CrLabTime: CrTime,\n CrLabTimeIssued: CrTimeIssued\n }\n sort by CrLabTime</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with 1.5 Times Serum Creatinine Increase</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with 1.5 Times Serum Creatinine Increase":\n from\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,\n ["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,\n ["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest\n let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),\n HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where ( HighCreatinineTest.value > "Serum Creatinine Normal" )\n and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.value = "HighestSerumCreatinineResult"(QualifyingEncounter)\n and LowCreatinineTest.value = "LowestSerumCreatinineResult"(QualifyingEncounter)\n and "1.5IncreaseInCreatinine"(QualifyingEncounter) >= LowCreatinineTest.value\n and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime\n and LowCreatinineTestTime during HospitalWithObservationPeriod\n and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]\n and HighCreatinineTestTime during HospitalWithObservationPeriod\n return QualifyingEncounter</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with 2 Times Serum Creatinine Increase</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with 2 Times Serum Creatinine Increase":\n from\n "Encounter with 1.5 Times Serum Creatinine Increase" EncounterWithHighCreatinine,\n ["Observation": "Creatinine Mass Per Volume"] HighCreatinineTest,\n ["Observation": "Creatinine Mass Per Volume"] LowCreatinineTest\n let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),\n HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),\n HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )\n where ( HighCreatinineTest.value > "Serum Creatinine Normal" )\n and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.value = "HighestSerumCreatinineResult"(EncounterWithHighCreatinine)\n and LowCreatinineTest.value = "LowestSerumCreatinineResult"(EncounterWithHighCreatinine)\n and ( "2.0IncreaseInCreatinine"(EncounterWithHighCreatinine) as Quantity ) >= ( LowCreatinineTest.value as Quantity )\n and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime\n and LowCreatinineTestTime during HospitalWithObservationPeriod\n and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]\n and HighCreatinineTestTime during HospitalWithObservationPeriod\n return EncounterWithHighCreatinine</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival":\n from\n ["Procedure": "Hospital Based Dialysis Services"] Dialysis,\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]\n and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod\n return QualifyingEncounter</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine":\n "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival" EncounterWithDialysisAfter48Hours\n where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine\n where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Numerator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Numerator":\n "Encounter with 2 Times Serum Creatinine Increase"\n union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Initial Population</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Initial Population":\n "Encounter with Creatinine and without Obstetrical Conditions"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Denominator</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Denominator":\n "Initial Population"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival":\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n where ( Count("CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter)) < 2 )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Male Encounter with eGFR Less Than 60</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Male Encounter with eGFR Less Than 60":\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n where "MaleeGFR"(QualifyingEncounter) is not null\n and "MaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Female Encounter with eGFR Less Than 60</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Female Encounter with eGFR Less Than 60":\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n where "FemaleeGFR"(QualifyingEncounter) is not null\n and "FemaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Index eGFR Less Than 60 within First 48 Hours</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Index eGFR Less Than 60 within First 48 Hours":\n "Male Encounter with eGFR Less Than 60"\n union "Female Encounter with eGFR Less Than 60"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Increase of 0.3 or More Using Lowest Creatinine within 24 Hours</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours":\n from\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,\n ["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,\n ["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult\n let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),\n SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'\n and IndexCreatinineLabResult.value = "LowestSerumCreatinineResult"(QualifyingEncounter)\n and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]\n and IndexCreatinineLabResultTime during HospitalWithObservationPeriod\n and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]\n and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id\n return QualifyingEncounter</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Increase of 0.3 or More Using First Creatinine within First 48 Hours</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Increase of 0.3 or More Using First Creatinine within First 48 Hours":\n from\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,\n ["Observation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,\n ["Observation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult\n let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),\n SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'\n and IndexCreatinineLabResult.value as Quantity = singleton from "EarliestSerumCreatinineResult"(QualifyingEncounter)\n and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]\n and IndexCreatinineLabResultTime during HospitalWithObservationPeriod\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod\n and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id\n return QualifyingEncounter</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with 0.3 mg dL or More Increase in Creatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with 0.3 mg dL or More Increase in Creatinine":\n 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>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival":\n from\n ["Procedure": "Hospital Based Dialysis Services"] Dialysis,\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod\n return QualifyingEncounter</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine":\n "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival" EncounterWithKidneyDialysis48HoursOrAfter\n where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine\n where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with High Risk Diagnosis for AKI</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with High Risk Diagnosis for AKI":\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis\n where ( EncounterDiagnosis.code in "High Risk Diagnosis for AKI" )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Encounter with High Risk Procedures for AKI</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Encounter with High Risk Procedures for AKI":\n "Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter\n with ["Procedure": "High Risk Procedures for AKI"] HighRiskProcedures\n such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>Denominator Exclusion</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define "Denominator Exclusion":\n "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"\n union "Encounter with Index eGFR Less Than 60 within First 48 Hours"\n union "Encounter with 0.3 mg dL or More Increase in Creatinine"\n union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"\n union "Encounter with High Risk Diagnosis for AKI"\n union "Encounter with High Risk Procedures for AKI"</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CQMCommon</td>\n \n \n <td>hospitalizationWithObservation</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@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\n*/\ndefine fluent function hospitalizationWithObservation(TheEncounter Encounter ):\n TheEncounter Visit\n \t\tlet ObsVisit: Last([Encounter: "Observation Services"] LastObs\n \t\t\t\twhere LastObs.status = 'finished'\n and LastObs.period ends 1 hour or less on or before start of Visit.period\n \t\t\t\tsort by end of period\n \t\t\t),\n \t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n \t\t\tEDVisit: Last([Encounter: "Emergency Department Visit"] LastED\n \t\t\t\twhere LastED.status = 'finished'\n and LastED.period ends 1 hour or less on or before VisitStart\n \t\t\t\tsort by end of period\n \t\t\t)\n \t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>earliest</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Given an interval, return the starting point if the interval has a starting boundary specified,\notherwise, return the ending point\n*/\ndefine fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):\n (choice.toInterval()) period\n return\n if (period."hasStart"()) then start of period\n else end of period</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>CQMCommon</td>\n \n \n <td>encounterDiagnosis</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the Condition resources referenced by the diagnosis element of the Encounter\n*/\ndefine fluent function encounterDiagnosis(Encounter Encounter ):\n Encounter.diagnosis D\n return singleton from ([Condition] C where C.id = D.condition.reference.getId())</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>getId</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).\n@comment: This function can be used to determine the logical id of a given resource. It can be used in\na single-server environment to trace references. However, this function does not attempt to resolve\nor distinguish the base of the given url, and so cannot be used safely in multi-server environments.\n*/\ndefine fluent function getId(uri String):\n Last(Split(uri, '/'))</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>HighestSerumCreatinineResult</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "HighestSerumCreatinineResult"(QualifyingEncounter Encounter):\n ( Max((from\n "Qualifying Creatinine Lab Result by Time" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabResult\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>QICoreCommon</td>\n \n \n <td>isLaboratory</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Returns true if the given observation is a laboratory observation\n*/\ndefine fluent function isLaboratory(observation Observation):\n exists (observation.category C\n where C ~ "laboratory"\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>FHIRHelpers</td>\n \n \n <td>ToConcept</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>LowestSerumCreatinineResult</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "LowestSerumCreatinineResult"(QualifyingEncounter Encounter):\n ( Min((from\n "Qualifying Creatinine Lab Result by Time" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabResult\n )\n )</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>1.5IncreaseInCreatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">// following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)\n\n\ndefine function "1.5IncreaseInCreatinine"(QualifyingEncounter Encounter):\n "HighestSerumCreatinineResult"(QualifyingEncounter) / 1.5</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>2.0IncreaseInCreatinine</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "2.0IncreaseInCreatinine"(QualifyingEncounter Encounter):\n "HighestSerumCreatinineResult"(QualifyingEncounter) / 2</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>CreatinineLabTestwithResultwithinFirst48Hours</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter Encounter):\n from\n ["Observation": "Creatinine Mass Per Volume"] CreatinineTest\n where CreatinineTest.value is not null\n and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]\n and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )\n and CreatinineTest.status in { 'final', 'amended', 'corrected' }\n return CreatinineTest</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>MaleeGFR</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "MaleeGFR"(QualifyingEncounter Encounter):\n 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()) ) ) \n else null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>FemaleeGFR</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">// eGFR functions return as decimal value rather than Quantity\n\n\ndefine function "FemaleeGFR"(QualifyingEncounter Encounter):\n 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 ) \n else null</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>EarliestSerumCreatinineResult</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "EarliestSerumCreatinineResult"(QualifyingEncounter Encounter):\n from\n "Qualifying Creatinine Lab Result by Time" LabTests\n let LabResult: LabTests.CrLabResult\n where ( "EarliestSerumCreatinineTime"(QualifyingEncounter) = LabTests.CrLabTime )\n return LabResult as Quantity</code></pre>\n </td>\n \n </tr>\n \n <tr>\n <th><b>Library Name</b></th>\n <th><b>Name</b></th>\n </tr>\n <tr>\n \n <td>HospitalHarmAcuteKidneyInjuryFHIR</td>\n \n \n <td>EarliestSerumCreatinineTime</td>\n \n </tr>\n <tr>\n \n <td/>\n <td>\n <pre class=\"highlight language-cql\"><code class=\"language-cql\">define function "EarliestSerumCreatinineTime"(QualifyingEncounter Encounter):\n ( Min((from\n "Qualifying Creatinine Lab Result by Time" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabTime\n )\n )</code></pre>\n </td>\n \n </tr>\n \n </table>\n </td>\n </tr>\n \n \n \n\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode",
"valueCoding" : {
"system" : "http://terminology.hl7.org/CodeSystem/observation-category",
"code" : "laboratory",
"display" : "Laboratory"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Age 18 and Length of Stay 48 Hours or More"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Age 18 and Length of Stay 48 Hours or More\":\n [\"Encounter\": \"Encounter Inpatient\"] InpatientEncounter\n where InpatientEncounter.period ends during day of \"Measurement Period\"\n and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18\n and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Inpatient Encounter with Creatinine"
},
{
"url" : "statement",
"valueString" : "define \"Inpatient Encounter with Creatinine\":\n from\n \"Encounter with Age 18 and Length of Stay 48 Hours or More\" Encounter48Hours,\n [\"Observation\": \"Creatinine Mass Per Volume\"] CreatinineTest\n let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),\n CreatinineTestStart: CreatinineTest.effective.earliest ( )\n where CreatinineTest.value is not null\n and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]\n and CreatinineTest.status in { 'final', 'amended', 'corrected' }\n return Encounter48Hours"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Creatinine and without Obstetrical Conditions"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Creatinine and without Obstetrical Conditions\":\n \"Inpatient Encounter with Creatinine\" EncounterWithCreatinine\n where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis\n where EncounterDiagnosis.code in \"Obstetrics and VTE Obstetrics\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Serum Creatinine Normal"
},
{
"url" : "statement",
"valueString" : "define \"Serum Creatinine Normal\":\n if ( Patient.gender = 'female' ) then 1.02 'mg/dL' \n else if ( Patient.gender = 'male' ) then 1.18 'mg/dL' \n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Qualifying Creatinine Lab Result by Time"
},
{
"url" : "statement",
"valueString" : "define \"Qualifying Creatinine Lab Result by Time\":\n from\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter,\n [\"Observation\": \"Creatinine Mass Per Volume\"] CreatinineTestByTime\n let CrEncId: QualifyingEncounter.id,\n CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),\n CrLabId: CreatinineTestByTime.id,\n CrTime: CreatinineTestByTime.effective.earliest ( ),\n CrTimeIssued: CreatinineTestByTime.issued,\n CrResult: CreatinineTestByTime.value as Quantity,\n CrResultValue: CrResult.value,\n CrResultUnit: CrResult.unit\n where CrTime during CrHospPeriod\n and CreatinineTestByTime.isLaboratory ( )\n and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }\n and CrResultUnit = 'mg/dL'\n and CreatinineTestByTime.value is not null\n and CreatinineTestByTime.value as Quantity > 0 'mg/dL'\n return Tuple {\n CrEncInPtId: CrEncId,\n CrHospitalization: CrHospPeriod,\n CrLabObsId: CrLabId,\n// LabCategory: CreatinineTestByQuantity.isLaboratory(),\n \n CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory' \n else CreatinineTestByTime.isLaboratory ( ),\n CrLabObsStatus: CreatinineTestByTime.status,\n CrLabResult: CrResult,\n CrLabResultUnit: CrResultUnit,\n CrLabResultValue: CrResultValue,\n CrLabTime: CrTime,\n CrLabTimeIssued: CrTimeIssued\n }\n sort by CrLabTime"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with 1.5 Times Serum Creatinine Increase"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with 1.5 Times Serum Creatinine Increase\":\n from\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter,\n [\"Observation\": \"Creatinine Mass Per Volume\"] HighCreatinineTest,\n [\"Observation\": \"Creatinine Mass Per Volume\"] LowCreatinineTest\n let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),\n HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where ( HighCreatinineTest.value > \"Serum Creatinine Normal\" )\n and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.value = \"HighestSerumCreatinineResult\"(QualifyingEncounter)\n and LowCreatinineTest.value = \"LowestSerumCreatinineResult\"(QualifyingEncounter)\n and \"1.5IncreaseInCreatinine\"(QualifyingEncounter) >= LowCreatinineTest.value\n and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime\n and LowCreatinineTestTime during HospitalWithObservationPeriod\n and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]\n and HighCreatinineTestTime during HospitalWithObservationPeriod\n return QualifyingEncounter"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with 2 Times Serum Creatinine Increase"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with 2 Times Serum Creatinine Increase\":\n from\n \"Encounter with 1.5 Times Serum Creatinine Increase\" EncounterWithHighCreatinine,\n [\"Observation\": \"Creatinine Mass Per Volume\"] HighCreatinineTest,\n [\"Observation\": \"Creatinine Mass Per Volume\"] LowCreatinineTest\n let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),\n HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),\n HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )\n where ( HighCreatinineTest.value > \"Serum Creatinine Normal\" )\n and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }\n and HighCreatinineTest.value = \"HighestSerumCreatinineResult\"(EncounterWithHighCreatinine)\n and LowCreatinineTest.value = \"LowestSerumCreatinineResult\"(EncounterWithHighCreatinine)\n and ( \"2.0IncreaseInCreatinine\"(EncounterWithHighCreatinine) as Quantity ) >= ( LowCreatinineTest.value as Quantity )\n and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime\n and LowCreatinineTestTime during HospitalWithObservationPeriod\n and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]\n and HighCreatinineTestTime during HospitalWithObservationPeriod\n return EncounterWithHighCreatinine"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival\":\n from\n [\"Procedure\": \"Hospital Based Dialysis Services\"] Dialysis,\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]\n and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod\n return QualifyingEncounter"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine\":\n \"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival\" EncounterWithDialysisAfter48Hours\n where not ( exists ( \"Encounter with 2 Times Serum Creatinine Increase\" EncounterWithHighCreatinine\n where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "define \"Numerator\":\n \"Encounter with 2 Times Serum Creatinine Increase\"\n union \"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine\""
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "define \"Initial Population\":\n \"Encounter with Creatinine and without Obstetrical Conditions\""
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "define \"Denominator\":\n \"Initial Population\""
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival\":\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n where ( Count(\"CreatinineLabTestwithResultwithinFirst48Hours\"(QualifyingEncounter)) < 2 )"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Male Encounter with eGFR Less Than 60"
},
{
"url" : "statement",
"valueString" : "define \"Male Encounter with eGFR Less Than 60\":\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n where \"MaleeGFR\"(QualifyingEncounter) is not null\n and \"MaleeGFR\"(QualifyingEncounter) as Decimal < 60"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Female Encounter with eGFR Less Than 60"
},
{
"url" : "statement",
"valueString" : "define \"Female Encounter with eGFR Less Than 60\":\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n where \"FemaleeGFR\"(QualifyingEncounter) is not null\n and \"FemaleeGFR\"(QualifyingEncounter) as Decimal < 60"
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Index eGFR Less Than 60 within First 48 Hours"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Index eGFR Less Than 60 within First 48 Hours\":\n \"Male Encounter with eGFR Less Than 60\"\n union \"Female Encounter with eGFR Less Than 60\""
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
},
{
"url" : "statement",
"valueString" : "define \"Increase of 0.3 or More Using Lowest Creatinine within 24 Hours\":\n from\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter,\n [\"Observation\": \"Creatinine Mass Per Volume\"] IndexCreatinineLabResult,\n [\"Observation\": \"Creatinine Mass Per Volume\"] SubsequentCreatinineLabResult\n let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),\n SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'\n and IndexCreatinineLabResult.value = \"LowestSerumCreatinineResult\"(QualifyingEncounter)\n and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]\n and IndexCreatinineLabResultTime during HospitalWithObservationPeriod\n and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]\n and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id\n return QualifyingEncounter"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Increase of 0.3 or More Using First Creatinine within First 48 Hours"
},
{
"url" : "statement",
"valueString" : "define \"Increase of 0.3 or More Using First Creatinine within First 48 Hours\":\n from\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter,\n [\"Observation\": \"Creatinine Mass Per Volume\"] IndexCreatinineLabResult,\n [\"Observation\": \"Creatinine Mass Per Volume\"] SubsequentCreatinineLabResult\n let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),\n SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),\n HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }\n and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'\n and IndexCreatinineLabResult.value as Quantity = singleton from \"EarliestSerumCreatinineResult\"(QualifyingEncounter)\n and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]\n and IndexCreatinineLabResultTime during HospitalWithObservationPeriod\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod\n and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id\n return QualifyingEncounter"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with 0.3 mg dL or More Increase in Creatinine"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with 0.3 mg dL or More Increase in Creatinine\":\n 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\")"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival\":\n from\n [\"Procedure\": \"Hospital Based Dialysis Services\"] Dialysis,\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )\n where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]\n and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod\n return QualifyingEncounter"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine\":\n \"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival\" EncounterWithKidneyDialysis48HoursOrAfter\n where not ( exists ( \"Encounter with 2 Times Serum Creatinine Increase\" EncounterWithHighCreatinine\n where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with High Risk Diagnosis for AKI"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with High Risk Diagnosis for AKI\":\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis\n where ( EncounterDiagnosis.code in \"High Risk Diagnosis for AKI\" )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Encounter with High Risk Procedures for AKI"
},
{
"url" : "statement",
"valueString" : "define \"Encounter with High Risk Procedures for AKI\":\n \"Encounter with Creatinine and without Obstetrical Conditions\" QualifyingEncounter\n with [\"Procedure\": \"High Risk Procedures for AKI\"] HighRiskProcedures\n such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "Denominator Exclusion"
},
{
"url" : "statement",
"valueString" : "define \"Denominator Exclusion\":\n \"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival\"\n union \"Encounter with Index eGFR Less Than 60 within First 48 Hours\"\n union \"Encounter with 0.3 mg dL or More Increase in Creatinine\"\n union \"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine\"\n union \"Encounter with High Risk Diagnosis for AKI\"\n union \"Encounter with High Risk Procedures for AKI\""
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CQMCommon"
},
{
"url" : "name",
"valueString" : "hospitalizationWithObservation"
},
{
"url" : "statement",
"valueString" : "/*\n@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\n*/\ndefine fluent function hospitalizationWithObservation(TheEncounter Encounter ):\n TheEncounter Visit\n \t\tlet ObsVisit: Last([Encounter: \"Observation Services\"] LastObs\n \t\t\t\twhere LastObs.status = 'finished'\n and LastObs.period ends 1 hour or less on or before start of Visit.period\n \t\t\t\tsort by end of period\n \t\t\t),\n \t\t\tVisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),\n \t\t\tEDVisit: Last([Encounter: \"Emergency Department Visit\"] LastED\n \t\t\t\twhere LastED.status = 'finished'\n and LastED.period ends 1 hour or less on or before VisitStart\n \t\t\t\tsort by end of period\n \t\t\t)\n \t\treturn Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "earliest"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Given an interval, return the starting point if the interval has a starting boundary specified,\notherwise, return the ending point\n*/\ndefine fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):\n (choice.toInterval()) period\n return\n if (period.\"hasStart\"()) then start of period\n else end of period"
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CQMCommon"
},
{
"url" : "name",
"valueString" : "encounterDiagnosis"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the Condition resources referenced by the diagnosis element of the Encounter\n*/\ndefine fluent function encounterDiagnosis(Encounter Encounter ):\n Encounter.diagnosis D\n return singleton from ([Condition] C where C.id = D.condition.reference.getId())"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "getId"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns the tail of the given uri (i.e. everything after the last slash in the URI).\n@comment: This function can be used to determine the logical id of a given resource. It can be used in\na single-server environment to trace references. However, this function does not attempt to resolve\nor distinguish the base of the given url, and so cannot be used safely in multi-server environments.\n*/\ndefine fluent function getId(uri String):\n Last(Split(uri, '/'))"
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "HighestSerumCreatinineResult"
},
{
"url" : "statement",
"valueString" : "define function \"HighestSerumCreatinineResult\"(QualifyingEncounter Encounter):\n ( Max((from\n \"Qualifying Creatinine Lab Result by Time\" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabResult\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "QICoreCommon"
},
{
"url" : "name",
"valueString" : "isLaboratory"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Returns true if the given observation is a laboratory observation\n*/\ndefine fluent function isLaboratory(observation Observation):\n exists (observation.category C\n where C ~ \"laboratory\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n if concept is null then\n null\n else\n System.Concept {\n codes: concept.coding C return ToCode(C),\n display: concept.text.value\n }"
},
{
"url" : "displaySequence",
"valueInteger" : 30
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "LowestSerumCreatinineResult"
},
{
"url" : "statement",
"valueString" : "define function \"LowestSerumCreatinineResult\"(QualifyingEncounter Encounter):\n ( Min((from\n \"Qualifying Creatinine Lab Result by Time\" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabResult\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 31
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "1.5IncreaseInCreatinine"
},
{
"url" : "statement",
"valueString" : "// following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)\n\n\ndefine function \"1.5IncreaseInCreatinine\"(QualifyingEncounter Encounter):\n \"HighestSerumCreatinineResult\"(QualifyingEncounter) / 1.5"
},
{
"url" : "displaySequence",
"valueInteger" : 32
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "2.0IncreaseInCreatinine"
},
{
"url" : "statement",
"valueString" : "define function \"2.0IncreaseInCreatinine\"(QualifyingEncounter Encounter):\n \"HighestSerumCreatinineResult\"(QualifyingEncounter) / 2"
},
{
"url" : "displaySequence",
"valueInteger" : 33
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "CreatinineLabTestwithResultwithinFirst48Hours"
},
{
"url" : "statement",
"valueString" : "define function \"CreatinineLabTestwithResultwithinFirst48Hours\"(QualifyingEncounter Encounter):\n from\n [\"Observation\": \"Creatinine Mass Per Volume\"] CreatinineTest\n where CreatinineTest.value is not null\n and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]\n and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )\n and CreatinineTest.status in { 'final', 'amended', 'corrected' }\n return CreatinineTest"
},
{
"url" : "displaySequence",
"valueInteger" : 34
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "MaleeGFR"
},
{
"url" : "statement",
"valueString" : "define function \"MaleeGFR\"(QualifyingEncounter Encounter):\n 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()) ) ) \n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 35
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "FemaleeGFR"
},
{
"url" : "statement",
"valueString" : "// eGFR functions return as decimal value rather than Quantity\n\n\ndefine function \"FemaleeGFR\"(QualifyingEncounter Encounter):\n 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 ) \n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 36
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "EarliestSerumCreatinineResult"
},
{
"url" : "statement",
"valueString" : "define function \"EarliestSerumCreatinineResult\"(QualifyingEncounter Encounter):\n from\n \"Qualifying Creatinine Lab Result by Time\" LabTests\n let LabResult: LabTests.CrLabResult\n where ( \"EarliestSerumCreatinineTime\"(QualifyingEncounter) = LabTests.CrLabTime )\n return LabResult as Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 37
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "HospitalHarmAcuteKidneyInjuryFHIR"
},
{
"url" : "name",
"valueString" : "EarliestSerumCreatinineTime"
},
{
"url" : "statement",
"valueString" : "define function \"EarliestSerumCreatinineTime\"(QualifyingEncounter Encounter):\n ( Min((from\n \"Qualifying Creatinine Lab Result by Time\" LabTests\n let LabResult: LabTests.CrLabResult\n where LabTests.CrEncInPtId = QualifyingEncounter.id\n ).CrLabTime\n )\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 38
}
],
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "Library/FHIRHelpers|4.4.000"
},
{
"type" : "depends-on",
"display" : "Library CQMCommon",
"resource" : "Library/CQMCommon|2.2.000"
},
{
"type" : "depends-on",
"display" : "Library QICoreCommon",
"resource" : "Library/QICoreCommon|2.1.000"
},
{
"type" : "depends-on",
"display" : "Code system ObservationCategoryCodes",
"resource" : "http://terminology.hl7.org/CodeSystem/observation-category"
},
{
"type" : "depends-on",
"display" : "Value set Encounter Inpatient",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
},
{
"type" : "depends-on",
"display" : "Value set Observation Services",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"
},
{
"type" : "depends-on",
"display" : "Value set Emergency Department Visit",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"
},
{
"type" : "depends-on",
"display" : "Value set Creatinine Mass Per Volume",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"
},
{
"type" : "depends-on",
"display" : "Value set Obstetrics and VTE Obstetrics",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33"
},
{
"type" : "depends-on",
"display" : "Value set Hospital Based Dialysis Services",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"
},
{
"type" : "depends-on",
"display" : "Value set High Risk Diagnosis for AKI",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12"
},
{
"type" : "depends-on",
"display" : "Value set High Risk Procedures for AKI",
"resource" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
},
{
"name" : "Denominator Exclusion",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Resource"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period",
"condition",
"condition.reference",
"condition.reference.value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"
},
{
"path" : "status.value",
"code" : [
{
"code" : "finished"
}
]
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"status",
"status.value",
"period",
"condition",
"condition.reference",
"condition.reference.value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"
},
{
"path" : "status.value",
"code" : [
{
"code" : "finished"
}
]
}
],
"dateFilter" : [
{
"path" : "period",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi-analysisException",
"valueString" : "Error attempting to determine filter value: toFhirValue not implemented for Subtract"
}
]
}
}
]
},
{
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"
],
"mustSupport" : [
"type",
"period",
"condition",
"condition.reference",
"condition.reference.value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"
}
],
"dateFilter" : [
{
"path" : "period",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-expression",
"valueExpression" : {
"language" : "text/cql-identifier",
"expression" : "Measurement Period"
}
}
]
}
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"value",
"status",
"status.value",
"id",
"id.value",
"issued",
"issued.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation"
],
"mustSupport" : [
"code",
"effective",
"status",
"status.value",
"value",
"id",
"id.value"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"
}
]
},
{
"type" : "Condition",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition"
],
"mustSupport" : [
"id",
"id.value",
"code"
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
],
"mustSupport" : [
"code",
"performed"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"
}
],
"dateFilter" : [
{
"path" : "performed",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi-analysisException",
"valueString" : "Error attempting to determine filter value: toFhirValue not implemented for Add"
}
]
}
}
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
],
"mustSupport" : [
"code",
"performed"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"
}
],
"dateFilter" : [
{
"path" : "performed",
"valuePeriod" : {
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi-analysisException",
"valueString" : "Error attempting to determine filter value: toFhirValue not implemented for QueryLetRef"
}
]
}
}
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"
],
"mustSupport" : [
"code",
"performed"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"
}
]
}
]
}
],
"extension" : [
{
"id" : "effective-data-requirements",
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-effectiveDataRequirements",
"valueReference" : {
"reference" : "#effective-data-requirements"
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
}
],
"url" : "https://madie.cms.gov/Measure/HospitalHarmAcuteKidneyInjuryFHIR",
"identifier" : [
{
"use" : "usual",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "short-name"
}
]
},
"system" : "https://madie.cms.gov/measure/shortName",
"value" : "CMS832FHIR"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "version-independent"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "version-specific"
}
]
},
"system" : "urn:ietf:rfc:3986",
"value" : "urn:uuid:a54eee68-0449-4bf5-a687-32ae0a97e858"
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "endorser"
}
]
},
"system" : "https://madie.cms.gov/measure/cbeId",
"value" : "3713e",
"assigner" : {
"display" : "CMS Consensus Based Entity"
}
},
{
"use" : "official",
"type" : {
"coding" : [
{
"system" : "http://hl7.org/fhir/us/cqfmeasures/CodeSystem/identifier-type",
"code" : "publisher"
}
]
},
"system" : "https://madie.cms.gov/measure/cmsId",
"value" : "832FHIR",
"assigner" : {
"display" : "CMS"
}
}
],
"version" : "0.0.001",
"name" : "HospitalHarmAcuteKidneyInjuryFHIR",
"title" : "Hospital Harm - Acute Kidney InjuryFHIR",
"status" : "draft",
"experimental" : false,
"date" : "2024-07-09T14:53:55+00:00",
"publisher" : "Centers for Medicare & Medicaid Services (CMS)",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "https://www.cms.gov/"
}
]
}
],
"description" : "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" : "UNKNOWN",
"usage" : "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:\n- The eGFR estimating equation that is used to identify AKI is sex-specific; and\n- 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.\n\nExclude 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.\n\nFor 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.\n- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.\n- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.\n\nEncounters 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.\n\nNote 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.\n\nWhen 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.\n\nThis eCQM is an episode-based measure. An episode is defined as each inpatient hospitalization or encounter that ends during the measurement period.\n\nThis FHIR-based measure has been derived from the QDM-based measure: CMS832v2.1.\n\nPlease 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" : "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.\n\nLOINC(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" : "2025-01-01",
"end" : "2025-12-31"
},
"author" : [
{
"name" : "American Institutes for Research (AIR)",
"telecom" : [
{
"system" : "url",
"value" : "https://www.air.org"
}
]
}
],
"library" : [
🔗 "https://madie.cms.gov/Library/HospitalHarmAcuteKidneyInjuryFHIR"
],
"disclaimer" : "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.\n\nTHE MEASURES AND SPECIFICATIONS ARE PROVIDED \"AS IS\" WITHOUT WARRANTY OF ANY KIND. \n\nDue to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].",
"scoring" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
},
"rationale" : "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). \n\nWhile 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" : "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.\n\nThe KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:\n\nFLUIDS\n3.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)\n\nVASOPRESSORS\n3.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)\n\nPROTOCOLIZED HEMODYNAMIC MANAGEMENT\n3.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)\n\nIn 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" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion",
"display" : "Proportion"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis",
"valueCode" : "Encounter"
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-type",
"code" : "outcome",
"display" : "Outcome"
}
]
}
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation",
"valueCode" : "None"
},
{
"url" : "http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation",
"valueCodeableConcept" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
"code" : "decrease",
"display" : "increase"
}
]
}
}
],
"population" : [
{
"id" : "DA0D3694-7F57-4FB9-8410-1F64E44CA01E",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population",
"display" : "Initial Population"
}
]
},
"description" : "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" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "624D8554-9CB0-4BF0-882D-05C4F88BCC2C",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator",
"display" : "Denominator"
}
]
},
"description" : "Equals Initial Population",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "000FF050-D4A2-4C8B-8123-4538D35D5441",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator-exclusion",
"display" : "Denominator Exclusion"
}
]
},
"description" : "Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL\nbetween the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.\n\nInpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.\n\nInpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.\n\nInpatient 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.\n\nInpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:\n- Hemolytic Uremic Syndrome (HUS)\n- Large Body Surface Area (BSA) Burns\n- Traumatic Avulsion of Kidney\n- Rapidly Progressive Nephritic Syndrome\n- Thrombotic Thrombocytopenic Purpura\n- Out of Hospital Cardiac Arrest (OHCA)\n\nInpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:\n- Extracorporeal membrane oxygenation (ECMO)\n- Intra-Aortic Balloon Pump\n- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)\n- Nephrectomy",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator Exclusion"
}
},
{
"id" : "01644D07-D9F8-403E-A66D-109ABA29BB6E",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator",
"display" : "Numerator"
}
]
},
"description" : "Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:\n\nA 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.\n\nOr:\n\nKidney 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.\n\nOnly one harm is counted per encounter.",
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
]
}
]
}