eCQM QICore Content Implementation Guide
2025.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 2025.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/ecqm-content-qicore-2025/ and changes regularly. See the Directory of published versions
Active as of 2025-05-27 |
<Measure xmlns="http://hl7.org/fhir">
<id value="CMS832HHAKIFHIR"/>
<meta>
<profile
value="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/computable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/publishable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/executable-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cql-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/elm-measure-cqfm"/>
<profile
value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm"/>
</meta>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<table class="narrative-table">
<tbody>
<tr>
<th colspan="2" scope="row" class="row-header">Metadata</th>
</tr>
<tr>
<th scope="row" class="row-header">Title</th>
<td class="content-container">Hospital Harm - Acute Kidney InjuryFHIR</td>
</tr>
<tr>
<th scope="row" class="row-header">Version</th>
<td class="content-container">0.2.000</td>
</tr>
<tr>
<th scope="row" class="row-header">Short Name</th>
<td class="content-container">CMS832FHIR</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Independent)</th>
<td class="content-container">urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2</td>
</tr>
<tr>
<th scope="row" class="row-header">GUID (Version Specific)</th>
<td class="content-container">urn:uuid:9045b3dd-5111-49de-9929-7b0101a3e5b2</td>
</tr>
<tr>
<th scope="row" class="row-header">CMS Identifier</th>
<td class="content-container">832FHIR</td>
</tr>
<tr>
<th scope="row" class="row-header">CMS Consensus Based Entity Identifier</th>
<td class="content-container">3713e</td>
</tr>
<tr>
<th scope="row" class="row-header">Effective Period</th>
<td class="content-container">2026-01-01 through 2026-12-31</td>
</tr>
<tr>
<th scope="row" class="row-header">Steward (Publisher)</th>
<td class="content-container">Centers for Medicare & Medicaid Services (CMS)</td>
</tr>
<tr>
<th scope="row" class="row-header">Developer</th>
<td class="content-container">American Institutes for Research (AIR)</td>
</tr>
<tr>
<th scope="row" class="row-header">Description</th>
<td class="content-container"><div><p>The measure assesses the number of inpatient hospitalizations for patients age 18 and older who have an acute kidney injury (stage 2 or greater) that occurred during the encounter. Acute kidney injury (AKI) stage 2 or greater is defined as a substantial increase in serum creatinine value, or by the initiation of kidney dialysis (continuous renal replacement therapy (CRRT), hemodialysis or peritoneal dialysis).</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Copyright</th>
<td class="content-container"><div><p>Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. American Institutes for Research(R), formerly IMPAQ International, disclaims all liability for use or accuracy of any third party codes contained in the specifications.</p>
<p>LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 World Health Organization. All Rights Reserved.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Disclaimer</th>
<td class="content-container"><div><p>This performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.</p>
<p>THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.</p>
<p>Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM].</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Rationale</th>
<td class="content-container"><div><p>This measure focuses on stage 2 or greater acute kidney injury as an outcome in the hospital inpatient setting. The incidence of AKI in general hospitalized patients is 10%–20%, and among critically ill patients, the incidence of AKI has been reported as high as 45–50%; in cardiac surgery patients it ranges from 30%-50% (Thongprayoon et al., 2020). Less severe acute kidney injury and acute kidney injury requiring dialysis affect approximately 2,000 to 3,000 and 200 to 300 per million population per year, respectively. Acute kidney injury may result in the need for dialysis, and is associated with an increased risk of mortality (Schwager et al., 2023; Wilson et al., 2013).</p>
<p>While not all instances of acute kidney injury are avoidable and may be due to natural progression of underlying illness or a complication of a necessary treatment such as chemotherapy, a proportion of acute kidney injury cases are preventable and treatable. The Kidney Disease: Improving Global Outcomes (KDIGO) guidelines suggest careful management of hemodynamic status, fluids, and vasoactive medications for the prevention of acute kidney injury (KDIGO, 2012). Several studies identified through systematic literature searches developed or evaluated the effectiveness of acute kidney injury electronic alert systems (Schwager et al., 2023; Selby et al., 2012; Ahmed et al., 2015; Porter et al., 2014; Wilson et al., 2014; Kirkendall et al., 2014; Cho et al., 2012). These studies used data elements for defining acute kidney injury that were already present and populated in the electronic health record (EHR). For acute kidney injury diagnosis, all except two were limited to using serum creatinine levels, suggesting that this is the most reliable and consistently available electronic data element for defining acute kidney injury.</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Clinical Recommendation Statement</th>
<td class="content-container"><div><p>Serum creatinine is an accepted proxy for acute kidney disease (Ostermann et al., 2020; KDIGO, 2012). It is cited by many guidelines for defining and monitoring acute kidney injury (Lameire et al., 2021; Ostermann et al., 2020; Lopes & Jorge, 2013; KDIGO, 2012). eGFR equations that incorporate creatinine and cystatin C but omit race are more accurate and lead to smaller differences between Black participants and non-Black participants than new equations without race with either creatinine or cystatin C alone (Inker et al., 2021). As a result, a new race-neutral eGFR equation that that measures serum creatinine or cystatin C incorporate age, sex, and race to estimate measured GFR has been developed and is recommended by the Task Force from the National Kidney Foundation and American Society of Nephrology (Inker et al., 2021; Diao et al., 2021; Delgado et al., 2021; Delgado et al., 2022). It was recommended by the Task Force to use within the measure a Chronic Kidney Disease Epidemiology Collaboration (CKD-EPI) creatinine equation refit without the race variable. This functionality has been available to all laboratories in the United States (Delgado et al., 2021; Delgado et al., 2022), and has acceptable performance characteristics and potential consequences that do not disproportionately affect any one group of individuals.</p>
<p>The KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:</p>
<p>FLUIDS
3.1.1: In the absence of hemorrhagic shock, we suggest using isotonic crystalloids rather than colloids (albumin or starches) as initial management for expansion of intravascular volume in patients at risk for acute kidney injury or with acute kidney injury. (Level 2, grade B)</p>
<p>VASOPRESSORS
3.1.2: We recommend the use of vasopressors in conjunction with fluids in patients with vasomotor shock with, or at risk for, acute kidney injury. (Level 1, grade C)</p>
<p>PROTOCOLIZED HEMODYNAMIC MANAGEMENT
3.1.3: We suggest using protocol-based management of hemodynamic and oxygenation parameters to prevent development or worsening of acute kidney injury in high-risk patients in the perioperative setting (2C) or in patients with septic shock. (Level 2, grade C)</p>
<p>In April 2019, KDIGO held a follow-up conference (Ostermann et al., 2020). The effectiveness of the 2012 KDIGO recommendations in preventing AKI was also noted to have been confirmed in small single-center randomized controlled trials (RCTs), such as the Prevention of AKI (PrevAKI) and the Biomarker Guided Intervention for Prevention of AKI (BigpAK) studies (Meersch et al., 2017; Göcze et al., 2018). In addition, results of RCTs have provided new data relevant to several facets of preventing and managing AKI, including early resuscitation, fluid therapy, prevention of contrast-associated AKI, and timing of acute renal replacement therapy (RRT) (Kellum et al., 2016; Nijssen et al., 2017; Self et al., 2018; Zarbock et al, 2016; Gaudry et al., 2016; Barbar et al., 2018).</p>
</div></td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Ahmed, A., Vairavan, S., Akhoundi, A., Wilson, G., Chiofolo, C., Chbat, N., & Kashani, K. (2015). Development and validation of electronic surveillance tool for acute kidney injury: A retrospective analysis. J Crit Care, 30(5), 988-993. doi: 10.1016/j.jcrc.2015.05.007</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Barbar, S.D., Clere-Jehl, R., Bourredjem, A., Hernu, R., Montin,i F., Bruyère, R., Lebert, C., Bohé, J., Badie, J., Erald,i J.P., Rigaud, J.P., Levy, B., Siam,i S., Louis, G., Bouadma, L., Constantin, J.M., Mercier, E., Klouche, K., du Cheyron, D., ... Quenot, J.P. (2018). IDEAL-ICU Trial Investigators and the CRICS TRIGGERSEP Network. Timing of renal-replacement therapy in patients with acute kidney injury and sepsis. N Engl J Med. 2018 Oct 11;379(15):1431-1442. doi: 10.1056/NEJMoa1803213. PMID: 30304656</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Cho, A., Lee, J.E., Yoon, J.Y., Jang, H.R., Huh, W., Kim, Y.G., & Oh, H.Y. (2012). Effect of an electronic alert on risk of contrast-induced acute kidney injury in hospitalized patients undergoing computed tomography. American Journal of Kidney Diseases, 60(1), 74-81. doi: 10.1053/j.ajkd.2012.02.331. Epub 2012 Apr 11. PMID: 22497793</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Delgado, C., Baweja, M., Crews, D.C., Eneanya, N.D., Gadegbeku, C.A., Inker, L.A., Mendu, M L., Miller, W.G., Moxey-Mims, M.M., Roberts, G.V., St Peter, W.L., Warfield, C., & Powe, N.R. (2021). A unifying approach for GFR estimation: Recommendations of the NKF-ASN task force on reassessing the inclusion of race in diagnosing kidney disease. Journal of the American Society of Nephrology: JASN, 32(12), 2994–3015. doi: 10.1681/ASN.2021070988. Epub 2021 Dec 1. PMID: 34556489; PMCID: PMC8638402</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Delgado, C., Baweja, M., Crews, D.C., Eneanya, N.D., Gadegbeku, C.A., Inker, L.A., Mendu, M.L., Miller, W.G., Moxey-Mims, M.M., Roberts, G.V., St Peter, W.L., Warfield, C., & Powe, N.R. (2022). A unifying approach for GFR estimation: Recommendations of the NKF-ASN task force on reassessing the inclusion of race in diagnosing kidney disease. American journal of kidney diseases: The official journal of the National Kidney Foundation, 79(2), 268–288.e1. doi: 10.1053/j.ajkd.2021.08.003. Epub 2021 Sep 23. PMID: 34563581</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Diao, J.A., Inker, L.A., Levey, A.S., Tighiouart, H., Powe, N.R., & Manrai, A.K. (2021). In search of a better equation - Performance and equity in estimates of kidney function. N Engl J Med. 2021 Feb 4;384(5):396-399. doi: 10.1056/NEJMp2028243. Epub 2021 Jan 6. PMID: 33406354; PMCID: PMC8084706</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Gaudry, S., Hajage, D., Schortgen, F., Martin-Lefevre, L., Pons, B., Boulet, E., Boyer, A., Chevrel, G., Lerolle, N., Carpentier, D., de Prost, N., Lautrette, A., Bretagnol, A., Mayaux, J., Nseir, S., Megarbane, B., Thirion, M., Forel, J.M., Maize,l J., ... Dreyfuss, D. (2016). Initiation strategies for renal-replacement therapy in the intensive care unit. N Engl J Med. 2016 Jul 14;375(2):122-33. doi: 10.1056/NEJMoa1603017. Epub 2016 May 15. PMID: 27181456</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Göcze, I., Jauch, D., Götz, M., Kennedy, P., Jung, B., Zeman, F., Gnewuch, C., Graf, B. M., Gnann, W., Banas, B., Bein, T., Schlitt, H. J., & Bergler, T. (2018). Biomarker-guided Intervention to Prevent Acute Kidney Injury After Major Surgery: The Prospective Randomized BigpAK Study. Annals of surgery, 267(6), 1013–1020. doi: 10.1097/SLA.0000000000002485. PMID: 28857811</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Inker, L.A., Eneanya, N.D., Coresh, J., Tighiouart, H., Wang, D., Sang, Y., Crews, D.C., Doria, A., Estrella, M.M., Froissart, M., Grams, M.E., Greene, T., Grubb, A., Gudnason, V., Gutiérrez, O.M., Kalil, R., Karger, A.B., Mauer, M., Navis, G., ... Levey, A.S.(2021). Chronic Kidney Disease Epidemiology Collaboration. New creatinine- and cystatin c-based equations to estimate GFR without race. N Engl J Med. 2021 Nov 4;385(19):1737-1749. doi: 10.1056/NEJMoa2102953. Epub 2021 Sep 23. PMID: 34554658; PMCID: PMC8822996</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Kellum, J.A., Chawla, L.S., Keener, C., Singbartl, K., Palevsky, P.M., Pike, F.L., Yealy, D.M., Huang, D.T., Angus, D.C., & ProCESS and ProGReSS-AKI Investigators. (2016). The effects of alternative resuscitation strategies on acute kidney injury in patients with septic shock. American journal of respiratory and critical care medicine, 193(3), 281–287. doi: 10.1164/rccm.201505-0995OC. PMID: 26398704; PMCID: PMC4803059</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Kidney Disease: Improving Global Outcomes (KDIGO). (2012). KDIGO 2012 Clinical practice guideline for acute kidney injury. Kidney International, Suppl. 2, 1–141. doi:10.1038/kisup.2012.2</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Kirkendall, E.S., Spires, W.L., Mottes, T.A., Schaffzin, J.K., Barclay, C., & Goldstein, S.L. (2014). Development and performance of electronic acute kidney injury triggers to identify pediatric patients at risk for nephrotoxic medication-associated harm. Applied Clinical Informatics, 5(2), 313-333. doi: 10.4338/ACI-2013-12-RA-0102. PMID: 25024752; PMCID: PMC4081739</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Lameire, N.H., Levin, A., Kellum, J.A., Cheung, M., Jadoul, M., Winkelmayer, W.C., Stevens, P.E., & Conference Participants. (2021). Harmonizing acute and chronic kidney disease definition and classification: report of a Kidney Disease: Improving Global Outcomes (KDIGO) Consensus Conference. Kidney International, 100(3), 516–526. https://doi.org/10.1016/j.kint.2021.06.028</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Lopes, J. A., & Jorge, S. (2013). The RIFLE and AKIN classifications for acute kidney injury: A critical and comprehensive review. Clinical Kidney Journal, 6(1), 8-14. doi: 10.1093/ckj/sfs160. Epub 2012 Jan 1. PMID: 27818745; PMCID: PMC5094385</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Meersch, M., Schmidt, C., Hoffmeier, A., Van Aken, H., Wempe, C., Gerss, J., & Zarbock, A. (2017). Prevention of cardiac surgery-associated AKI by implementing the KDIGO guidelines in high risk patients identified by biomarkers: the PrevAKI randomized controlled trial. Intensive care medicine, 43(11), 1551–1561. doi: 10.1007/s00134-016-4670-3. Epub 2017 Jan 21. Erratum in: Intensive Care Med. 2017 Mar 7;: PMID: 28110412; PMCID: PMC5633630</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Nijssen, E.C., Rennenberg, R J., Nelemans, P.J., Essers, B.A., Janssen, M.M., Vermeeren, M.A., Ommen, V.V., & Wildberger, J.E. (2017). Prophylactic hydration to protect renal function from intravascular iodinated contrast material in patients at high risk of contrast-induced nephropathy (AMACING): a prospective, randomised, phase 3, controlled, open-label, non-inferiority trial. Lancet (London, England), 389(10076), 1312–1322. doi: 10.1016/S0140-6736(17)30057-0. Epub 2017 Feb 21. PMID: 28233565</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Ostermann, M., Bellomo, R., Burdmann, E.A., Doi, K., Endre, Z.H., Goldstein, S.L., Kane-Gill, S.L., Liu, K.D., Prowle, J.R., Shaw, A.D., Srisawat, N., Cheung, M., Jadoul, M., Winkelmayer, W.C., Kellum, J.A., & Conference Participants. (2020). Controversies in acute kidney injury: conclusions from a Kidney Disease: Improving Global Outcomes (KDIGO) Conference. Kidney international, 98(2), 294–309. doi: 10.1016/j.kint.2020.04.020. Epub 2020 Apr 26. PMID: 32709292; PMCID: PMC8481001</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Porter, C.J., Juurlink, I., Bisset, L.H., Bavakunji, R., Mehta, R.L., & Devonald, M.A. (2014). A real-time electronic alert to improve detection of acute kidney injury in a large teaching hospital. Nephrol Dial Transplant, 29(10), 1888-1893. doi: 10.1093/ndt/gfu082</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Schwager, E., Ghosh, E., Eshelman, L., Pasupathy, K.S., Barreto, E.F., & Kashani, K. (2023). Accurate and interpretable prediction of ICU-acquired AKI. Journal of critical care, 75, 154278. https://doi.org/10.1016/j.jcrc.2023.154278</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Selby, N.M., Crowley, L., Fluck, R.J., McIntyre, C.W., Monaghan, J., Lawson, N., & Kolhe, N.V. (2012). Use of electronic results reporting to diagnose and monitor AKI in hospitalized patients. Clinical Journal of The American Society of Nephrology: CJASN, 7(4), 533-540. doi: 10.2215/CJN.08970911. Epub 2012 Feb 23. PMID: 22362062</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Self, W.H., Semler, M.W., Wanderer, J.P., Wang, L., Byrne, D.W., Collins, S.P., Slovis, C.M., Lindsell, C.J., Ehrenfeld, J.M., Siew, E.D., Shaw, A.D., Bernard, G.R., Rice, T.W., & SALT-ED Investigators. (2018). Balanced crystalloids versus saline in noncritically ill adults. The New England journal of medicine, 378(9), 819–828. doi: 10.1056/NEJMoa1711586. Epub 2018 Feb 27. PMID: 29485926; PMCID: PMC5846618</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Thongprayoon, C., Hansrivijit, P., Kovvuru, K., Kanduri, S.R., Torres-Ortiz, A., Acharya, P., Gonzalez-Suarez, M.L., Kaewput, W., Bathini, T., & Cheungpasitporn, W. (2020). Diagnostics, risk factors, treatment and outcomes of acute kidney injury in a new paradigm. Journal of clinical medicine, 9(4), 1104. https://doi.org/10.3390/jcm9041104</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Wilson, F. P., Yang, W., & Feldman, H.I. (2013). Predictors of death and dialysis in severe AKI: The UPHS-AKI cohort. Clinical Journal of the American Society of Nephrology, 8(4), 527-537. doi: 10.2215/cjn.06450612</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Wilson, F.P., Reese, P.P., Shashaty, M.G., Ellenberg, S.S., Gitelman, Y., Bansal, A.D., & Fuchs, B. (2014). A trial of in-hospital, electronic alerts for acute kidney injury: Design and rationale. Clinical Trials, 11(5), 521-529. doi: 10.1177/1740774514542619. Epub 2014 Jul 14. PMID: 25023200; PMCID: PMC4156885</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Citation</th>
<td class="content-container">
<div><p>CITATION - Zarbock, A., Kellum, J.A., Schmidt, C., Van Aken, H., Wempe, C., Pavenstädt, H., Boanta, A., Gerß, J., & Meersch, M. (2016). Effect of early vs delayed initiation of renal replacement therapy on mortality in critically ill patients with acute kidney injury: The ELAIN Randomized Clinical Trial. JAMA, 315(20), 2190–2199. doi: 10.1001/jama.2016.5828. PMID: 27209269</p>
</div>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Guidance (Usage)</th>
<td class="content-container">A patient characteristic of male or female sex is required as part of the initial population criteria, as sex is crucial to this measure. For example:
- The eGFR estimating equation that is used to identify AKI is sex-specific; and
- The reference ranges for the serum creatinine value are sex-specific, which matters because the serum creatinine must rise to a sex-specific abnormal value to be flagged as AKI.
Exclude encounters that do not have at least two serum creatine values within 48 hours of arrival. Two values are needed within this timeframe to determine if the patient has AKI or moderate-to-severe renal dysfunction on arrival.
For encounters for patients without harm, as identified by 2 times increase in serum creatinine, query for initiation of renal dialysis during hospitalization, defined by the start of dialysis occurring during the encounter.
- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.
- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.
Encounters for patients with an increase in serum creatinine value of at least 0.3 mg/dL between the index serum creatinine and any subsequent serum creatinine taken within 48 hours of the encounter start are excluded. Due to the variability of decimal precision within programming languages and calculation tools, the value of >=0.3 mg/dL is expressed in the logic as >0.299 mg/dL.
Note the measure is currently confined to using mg/dL as the unit of measurement for creatinine and mL/min as the unit of measurement for eGFR results.
When reporting the first body temperature for risk adjustment, values from either Celsius or Fahrenheit readings are acceptable to report but Celsius readings are preferred.
This eCQM is an episode-based measure. An episode is defined as each inpatient hospitalization or encounter that ends during the measurement period.
This FHIR-based measure has been derived from the QDM-based measure: CMS832v3. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6 (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html).</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: Group_1)</th>
</tr>
<tr>
<th scope="row" class="row-header">Basis</th>
<td class="content-container">Encounter</td>
</tr>
<tr>
<th scope="row" class="row-header">Scoring</th>
<td class="content-container"><span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-scoring proportion}">Proportion</span></td>
</tr>
<tr>
<th scope="row" class="row-header">Type</th>
<td class="content-container"><span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-type outcome}">Outcome</span></td>
</tr>
<tr>
<th scope="row" class="row-header">Rate Aggregation</th>
<td class="content-container">None</td>
</tr>
<tr>
<th scope="row" class="row-header">Improvement Notation</th>
<td class="content-container"><span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-improvement-notation decrease}">increase</span></td>
</tr>
<tr>
<th scope="row" class="row-header">Initial Population</th>
<td class="content-container">
<em>ID</em>: InitialPopulation_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">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</p>
<em>Logic Definition</em>: <a href="#primary-cms832hhakifhir-initial-population">Initial Population</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Denominator</th>
<td class="content-container">
<em>ID</em>: Denominator_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Equals Initial Population</p>
<em>Logic Definition</em>: <a href="#primary-cms832hhakifhir-denominator">Denominator</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Denominator Exclusion</th>
<td class="content-container">
<em>ID</em>: DenominatorExclusion_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL
between the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.
Inpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.
Inpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.
Inpatient hospitalizations for patients who have kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated 48 hours or less after the encounter start, and who do not have evidence of a 2 times increase in serum creatinine.
Inpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:
- Hemolytic Uremic Syndrome (HUS)
- Large Body Surface Area (BSA) Burns
- Traumatic Avulsion of Kidney
- Rapidly Progressive Nephritic Syndrome
- Thrombotic Thrombocytopenic Purpura
- Out of Hospital Cardiac Arrest (OHCA)
Inpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:
- Extracorporeal membrane oxygenation (ECMO)
- Intra-Aortic Balloon Pump
- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)
- Nephrectomy</p>
<em>Logic Definition</em>: <a href="#primary-cms832hhakifhir-denominator-exclusion">Denominator Exclusion</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Numerator</th>
<td class="content-container">
<em>ID</em>: Numerator_1
<br/>
<em>Description</em>:
<p style="white-space: pre-line" class="tab-one">Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:
A subsequent increase in serum creatinine value at least 2 times higher than the lowest serum creatinine value, and the increased value is greater than the highest sex-specific normal value for serum creatinine.
Or:
Kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated more than 48 hours after the start of the encounter. Evidence of a 2 times increase in serum creatinine is not required.
Only one harm is counted per encounter.</p>
<em>Logic Definition</em>: <a href="#primary-cms832hhakifhir-numerator">Numerator</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Guidance</th>
<td class="content-container">For every patient evaluated by this measure also identify payer, race, ethnicity and sex</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Guidance</th>
<td class="content-container">Sex and Age.
First vital signs since the encounter start:
- Heart Rate
- Respiratory Rate
- Systolic Blood Pressure
- Temperature.
The estimated glomerular filtration rate (eGFR) which is calculated using the index serum creatinine, patient sex, and age-based formula.
Patient sex collected for risk adjustment and to calculate the eGFR is determined by the
AdministrativeGender codes 'F' (female) and 'M' (male). These codes make up the "ONC Administrative
Sex" value set and are also used to derive the supplemental data element of patient sex for the measure.
All encounter diagnoses along with their present on admission (POA) indicators are being collected for the development of baseline risk adjustment model with initial focus on any encounter diagnoses captured for:
- Cancer (leukemia, lymphoma, or metastatic cancer)
- Diabetes
- Heart failure
- Hypertension
- Obesity
Encounter length of stay.
Please see the Hospital Harm - Acute Kidney Injury Risk Adjustment Methodology Report on the eCQM-specific page on the eCQI Resource Center website: https://ecqi.healthit.gov/</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Supplemental Data Elements</th>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-ethnicity
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Ethnicity
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-sde-ethnicity">SDE Ethnicity</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-payer
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Payer
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-sde-payer">SDE Payer</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-race
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Race
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-sde-race">SDE Race</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: sde-sex
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage supplemental-data}">Supplemental Data</span>
<br/>
<em>Description</em>: SDE Sex
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-sde-sex">SDE Sex</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-estimated-glomerular-filtration-rate-for-females
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable Estimated Glomerular Filtration Rate for Females
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-estimated-glomerular-filtration-rate-for-females">Risk Variable Estimated Glomerular Filtration Rate for Females</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-estimated-glomerular-filtration-rate-for-males
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable Estimated Glomerular Filtration Rate for Males
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-estimated-glomerular-filtration-rate-for-males">Risk Variable Estimated Glomerular Filtration Rate for Males</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-all-encounter-diagnoses-with-poa-indication
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable All Encounter Diagnoses with POA Indication
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-all-encounter-diagnoses-with-poa-indication">Risk Variable All Encounter Diagnoses with POA Indication</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-first-heart-rate-in-encounter
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable First Heart Rate in Encounter
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-first-heart-rate-in-encounter">Risk Variable First Heart Rate in Encounter</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-first-respiratory-rate-in-encounter
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable First Respiratory Rate in Encounter
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-first-respiratory-rate-in-encounter">Risk Variable First Respiratory Rate in Encounter</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-first-systolic-blood-pressure-in-encounter
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable First Systolic Blood Pressure in Encounter
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-first-systolic-blood-pressure-in-encounter">Risk Variable First Systolic Blood Pressure in Encounter</a>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Supplemental Data Element</th>
<td class="content-container">
<em>ID</em>: risk-variable-first-temperature-in-encounter
<br/>
<em>Usage Code</em>: <span title="Codes:{http://terminology.hl7.org/CodeSystem/measure-data-usage risk-adjustment-factor}">Risk Adjustment Factor</span>
<br/>
<em>Description</em>: Risk Variable First Temperature in Encounter
<br/>
<em>Logic Definition</em>: <a href="#cms832hhakifhir-risk-variable-first-temperature-in-encounter">Risk Variable First Temperature in Encounter</a>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Logic</th>
</tr>
<tr>
<th scope="row" class="row-header">Primary Library</th>
<td class="content-container"><a href="Library-CMS832HHAKIFHIR.html">CMS832HHAKIFHIR</a></td>
</tr>
<tr>
<th scope="row" class="row-header">Contents</th>
<td class="content-container">
<em><a href="#population-criteria">Population Criteria</a></em>
<br/>
<em><a href="#definitions">Logic Definitions</a></em>
<br/>
<em><a href="#terminology">Terminology</a></em>
<br/>
<em><a href="#dependencies">Dependencies</a></em>
<br/>
<em><a href="#data-requirements">Data Requirements</a></em>
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="population-criteria"> </a>Population Criteria</th>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Measure Group (Rate) (ID: Group_1)</th>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="primary-cms832hhakifhir-initial-population"> </a>
Initial Population
</th>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Population Definitions -----------------------------
define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="primary-cms832hhakifhir-denominator"> </a>
Denominator
</th>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="primary-cms832hhakifhir-denominator-exclusion"> </a>
Denominator Exclusion
</th>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival" // clause 1
union "Encounter with Index eGFR Less Than 60 within First 48 Hours" // clause 2
union "Encounter with 0.3 mg dL or More Increase in Creatinine" // clause 3
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine" // clause 4
union "Encounter with High Risk Diagnosis for AKI" // clause 5
union "Encounter with High Risk Procedures for AKI"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="primary-cms832hhakifhir-numerator"> </a>
Numerator
</th>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// clause 6
define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase" // clause 1
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="definitions"> </a>Logic Definitions</th>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="supplementaldataelements-sde-race"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Race":
Patient.race R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="supplementaldataelements-sde-sex"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Sex":
case
when Patient.sex = '248153007' then "Male (finding)"
when Patient.sex = '248152002' then "Female (finding)"
else null
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="supplementaldataelements-sde-payer"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Payer":
[Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="supplementaldataelements-sde-ethnicity"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> SupplementalDataElements</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
Patient.ethnicity E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cqmcommon-hospitalizationwithobservation"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CQMCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Hospitalization with Observation returns the total interval from the start of any immediately prior emergency department visit through the observation visit to the discharge of the given encounter
*/
define fluent function hospitalizationWithObservation(TheEncounter Encounter ):
TheEncounter Visit
let ObsVisit: Last([Encounter: "Observation Services"] LastObs
where LastObs.status = 'finished'
and LastObs.period ends 1 hour or less on or before start of Visit.period
sort by end of period
),
VisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),
EDVisit: Last([Encounter: "Emergency Department Visit"] LastED
where LastED.status = 'finished'
and LastED.period ends 1 hour or less on or before VisitStart
sort by end of period
)
return Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cqmcommon-encounterdiagnosis"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CQMCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns the Condition resources referenced by the diagnosis element of the Encounter
*/
define fluent function encounterDiagnosis(Encounter Encounter ):
Encounter.reasonReference D
return singleton from (([ConditionEncounterDiagnosis] union [ConditionProblemsHealthConcerns]) C where D.references(C.id))</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="fhirhelpers-tostring"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function ToString(value uri): value.value</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="fhirhelpers-tointerval"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="fhirhelpers-tocode"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="fhirhelpers-toconcept"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> FHIRHelpers</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="qicorecommon-earliest"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> QICoreCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Given an interval, return the starting point if the interval has a starting boundary specified,
otherwise, return the ending point
*/
define fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):
(choice.toInterval()) period
return
if (period."hasStart"()) then start of period
else end of period</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="qicorecommon-references"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> QICoreCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference Reference, resourceId String):
resourceId = Last(Split(reference.reference, '/'))</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="qicorecommon-islaboratory"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> QICoreCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Returns true if the given observation is a laboratory observation
*/
define fluent function isLaboratory(observation Choice<"SimpleObservation",
"ObservationCancelled",
"NonPatientObservation",
"LaboratoryResultObservation",
"ObservationClinicalResult",
"ObservationScreeningAssessment">):
exists (observation.category C
where C ~ "laboratory"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="qicorecommon-tointerval"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> QICoreCommon</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in QICore, allowing this function to be used across any resource.
The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
If the input is a DateTime Interval, the result is the input.
If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
*/
define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
case
when choice is DateTime then
Interval[choice as DateTime, choice as DateTime]
when choice is Interval<DateTime> then
choice as Interval<DateTime>
when choice is Quantity then
Interval[Patient.birthDate + (choice as Quantity),
Patient.birthDate + (choice as Quantity) + 1 year)
when choice is Interval<Quantity> then
Interval[Patient.birthDate + (choice.low as Quantity),
Patient.birthDate + (choice.high as Quantity) + 1 year)
when choice is Timing then
Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
else
null as Interval<DateTime>
end</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-age-18-and-length-of-stay-48-hours-or-more"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports Initial Population
/*
define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period)>= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation() >= 48 )*/
define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where Patient.sex in { '248153007', '248152002' }
and InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-inpatient-encounter-with-creatinine"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports Initial Population
define "Inpatient Encounter with Creatinine":
from
"Encounter with Age 18 and Length of Stay 48 Hours or More" Encounter48Hours,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),
CreatinineTestStart: CreatinineTest.effective.earliest ( )
where CreatinineTest.value is not null
and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return Encounter48Hours</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-creatinine-and-without-obstetrical-conditions"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// clause 2
//-------------------------------- Supporting Definitions for Initial Population -----------------------------
// Supports Initial Population
// Used in other definitions throughout
define "Encounter with Creatinine and without Obstetrical Conditions":
"Inpatient Encounter with Creatinine" EncounterWithCreatinine
where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis
where EncounterDiagnosis.code in "Obstetrics and VTE Obstetrics"
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-estimated-glomerular-filtration-rate-for-females"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Risk Variable Definitions -----------------------------
define "Risk Variable Estimated Glomerular Filtration Rate for Females":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
eGFR: "FemaleeGFR"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-sde-race"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Race":
SDE."SDE Race"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-first-respiratory-rate-in-encounter"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable First Respiratory Rate in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstRespiratoryRate: "FirstRespiratoryRate"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-all-encounter-diagnoses-with-poa-indication"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable All Encounter Diagnoses with POA Indication":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
[Claim] claim
where claim.status = 'active'
and claim.use = 'claim'
and exists ( claim.item I
where I.encounter.references ( QualifyingEncounter )
and exists ( claim.diagnosis D
where D.sequence in claim.item.diagnosisSequence
and D.onAdmission in "Present on Admission or Clinically Undetermined"
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-sde-sex"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Sex":
SDE."SDE Sex"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-estimated-glomerular-filtration-rate-for-males"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable Estimated Glomerular Filtration Rate for Males":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
eGFR: "MaleeGFR"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-serum-creatinine-normal"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports "Encounter with 2 Times Serum Creatinine Increase"
// Supports "Encounter with 1.5 Times Serum Creatinine Increase"
define "Serum Creatinine Normal":
if ( Patient.sex = '248152002' ) then 1.02 'mg/dL'
else 1.18 'mg/dL'</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-qualifying-creatinine-lab-result-by-time"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Supporting Definitions for Creatinine calculations -----------------------------
// Used throughout creatinine functions and defines
define "Qualifying Creatinine Lab Result by Time":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTestByTime
let CrEncId: QualifyingEncounter.id,
CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),
CrLabId: CreatinineTestByTime.id,
CrTime: CreatinineTestByTime.effective.earliest ( ),
CrTimeIssued: CreatinineTestByTime.issued,
CrResult: CreatinineTestByTime.value as Quantity,
CrResultValue: CrResult.value,
CrResultUnit: CrResult.unit
where CrTime during CrHospPeriod
and CreatinineTestByTime.isLaboratory ( )
and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }
and CrResultUnit = 'mg/dL'
and CreatinineTestByTime.value is not null
and CreatinineTestByTime.value as Quantity > 0 'mg/dL'
return Tuple {
CrEncInPtId: CrEncId,
CrHospitalization: CrHospPeriod,
CrLabObsId: CrLabId,
// LabCategory: CreatinineTestByQuantity.isLaboratory(),
CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory'
else CreatinineTestByTime.isLaboratory ( ),
CrLabObsStatus: CreatinineTestByTime.status,
CrLabResult: CrResult,
CrLabResultUnit: CrResultUnit,
CrLabResultValue: CrResultValue,
CrLabTime: CrTime,
CrLabTimeIssued: CrTimeIssued
}
sort by CrLabTime</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-1.5-times-serum-creatinine-increase"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 4
// Supporting Numerator
define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(QualifyingEncounter)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and "1.5IncreaseInCreatinine"(QualifyingEncounter) >= LowCreatinineTest.value
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-2-times-serum-creatinine-increase"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 4
// Also Supporting Numerator clause 1
define "Encounter with 2 Times Serum Creatinine Increase":
from
"Encounter with 1.5 Times Serum Creatinine Increase" EncounterWithHighCreatinine,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(EncounterWithHighCreatinine)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(EncounterWithHighCreatinine)
and ( HighCreatinineTest.value as Quantity ) >= ( LowCreatinineTest.value as Quantity )
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return EncounterWithHighCreatinine</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-kidney-dialysis-started-more-than-48-hours-after-arrival"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports Numerator union clause 2
define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-kidney-dialysis-started-more-than-48-hours-after-arrival-without-high-creatinine"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Supporting Definitions for Numerator -----------------------------
// Numerator clause 1: See "Encounter with 2 Times Serum Creatinine Increase"
// Numerator union clause 2
define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival" EncounterWithDialysisAfter48Hours
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-numerator"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// clause 6
define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase" // clause 1
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-qualifying-systolic-blood-pressure-reading"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Qualifying Systolic Blood Pressure Reading":
["USCoreBloodPressureProfile"] BloodPressure
where BloodPressure.effective.earliest ( ) during day of "Measurement Period"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-first-systolic-blood-pressure-in-encounter"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable First Systolic Blood Pressure in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstSystolicBP: "FirstSystolicBloodPressure"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-first-temperature-in-encounter"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable First Temperature in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstTemperature: "FirstBodyTemperature"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-initial-population"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Population Definitions -----------------------------
define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-denominator"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator":
"Initial Population"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-sde-payer"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Payer":
SDE."SDE Payer"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-sde-ethnicity"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "SDE Ethnicity":
SDE."SDE Ethnicity"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-risk-variable-first-heart-rate-in-encounter"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Risk Variable First Heart Rate in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstHeartRate: "FirstHeartRate"(QualifyingEncounter)
}</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-less-than-2-creatinine-results-within-48-hours-of-arrival"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Supporting Definitions for Denominator Exclusion -----------------------------
// Denominator Exclusion clause 1
define "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where ( Count("CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter)) < 2 )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-male-encounter-with-egfr-less-than-60"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 2
define "Male Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "MaleeGFR"(QualifyingEncounter) is not null
and "MaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-female-encounter-with-egfr-less-than-60"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 2
define "Female Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "FemaleeGFR"(QualifyingEncounter) is not null
and "FemaleeGFR"(QualifyingEncounter) as Decimal < 60</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-index-egfr-less-than-60-within-first-48-hours"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Denonminator Exclusion clause 2
define "Encounter with Index eGFR Less Than 60 within First 48 Hours":
"Male Encounter with eGFR Less Than 60"
union "Female Encounter with eGFR Less Than 60"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-increase-of-0.3-or-more-using-lowest-creatinine-within-24-hours"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">//define "Encounter with 0.3 mg dL or More Increase in Creatinine":
//Coalesce("Increase of 0.3 or More Using Lowest Creatinine within 24 Hours","Increase of 0.3 or More Using First Creatinine within First 48 Hours")
/*
define "Encounter with 0.3 mg dL or More Increase in Creatinine":
case
when "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours" is not null
then "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
when "Increase of 0.3 or More Using First Creatinine within First 48 Hours" is not null
then "Increase of 0.3 or More Using First Creatinine within First 48 Hours"
else null
end */
// Supporting Denominator Exclusion clause 3
define "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-increase-of-0.3-or-more-using-first-creatinine-within-first-48-hours"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 3
define "Increase of 0.3 or More Using First Creatinine within First 48 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value as Quantity = singleton from "EarliestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-0.3-mg-dl-or-more-increase-in-creatinine"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Denominator Exclusion clause 3 (Coalesce doesn't seem to work as intended)
define "Encounter with 0.3 mg dL or More Increase in Creatinine":
"Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
union "Increase of 0.3 or More Using First Creatinine within First 48 Hours"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-kidney-dialysis-started-48-hours-or-less-after-arrival"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 4
define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-kidney-dialysis-started-48-hours-or-less-after-arrival-without-high-creatinine"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Denominator Exclusion clause 4
define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival" EncounterWithKidneyDialysis48HoursOrAfter
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-high-risk-diagnosis-for-aki"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Denominator Exclusion clause 5
define "Encounter with High Risk Diagnosis for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
where ( EncounterDiagnosis.code in "High Risk Diagnosis for AKI" )
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-encounter-with-high-risk-procedures-for-aki"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Denominator Exclusion clause 6
define "Encounter with High Risk Procedures for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
with ["Procedure": "High Risk Procedures for AKI"] HighRiskProcedures
such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-denominator-exclusion"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival" // clause 1
union "Encounter with Index eGFR Less Than 60 within First 48 Hours" // clause 2
union "Encounter with 0.3 mg dL or More Increase in Creatinine" // clause 3
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine" // clause 4
union "Encounter with High Risk Diagnosis for AKI" // clause 5
union "Encounter with High Risk Procedures for AKI"</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-femaleegfr"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// eGFR functions return as decimal value rather than Quantity
// Supports Denominator Exclusion clause 2
// Supports risk variable "Risk Variable Estimated Glomerular Filtration Rate for Females"
define function "FemaleeGFR"(QualifyingEncounter Encounter):
if Patient.sex = '248152002' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 0.241 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) * 1.012 )
else null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-firstrespiratoryrate"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function "FirstRespiratoryRate"(QualifyingEncounter Encounter):
First(["USCoreRespiratoryRateProfile": "Respiratory rate"] FirstRespiration
where FirstRespiration.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstRespiration.value is not null
sort by effective.earliest()
).value as Quantity</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-maleegfr"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// eGFR functions return as decimal value rather than Quantity
// Supports Denominator Exclusion clause 2
// Supports risk variable "Risk Variable Estimated Glomerular Filtration Rate for Females"
define function "MaleeGFR"(QualifyingEncounter Encounter):
if Patient.sex = '248153007' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 0.302 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) )
else null</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-highestserumcreatinineresult"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// The following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)
// Supporting Denominator Exclusion clause 4 via "Encounter with 2 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 2 Times Serum Creatinine Increase"
define function "HighestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Max((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-lowestserumcreatinineresult"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 3 via "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
// and clause 4 via "Encounter with 1.5 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 1.5 Times Serum Creatinine Increase"
define function "LowestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-1.5increaseincreatinine"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supporting Denominator Exclusion clause 4 via "Encounter with 1.5 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 1.5 Times Serum Creatinine Increase"
define function "1.5IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 1.5</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-firstsystolicbloodpressure"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function "FirstSystolicBloodPressure"(QualifyingEncounter Encounter):
First("Qualifying Systolic Blood Pressure Reading" SBPReading
where SBPReading.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
return singleton from(SBPReading.component SBPComponent
where SBPComponent.code ~ "Systolic blood pressure"
return SBPComponent.value as Quantity
)
)</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-firstbodytemperature"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// -------------------------------- Risk Variable supportin functions -----------------------------
define function "FirstBodyTemperature"(QualifyingEncounter Encounter):
First(["USCoreBodyTemperatureProfile": "Body temperature"] FirstTemperature
where FirstTemperature.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstTemperature.value is not null
sort by effective.earliest()
).value as Quantity</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-firstheartrate"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">define function "FirstHeartRate"(QualifyingEncounter Encounter):
First(["USCoreHeartRateProfile": "Heart rate"] FirstHeartBeats
where FirstHeartBeats.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstHeartBeats.value is not null
sort by effective.earliest()
).value as Quantity</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-creatininelabtestwithresultwithinfirst48hours"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">/*
define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
let
LowestCreatinineTestWithin7DaysPrior: "LowestSerumCreatinineWithin7DaysPrior"(QualifyingEncounter, CreatinineTest),
CreatinineTestTime: CreatinineTest.effective.earliest(),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation()
where
CreatinineTest.value >= LowestCreatinineTestWithin7DaysPrior * 1.5
and CreatinineTest.value > "Serum Creatinine Normal"
and CreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
return QualifyingEncounter*/
// -------------------------------- Supporting Functions for Creatinine calculations -----------------------------
// Supports Denominator Exclusion clause 1
define function "CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter Encounter):
from
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
where CreatinineTest.value is not null
and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]
and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return CreatinineTest</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-earliestserumcreatinineresult"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports Denominator Exclusion clause 3
define function "EarliestSerumCreatinineResult"(QualifyingEncounter Encounter):
from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where ( "EarliestSerumCreatinineTime"(QualifyingEncounter) = LabTests.CrLabTime )
return LabResult as Quantity</code></pre>
</td>
</tr>
<tr>
<th scope="row" rowspan="2" class="row-header">
<a name="cms832hhakifhir-earliestserumcreatininetime"> </a>
Logic Definition
</th>
<td class="content-container"><em>Library Name:</em> CMS832HHAKIFHIR</td>
</tr>
<tr>
<td>
<pre style="border: none;" class="content-container highlight language-cql"><code class="language-cql">// Supports Denominator Exclusion clause 3 via "EarliestSerumCreatinineResult" function
define function "EarliestSerumCreatinineTime"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTestsEarly
let LabResultEarly: LabTestsEarly.CrLabResult
where LabTestsEarly.CrEncInPtId = QualifyingEncounter.id
).CrLabTime
)
)</code></pre>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="terminology"> </a>Terminology</th>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system LOINC
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/5.5.0/CodeSystem-v3-loinc.html">Logical Observation Identifiers, Names and Codes (LOINC)</a>
<br/>
<em>Canonical URL</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system SNOMEDCT
<br/>
<em>Resource</em>: <a href="http://hl7.org/fhir/R4/codesystem-snomedct.html">SNOMED CT (all versions)</a>
<br/>
<em>Canonical URL</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Code System</th>
<td class="content-container">
<em>Description</em>: Code system ObservationCategoryCodes
<br/>
<em>Resource</em>: <a href="http://terminology.hl7.org/5.5.0/CodeSystem-observation-category.html">Observation Category Codes</a>
<br/>
<em>Canonical URL</em>: <tt>http://terminology.hl7.org/CodeSystem/observation-category</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Encounter Inpatient
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Observation Services
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Emergency Department Visit
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Creatinine Mass Per Volume
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Obstetrics and VTE Obstetrics
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Present on Admission or Clinically Undetermined
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.197</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.197</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Hospital Based Dialysis Services
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Body temperature
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.152</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.152</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set Payer Type
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set High Risk Diagnosis for AKI
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Value Set</th>
<td class="content-container">
<em>Description</em>: Value set High Risk Procedures for AKI
<br/>
<em>Resource</em>: <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19</code>
<br/>
<em>Canonical URL</em>: <tt>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Respiratory rate
<br/>
<em>Code</em>: 9279-1
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Male (finding)
<br/>
<em>Code</em>: 248153007
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Female (finding)
<br/>
<em>Code</em>: 248152002
<br/>
<em>System</em>: <tt>http://snomed.info/sct</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Laboratory
<br/>
<em>Code</em>: laboratory
<br/>
<em>System</em>: <tt>http://terminology.hl7.org/CodeSystem/observation-category</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Systolic blood pressure
<br/>
<em>Code</em>: 8480-6
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Direct Reference Code</th>
<td class="content-container">
<em>Display</em>: Heart rate
<br/>
<em>Code</em>: 8867-4
<br/>
<em>System</em>: <tt>http://loinc.org</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="dependencies"> </a>Dependencies</th>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library FHIRHelpers
<br/>
<em>Resource</em>: <a href="Library-FHIRHelpers.html">FHIRHelpersversion: null4.4.000)</a>
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/FHIRHelpers|4.4.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library CQMCommon
<br/>
<em>Resource</em>: <a href="Library-CQMCommon.html">CQMCommonversion: null4.1.000)</a>
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/CQMCommon|4.1.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library QICoreCommon
<br/>
<em>Resource</em>: <a href="Library-QICoreCommon.html">QICoreCommonversion: null4.0.000)</a>
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/QICoreCommon|4.0.000</tt>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Dependency</th>
<td class="content-container">
<em>Description</em>: Library SDE
<br/>
<em>Resource</em>: <a href="Library-SupplementalDataElements.html">SupplementalDataElementsversion: null5.1.000)</a>
<br/>
<em>Canonical URL</em>: <tt>https://madie.cms.gov/Library/SupplementalDataElements|5.1.000</tt>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header"><a name="data-requirements"> </a>Data Requirements</th>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Patient
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient</code>
<br/>
<em>Must Support Elements</em>: extension, url, birthDate, birthDate.value
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</code>
<br/>
<em>Must Support Elements</em>: type, status, status.value, period, id, id.value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</code>
<br/>
<em>Must Support Elements</em>: type, status, status.value, period, id, id.value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</code>
<br/>
<em>Must Support Elements</em>: type, period, id, id.value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Encounter
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter</code>
<br/>
<em>Must Support Elements</em>: id, period, id.value
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab</code>
<br/>
<em>Must Support Elements</em>: code, effective, value, status, status.value, id, id.value, issued, issued.value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Condition
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate</code>
<br/>
<em>Must Support Elements</em>: code, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/9279-1">LOINC 9279-1</a>: Respiratory rate
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate</code>
<br/>
<em>Must Support Elements</em>: value
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Resource
<br/>
<em>Profile(s)</em>:
<a href="http://hl7.org/fhir/R4/resource.html">Resource</a>
<br/>
<em>Must Support Elements</em>: id, id.value
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Claim
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-claim</code>
<br/>
<em>Must Support Elements</em>: status, status.value, use, use.value, item, diagnosis
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Procedure
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure</code>
<br/>
<em>Must Support Elements</em>: code, performed
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Procedure
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure</code>
<br/>
<em>Must Support Elements</em>: code, performed
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-blood-pressure</code>
<br/>
<em>Must Support Elements</em>: effective, component
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-temperature</code>
<br/>
<em>Must Support Elements</em>: code, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.152</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-temperature</code>
<br/>
<em>Must Support Elements</em>: value
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Coverage
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage</code>
<br/>
<em>Must Support Elements</em>: type, period
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: type</span>
<br/>
<span class="tab-one"><em>ValueSet</em>:</span> <code>http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591</code>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate</code>
<br/>
<em>Must Support Elements</em>: code, effective, value
<br/>
<em>Code Filter(s)</em>:
<br/>
<span class="tab-one"><em>Path</em>: code</span>
<br/>
<span class="tab-one"><em>Code(s)</em>:
<a href="https://loinc.org/8867-4">LOINC 8867-4</a>: Heart rate
</span>
<br/>
</td>
</tr>
<tr>
<th scope="row" class="row-header">Data Requirement</th>
<td class="content-container">
<em>Type</em>: Observation
<br/>
<em>Profile(s)</em>:
<code>http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate</code>
<br/>
<em>Must Support Elements</em>: value
<br/>
</td>
</tr>
<tr>
<th colspan="2" scope="row" class="row-header">Generated using version 0.4.8 of the sample-content-ig Liquid templates</th>
</tr>
</tbody>
</table>
</div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="9279-1"/>
<display value="Respiratory rate"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="248153007"/>
<display value="Male (finding)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://snomed.info/sct"/>
<code value="248152002"/>
<display value="Female (finding)"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
<code value="laboratory"/>
<display value="Laboratory"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="8480-6"/>
<display value="Systolic blood pressure"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-directReferenceCode">
<valueCoding>
<system value="http://loinc.org"/>
<code value="8867-4"/>
<display value="Heart rate"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Age 18 and Length of Stay 48 Hours or More"/>
</extension>
<extension url="statement">
<valueString
value="// Supports Initial Population
/*
define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period)>= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation() >= 48 )*/
define "Encounter with Age 18 and Length of Stay 48 Hours or More":
["Encounter": "Encounter Inpatient"] InpatientEncounter
where Patient.sex in { '248153007', '248152002' }
and InpatientEncounter.period ends during day of "Measurement Period"
and AgeInYearsAt(date from start of InpatientEncounter.period) >= 18
and ( duration in hours of InpatientEncounter.hospitalizationWithObservation ( ) >= 48 )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Inpatient Encounter with Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="// Supports Initial Population
define "Inpatient Encounter with Creatinine":
from
"Encounter with Age 18 and Length of Stay 48 Hours or More" Encounter48Hours,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
let HospitalizationPeriod: Encounter48Hours.hospitalizationWithObservation ( ),
CreatinineTestStart: CreatinineTest.effective.earliest ( )
where CreatinineTest.value is not null
and CreatinineTestStart during Interval[start of HospitalizationPeriod + 48 hours, end of HospitalizationPeriod]
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return Encounter48Hours"/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Creatinine and without Obstetrical Conditions"/>
</extension>
<extension url="statement">
<valueString
value="// clause 2
//-------------------------------- Supporting Definitions for Initial Population -----------------------------
// Supports Initial Population
// Used in other definitions throughout
define "Encounter with Creatinine and without Obstetrical Conditions":
"Inpatient Encounter with Creatinine" EncounterWithCreatinine
where not exists ( ( EncounterWithCreatinine.encounterDiagnosis ( ) ) EncounterDiagnosis
where EncounterDiagnosis.code in "Obstetrics and VTE Obstetrics"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Risk Variable Estimated Glomerular Filtration Rate for Females"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Risk Variable Definitions -----------------------------
define "Risk Variable Estimated Glomerular Filtration Rate for Females":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
eGFR: "FemaleeGFR"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
Patient.race R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Race"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Race":
SDE."SDE Race""/>
</extension>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Risk Variable First Respiratory Rate in Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable First Respiratory Rate in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstRespiratoryRate: "FirstRespiratoryRate"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Risk Variable All Encounter Diagnoses with POA Indication"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable All Encounter Diagnoses with POA Indication":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
[Claim] claim
where claim.status = 'active'
and claim.use = 'claim'
and exists ( claim.item I
where I.encounter.references ( QualifyingEncounter )
and exists ( claim.diagnosis D
where D.sequence in claim.item.diagnosisSequence
and D.onAdmission in "Present on Admission or Clinically Undetermined"
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
case
when Patient.sex = '248153007' then "Male (finding)"
when Patient.sex = '248152002' then "Female (finding)"
else null
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Sex"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Sex":
SDE."SDE Sex""/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Risk Variable Estimated Glomerular Filtration Rate for Males"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable Estimated Glomerular Filtration Rate for Males":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
eGFR: "MaleeGFR"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Serum Creatinine Normal"/>
</extension>
<extension url="statement">
<valueString
value="// Supports "Encounter with 2 Times Serum Creatinine Increase"
// Supports "Encounter with 1.5 Times Serum Creatinine Increase"
define "Serum Creatinine Normal":
if ( Patient.sex = '248152002' ) then 1.02 'mg/dL'
else 1.18 'mg/dL'"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Qualifying Creatinine Lab Result by Time"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Supporting Definitions for Creatinine calculations -----------------------------
// Used throughout creatinine functions and defines
define "Qualifying Creatinine Lab Result by Time":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTestByTime
let CrEncId: QualifyingEncounter.id,
CrHospPeriod: QualifyingEncounter.hospitalizationWithObservation ( ),
CrLabId: CreatinineTestByTime.id,
CrTime: CreatinineTestByTime.effective.earliest ( ),
CrTimeIssued: CreatinineTestByTime.issued,
CrResult: CreatinineTestByTime.value as Quantity,
CrResultValue: CrResult.value,
CrResultUnit: CrResult.unit
where CrTime during CrHospPeriod
and CreatinineTestByTime.isLaboratory ( )
and CreatinineTestByTime.status in { 'final', 'amended', 'corrected' }
and CrResultUnit = 'mg/dL'
and CreatinineTestByTime.value is not null
and CreatinineTestByTime.value as Quantity > 0 'mg/dL'
return Tuple {
CrEncInPtId: CrEncId,
CrHospitalization: CrHospPeriod,
CrLabObsId: CrLabId,
// LabCategory: CreatinineTestByQuantity.isLaboratory(),
CrLabObsCategory: if CreatinineTestByTime.isLaboratory ( ) then 'laboratory'
else CreatinineTestByTime.isLaboratory ( ),
CrLabObsStatus: CreatinineTestByTime.status,
CrLabResult: CrResult,
CrLabResultUnit: CrResultUnit,
CrLabResultValue: CrResultValue,
CrLabTime: CrTime,
CrLabTimeIssued: CrTimeIssued
}
sort by CrLabTime"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 1.5 Times Serum Creatinine Increase"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 4
// Supporting Numerator
define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(QualifyingEncounter)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and "1.5IncreaseInCreatinine"(QualifyingEncounter) >= LowCreatinineTest.value
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 2 Times Serum Creatinine Increase"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 4
// Also Supporting Numerator clause 1
define "Encounter with 2 Times Serum Creatinine Increase":
from
"Encounter with 1.5 Times Serum Creatinine Increase" EncounterWithHighCreatinine,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] HighCreatinineTest,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] LowCreatinineTest
let LowCreatinineTestTime: LowCreatinineTest.effective.earliest ( ),
HighCreatinineTestTime: HighCreatinineTest.effective.earliest ( ),
HospitalWithObservationPeriod: EncounterWithHighCreatinine.hospitalizationWithObservation ( )
where ( HighCreatinineTest.value > "Serum Creatinine Normal" )
and LowCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.status in { 'final', 'amended', 'corrected' }
and HighCreatinineTest.value = "HighestSerumCreatinineResult"(EncounterWithHighCreatinine)
and LowCreatinineTest.value = "LowestSerumCreatinineResult"(EncounterWithHighCreatinine)
and ( HighCreatinineTest.value as Quantity ) >= ( LowCreatinineTest.value as Quantity )
and LowCreatinineTestTime 7 days or less before HighCreatinineTestTime
and LowCreatinineTestTime during HospitalWithObservationPeriod
and HighCreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
and HighCreatinineTestTime during HospitalWithObservationPeriod
return EncounterWithHighCreatinine"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival"/>
</extension>
<extension url="statement">
<valueString
value="// Supports Numerator union clause 2
define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod + 48 hours, end of HospitalWithObservationPeriod]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Supporting Definitions for Numerator -----------------------------
// Numerator clause 1: See "Encounter with 2 Times Serum Creatinine Increase"
// Numerator union clause 2
define "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival" EncounterWithDialysisAfter48Hours
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithDialysisAfter48Hours.period )
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Numerator"/>
</extension>
<extension url="statement">
<valueString
value="// clause 6
define "Numerator":
"Encounter with 2 Times Serum Creatinine Increase" // clause 1
union "Encounter with Kidney Dialysis Started More Than 48 Hours After Arrival without High Creatinine""/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Qualifying Systolic Blood Pressure Reading"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Systolic Blood Pressure Reading":
["USCoreBloodPressureProfile"] BloodPressure
where BloodPressure.effective.earliest ( ) during day of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="18"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Risk Variable First Systolic Blood Pressure in Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable First Systolic Blood Pressure in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstSystolicBP: "FirstSystolicBloodPressure"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="19"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Risk Variable First Temperature in Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable First Temperature in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstTemperature: "FirstBodyTemperature"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="20"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Population Definitions -----------------------------
define "Initial Population":
"Encounter with Creatinine and without Obstetrical Conditions""/>
</extension>
<extension url="displaySequence">
<valueInteger value="21"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator":
"Initial Population""/>
</extension>
<extension url="displaySequence">
<valueInteger value="22"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
[Coverage: type in "Payer Type"] Payer
return {
code: Payer.type,
period: Payer.period
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="23"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Payer"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Payer":
SDE."SDE Payer""/>
</extension>
<extension url="displaySequence">
<valueInteger value="24"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="SupplementalDataElements"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
Patient.ethnicity E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="25"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="SDE Ethnicity"/>
</extension>
<extension url="statement">
<valueString
value="define "SDE Ethnicity":
SDE."SDE Ethnicity""/>
</extension>
<extension url="displaySequence">
<valueInteger value="26"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Risk Variable First Heart Rate in Encounter"/>
</extension>
<extension url="statement">
<valueString
value="define "Risk Variable First Heart Rate in Encounter":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
return Tuple {
encounterId: QualifyingEncounter.id,
firstHeartRate: "FirstHeartRate"(QualifyingEncounter)
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="27"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Supporting Definitions for Denominator Exclusion -----------------------------
// Denominator Exclusion clause 1
define "Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where ( Count("CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter)) < 2 )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="28"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Male Encounter with eGFR Less Than 60"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 2
define "Male Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "MaleeGFR"(QualifyingEncounter) is not null
and "MaleeGFR"(QualifyingEncounter) as Decimal < 60"/>
</extension>
<extension url="displaySequence">
<valueInteger value="29"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Female Encounter with eGFR Less Than 60"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 2
define "Female Encounter with eGFR Less Than 60":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where "FemaleeGFR"(QualifyingEncounter) is not null
and "FemaleeGFR"(QualifyingEncounter) as Decimal < 60"/>
</extension>
<extension url="displaySequence">
<valueInteger value="30"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Index eGFR Less Than 60 within First 48 Hours"/>
</extension>
<extension url="statement">
<valueString
value="// Denonminator Exclusion clause 2
define "Encounter with Index eGFR Less Than 60 within First 48 Hours":
"Male Encounter with eGFR Less Than 60"
union "Female Encounter with eGFR Less Than 60""/>
</extension>
<extension url="displaySequence">
<valueInteger value="31"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"/>
</extension>
<extension url="statement">
<valueString
value="//define "Encounter with 0.3 mg dL or More Increase in Creatinine":
//Coalesce("Increase of 0.3 or More Using Lowest Creatinine within 24 Hours","Increase of 0.3 or More Using First Creatinine within First 48 Hours")
/*
define "Encounter with 0.3 mg dL or More Increase in Creatinine":
case
when "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours" is not null
then "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
when "Increase of 0.3 or More Using First Creatinine within First 48 Hours" is not null
then "Increase of 0.3 or More Using First Creatinine within First 48 Hours"
else null
end */
// Supporting Denominator Exclusion clause 3
define "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value = "LowestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 24 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="32"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Increase of 0.3 or More Using First Creatinine within First 48 Hours"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 3
define "Increase of 0.3 or More Using First Creatinine within First 48 Hours":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] IndexCreatinineLabResult,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] SubsequentCreatinineLabResult
let IndexCreatinineLabResultTime: IndexCreatinineLabResult.effective.earliest ( ),
SubsequentCreatinineLabResultTime: SubsequentCreatinineLabResult.effective.earliest ( ),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where IndexCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and SubsequentCreatinineLabResult.status in { 'final', 'amended', 'corrected' }
and ( ( SubsequentCreatinineLabResult.value as Quantity ) - ( IndexCreatinineLabResult.value as Quantity ) ) > 0.299 'mg/dL'
and IndexCreatinineLabResult.value as Quantity = singleton from "EarliestSerumCreatinineResult"(QualifyingEncounter)
and IndexCreatinineLabResultTime during Interval[SubsequentCreatinineLabResultTime - 48 hours, SubsequentCreatinineLabResultTime]
and IndexCreatinineLabResultTime during HospitalWithObservationPeriod
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during HospitalWithObservationPeriod
and IndexCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and SubsequentCreatinineLabResultTime during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and IndexCreatinineLabResult.id != SubsequentCreatinineLabResult.id
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="33"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with 0.3 mg dL or More Increase in Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="// Denominator Exclusion clause 3 (Coalesce doesn't seem to work as intended)
define "Encounter with 0.3 mg dL or More Increase in Creatinine":
"Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
union "Increase of 0.3 or More Using First Creatinine within First 48 Hours""/>
</extension>
<extension url="displaySequence">
<valueInteger value="34"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 4
define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival":
from
["Procedure": "Hospital Based Dialysis Services"] Dialysis,
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
let HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation ( )
where Dialysis.performed.toInterval ( ) starts during Interval[start of HospitalWithObservationPeriod, start of HospitalWithObservationPeriod + 48 hours]
and Dialysis.performed.toInterval ( ) starts during HospitalWithObservationPeriod
return QualifyingEncounter"/>
</extension>
<extension url="displaySequence">
<valueInteger value="35"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString
value="Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine"/>
</extension>
<extension url="statement">
<valueString
value="// Denominator Exclusion clause 4
define "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine":
"Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival" EncounterWithKidneyDialysis48HoursOrAfter
where not ( exists ( "Encounter with 2 Times Serum Creatinine Increase" EncounterWithHighCreatinine
where ( EncounterWithHighCreatinine.period includes EncounterWithKidneyDialysis48HoursOrAfter.period )
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="36"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Encounter with High Risk Diagnosis for AKI"/>
</extension>
<extension url="statement">
<valueString
value="// Denominator Exclusion clause 5
define "Encounter with High Risk Diagnosis for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
where exists ( ( QualifyingEncounter.encounterDiagnosis ( ) ) EncounterDiagnosis
where ( EncounterDiagnosis.code in "High Risk Diagnosis for AKI" )
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="37"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Encounter with High Risk Procedures for AKI"/>
</extension>
<extension url="statement">
<valueString
value="// Denominator Exclusion clause 6
define "Encounter with High Risk Procedures for AKI":
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter
with ["Procedure": "High Risk Procedures for AKI"] HighRiskProcedures
such that HighRiskProcedures.performed.toInterval ( ) starts during QualifyingEncounter.hospitalizationWithObservation ( )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="38"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="Denominator Exclusion"/>
</extension>
<extension url="statement">
<valueString
value="define "Denominator Exclusion":
"Encounter with Less Than 2 Creatinine Results within 48 Hours of Arrival" // clause 1
union "Encounter with Index eGFR Less Than 60 within First 48 Hours" // clause 2
union "Encounter with 0.3 mg dL or More Increase in Creatinine" // clause 3
union "Encounter with Kidney Dialysis Started 48 Hours or Less After Arrival without High Creatinine" // clause 4
union "Encounter with High Risk Diagnosis for AKI" // clause 5
union "Encounter with High Risk Procedures for AKI""/>
</extension>
<extension url="displaySequence">
<valueInteger value="39"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value uri): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="40"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="41"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CQMCommon"/>
</extension>
<extension url="name">
<valueString value="hospitalizationWithObservation"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Hospitalization with Observation returns the total interval from the start of any immediately prior emergency department visit through the observation visit to the discharge of the given encounter
*/
define fluent function hospitalizationWithObservation(TheEncounter Encounter ):
TheEncounter Visit
let ObsVisit: Last([Encounter: "Observation Services"] LastObs
where LastObs.status = 'finished'
and LastObs.period ends 1 hour or less on or before start of Visit.period
sort by end of period
),
VisitStart: Coalesce(start of ObsVisit.period, start of Visit.period),
EDVisit: Last([Encounter: "Emergency Department Visit"] LastED
where LastED.status = 'finished'
and LastED.period ends 1 hour or less on or before VisitStart
sort by end of period
)
return Interval[Coalesce(start of EDVisit.period, VisitStart), end of Visit.period]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="42"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="earliest"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Given an interval, return the starting point if the interval has a starting boundary specified,
otherwise, return the ending point
*/
define fluent function earliest(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>> ):
(choice.toInterval()) period
return
if (period."hasStart"()) then start of period
else end of period"/>
</extension>
<extension url="displaySequence">
<valueInteger value="43"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CQMCommon"/>
</extension>
<extension url="name">
<valueString value="encounterDiagnosis"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns the Condition resources referenced by the diagnosis element of the Encounter
*/
define fluent function encounterDiagnosis(Encounter Encounter ):
Encounter.reasonReference D
return singleton from (([ConditionEncounterDiagnosis] union [ConditionProblemsHealthConcerns]) C where D.references(C.id))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="44"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="references"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given reference is to the given resourceId
@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.
NOTE: This function assumes resources from the same source server.
*/
define fluent function references(reference Reference, resourceId String):
resourceId = Last(Split(reference.reference, '/'))"/>
</extension>
<extension url="displaySequence">
<valueInteger value="45"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="FemaleeGFR"/>
</extension>
<extension url="statement">
<valueString
value="// eGFR functions return as decimal value rather than Quantity
// Supports Denominator Exclusion clause 2
// Supports risk variable "Risk Variable Estimated Glomerular Filtration Rate for Females"
define function "FemaleeGFR"(QualifyingEncounter Encounter):
if Patient.sex = '248152002' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 0.241 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.7), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) * 1.012 )
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="46"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
define function ToCode(coding FHIR.Coding):
if coding is null then
null
else
System.Code {
code: coding.code.value,
system: coding.system.value,
version: coding.version.value,
display: coding.display.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="47"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="FirstRespiratoryRate"/>
</extension>
<extension url="statement">
<valueString
value="define function "FirstRespiratoryRate"(QualifyingEncounter Encounter):
First(["USCoreRespiratoryRateProfile": "Respiratory rate"] FirstRespiration
where FirstRespiration.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstRespiration.value is not null
sort by effective.earliest()
).value as Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="48"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="MaleeGFR"/>
</extension>
<extension url="statement">
<valueString
value="// eGFR functions return as decimal value rather than Quantity
// Supports Denominator Exclusion clause 2
// Supports risk variable "Risk Variable Estimated Glomerular Filtration Rate for Females"
define function "MaleeGFR"(QualifyingEncounter Encounter):
if Patient.sex = '248153007' then ( 142 * Min({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 0.302 ) * Max({("IndexCreatinine"(QualifyingEncounter).value / 0.9), 1 }) ^ ( - 1.200 ) * 0.9938 ^ ( AgeInYearsAt(start of QualifyingEncounter.hospitalizationWithObservation()) ) )
else null"/>
</extension>
<extension url="displaySequence">
<valueInteger value="49"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="HighestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="// The following functions work with Cr result as Quantity (not decimal, but Quantity value is decimal)
// Supporting Denominator Exclusion clause 4 via "Encounter with 2 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 2 Times Serum Creatinine Increase"
define function "HighestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Max((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="50"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="isLaboratory"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given observation is a laboratory observation
*/
define fluent function isLaboratory(observation Choice<"SimpleObservation",
"ObservationCancelled",
"NonPatientObservation",
"LaboratoryResultObservation",
"ObservationClinicalResult",
"ObservationScreeningAssessment">):
exists (observation.category C
where C ~ "laboratory"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="51"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
define function ToConcept(concept FHIR.CodeableConcept):
if concept is null then
null
else
System.Concept {
codes: concept.coding C return ToCode(C),
display: concept.text.value
}"/>
</extension>
<extension url="displaySequence">
<valueInteger value="52"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="LowestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 3 via "Increase of 0.3 or More Using Lowest Creatinine within 24 Hours"
// and clause 4 via "Encounter with 1.5 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 1.5 Times Serum Creatinine Increase"
define function "LowestSerumCreatinineResult"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where LabTests.CrEncInPtId = QualifyingEncounter.id
).CrLabResult
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="53"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="1.5IncreaseInCreatinine"/>
</extension>
<extension url="statement">
<valueString
value="// Supporting Denominator Exclusion clause 4 via "Encounter with 1.5 Times Serum Creatinine Increase"
// Supporting Numerator via "Encounter with 1.5 Times Serum Creatinine Increase"
define function "1.5IncreaseInCreatinine"(QualifyingEncounter Encounter):
"HighestSerumCreatinineResult"(QualifyingEncounter) / 1.5"/>
</extension>
<extension url="displaySequence">
<valueInteger value="54"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="QICoreCommon"/>
</extension>
<extension url="name">
<valueString value="toInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in QICore, allowing this function to be used across any resource.
The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
If the input is a DateTime Interval, the result is the input.
If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
If the input is a Timing, an error will be thrown indicating that Timing calculations are not implemented. Any other input will reslt in a null DateTime Interval
*/
define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>, Timing>):
case
when choice is DateTime then
Interval[choice as DateTime, choice as DateTime]
when choice is Interval<DateTime> then
choice as Interval<DateTime>
when choice is Quantity then
Interval[Patient.birthDate + (choice as Quantity),
Patient.birthDate + (choice as Quantity) + 1 year)
when choice is Interval<Quantity> then
Interval[Patient.birthDate + (choice.low as Quantity),
Patient.birthDate + (choice.high as Quantity) + 1 year)
when choice is Timing then
Message(null, true, 'NOT_IMPLEMENTED', 'Error', 'Calculation of an interval from a Timing value is not supported') as Interval<DateTime>
else
null as Interval<DateTime>
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="55"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="FirstSystolicBloodPressure"/>
</extension>
<extension url="statement">
<valueString
value="define function "FirstSystolicBloodPressure"(QualifyingEncounter Encounter):
First("Qualifying Systolic Blood Pressure Reading" SBPReading
where SBPReading.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
return singleton from(SBPReading.component SBPComponent
where SBPComponent.code ~ "Systolic blood pressure"
return SBPComponent.value as Quantity
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="56"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="FirstBodyTemperature"/>
</extension>
<extension url="statement">
<valueString
value="// -------------------------------- Risk Variable supportin functions -----------------------------
define function "FirstBodyTemperature"(QualifyingEncounter Encounter):
First(["USCoreBodyTemperatureProfile": "Body temperature"] FirstTemperature
where FirstTemperature.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstTemperature.value is not null
sort by effective.earliest()
).value as Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="57"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="FirstHeartRate"/>
</extension>
<extension url="statement">
<valueString
value="define function "FirstHeartRate"(QualifyingEncounter Encounter):
First(["USCoreHeartRateProfile": "Heart rate"] FirstHeartBeats
where FirstHeartBeats.effective.earliest() during QualifyingEncounter.hospitalizationWithObservation()
and FirstHeartBeats.value is not null
sort by effective.earliest()
).value as Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="58"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="CreatinineLabTestwithResultwithinFirst48Hours"/>
</extension>
<extension url="statement">
<valueString
value="/*
define "Encounter with 1.5 Times Serum Creatinine Increase":
from
"Encounter with Creatinine and without Obstetrical Conditions" QualifyingEncounter,
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
let
LowestCreatinineTestWithin7DaysPrior: "LowestSerumCreatinineWithin7DaysPrior"(QualifyingEncounter, CreatinineTest),
CreatinineTestTime: CreatinineTest.effective.earliest(),
HospitalWithObservationPeriod: QualifyingEncounter.hospitalizationWithObservation()
where
CreatinineTest.value >= LowestCreatinineTestWithin7DaysPrior * 1.5
and CreatinineTest.value > "Serum Creatinine Normal"
and CreatinineTestTime during Interval[start of HospitalWithObservationPeriod + 48 hours, start of HospitalWithObservationPeriod + 30 days]
return QualifyingEncounter*/
// -------------------------------- Supporting Functions for Creatinine calculations -----------------------------
// Supports Denominator Exclusion clause 1
define function "CreatinineLabTestwithResultwithinFirst48Hours"(QualifyingEncounter Encounter):
from
["LaboratoryResultObservation": "Creatinine Mass Per Volume"] CreatinineTest
where CreatinineTest.value is not null
and CreatinineTest.effective.earliest ( ) during Interval[start of QualifyingEncounter.hospitalizationWithObservation ( ), start of QualifyingEncounter.hospitalizationWithObservation ( ) + 48 hours]
and CreatinineTest.effective.earliest ( ) during QualifyingEncounter.hospitalizationWithObservation ( )
and CreatinineTest.status in { 'final', 'amended', 'corrected' }
return CreatinineTest"/>
</extension>
<extension url="displaySequence">
<valueInteger value="59"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="EarliestSerumCreatinineResult"/>
</extension>
<extension url="statement">
<valueString
value="// Supports Denominator Exclusion clause 3
define function "EarliestSerumCreatinineResult"(QualifyingEncounter Encounter):
from
"Qualifying Creatinine Lab Result by Time" LabTests
let LabResult: LabTests.CrLabResult
where ( "EarliestSerumCreatinineTime"(QualifyingEncounter) = LabTests.CrLabTime )
return LabResult as Quantity"/>
</extension>
<extension url="displaySequence">
<valueInteger value="60"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="CMS832HHAKIFHIR"/>
</extension>
<extension url="name">
<valueString value="EarliestSerumCreatinineTime"/>
</extension>
<extension url="statement">
<valueString
value="// Supports Denominator Exclusion clause 3 via "EarliestSerumCreatinineResult" function
define function "EarliestSerumCreatinineTime"(QualifyingEncounter Encounter):
( Min((from
"Qualifying Creatinine Lab Result by Time" LabTestsEarly
let LabResultEarly: LabTestsEarly.CrLabResult
where LabTestsEarly.CrEncInPtId = QualifyingEncounter.id
).CrLabTime
)
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="61"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource value="https://madie.cms.gov/Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library CQMCommon"/>
<resource value="https://madie.cms.gov/Library/CQMCommon|4.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library QICoreCommon"/>
<resource value="https://madie.cms.gov/Library/QICoreCommon|4.0.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library SDE"/>
<resource
value="https://madie.cms.gov/Library/SupplementalDataElements|5.1.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system LOINC"/>
<resource value="http://loinc.org"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system SNOMEDCT"/>
<resource value="http://snomed.info/sct"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ObservationCategoryCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/observation-category"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Encounter Inpatient"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Observation Services"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Emergency Department Visit"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Creatinine Mass Per Volume"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Obstetrics and VTE Obstetrics"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.33"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Present on Admission or Clinically Undetermined"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1147.197"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Hospital Based Dialysis Services"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Body temperature"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.152"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Payer Type"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set High Risk Diagnosis for AKI"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.12"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set High Risk Procedures for AKI"/>
<resource
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name
value="Risk Variable Estimated Glomerular Filtration Rate for Females"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="SDE Race"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Risk Variable First Respiratory Rate in Encounter"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name
value="Risk Variable All Encounter Diagnoses with POA Indication"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="SDE Sex"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Coding"/>
</parameter>
<parameter>
<name
value="Risk Variable Estimated Glomerular Filtration Rate for Males"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Numerator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name
value="Risk Variable First Systolic Blood Pressure in Encounter"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Risk Variable First Temperature in Encounter"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="SDE Payer"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="SDE Ethnicity"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Risk Variable First Heart Rate in Encounter"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<parameter>
<name value="Denominator Exclusion"/>
<use value="out"/>
<min value="0"/>
<max value="*"/>
<type value="Resource"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient"/>
<mustSupport value="extension"/>
<mustSupport value="url"/>
<mustSupport value="birthDate"/>
<mustSupport value="birthDate.value"/>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1111.143"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="period"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter"/>
<mustSupport value="id"/>
<mustSupport value="period"/>
<mustSupport value="id.value"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-observation-lab"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
<mustSupport value="issued"/>
<mustSupport value="issued.value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.21"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-encounter-diagnosis"/>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="9279-1"/>
<display value="Respiratory rate"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-respiratory-rate"/>
<mustSupport value="value"/>
</dataRequirement>
<dataRequirement>
<type value="Resource"/>
<profile value="http://hl7.org/fhir/StructureDefinition/Resource"/>
<mustSupport value="id"/>
<mustSupport value="id.value"/>
</dataRequirement>
<dataRequirement>
<type value="Claim"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-claim"/>
<mustSupport value="status"/>
<mustSupport value="status.value"/>
<mustSupport value="use"/>
<mustSupport value="use.value"/>
<mustSupport value="item"/>
<mustSupport value="diagnosis"/>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.199"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Procedure"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-procedure"/>
<mustSupport value="code"/>
<mustSupport value="performed"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1248.19"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-blood-pressure"/>
<mustSupport value="effective"/>
<mustSupport value="component"/>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-temperature"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1045.152"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-body-temperature"/>
<mustSupport value="value"/>
</dataRequirement>
<dataRequirement>
<type value="Coverage"/>
<profile
value="http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-coverage"/>
<mustSupport value="type"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.3591"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate"/>
<mustSupport value="code"/>
<mustSupport value="effective"/>
<mustSupport value="value"/>
<codeFilter>
<path value="code"/>
<code>
<system value="http://loinc.org"/>
<code value="8867-4"/>
<display value="Heart rate"/>
</code>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Observation"/>
<profile
value="http://hl7.org/fhir/us/core/StructureDefinition/us-core-heart-rate"/>
<mustSupport value="value"/>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance" id="supplementalDataGuidance">
<extension url="guidance">
<valueString
value="For every patient evaluated by this measure also identify payer, race, ethnicity and sex"/>
</extension>
<extension url="usage">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
<display value="Supplemental Data"/>
</coding>
<text value="Supplemental Data Guidance"/>
</valueCodeableConcept>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-supplementalDataGuidance" id="riskAdjustmentVariableGuidance">
<extension url="guidance">
<valueString
value="Sex and Age.
First vital signs since the encounter start:
- Heart Rate
- Respiratory Rate
- Systolic Blood Pressure
- Temperature.
The estimated glomerular filtration rate (eGFR) which is calculated using the index serum creatinine, patient sex, and age-based formula.
Patient sex collected for risk adjustment and to calculate the eGFR is determined by the
AdministrativeGender codes 'F' (female) and 'M' (male). These codes make up the "ONC Administrative
Sex" value set and are also used to derive the supplemental data element of patient sex for the measure.
All encounter diagnoses along with their present on admission (POA) indicators are being collected for the development of baseline risk adjustment model with initial focus on any encounter diagnoses captured for:
- Cancer (leukemia, lymphoma, or metastatic cancer)
- Diabetes
- Heart failure
- Hypertension
- Obesity
Encounter length of stay.
Please see the Hospital Harm - Acute Kidney Injury Risk Adjustment Methodology Report on the eCQM-specific page on the eCQI Resource Center website: https://ecqi.healthit.gov/"/>
</extension>
<extension url="usage">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
<display value="Risk Adjustment Factor"/>
</coding>
<text value="Risk Adjustment Variable Guidance"/>
</valueCodeableConcept>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements">
<valueReference>
<reference value="#effective-data-requirements"/>
</valueReference>
</extension>
<url value="https://madie.cms.gov/Measure/CMS832HHAKIFHIR"/>
<identifier>
<use value="usual"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="short-name"/>
<display value="Short Name"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/shortName"/>
<value value="CMS832FHIR"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-independent"/>
<display value="Version Independent"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:ceeb6884-0dc4-4f4d-be48-01a6a998b8d2"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="version-specific"/>
<display value="Version Specific"/>
</coding>
</type>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:uuid:9045b3dd-5111-49de-9929-7b0101a3e5b2"/>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="endorser"/>
<display value="Endorser"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cbeId"/>
<value value="3713e"/>
<assigner>
<display value="CMS Consensus Based Entity"/>
</assigner>
</identifier>
<identifier>
<use value="official"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/artifact-identifier-type"/>
<code value="publisher"/>
<display value="Publisher"/>
</coding>
</type>
<system value="https://madie.cms.gov/measure/cmsId"/>
<value value="832FHIR"/>
<assigner>
<display value="CMS"/>
</assigner>
</identifier>
<version value="0.2.000"/>
<name value="CMS832HHAKIFHIR"/>
<title value="Hospital Harm - Acute Kidney InjuryFHIR"/>
<status value="active"/>
<experimental value="false"/>
<date value="2025-05-27T15:45:18+00:00"/>
<publisher value="Centers for Medicare & Medicaid Services (CMS)"/>
<contact>
<telecom>
<system value="url"/>
<value value="https://www.cms.gov/"/>
</telecom>
</contact>
<description
value="The measure assesses the number of inpatient hospitalizations for patients age 18 and older who have an acute kidney injury (stage 2 or greater) that occurred during the encounter. Acute kidney injury (AKI) stage 2 or greater is defined as a substantial increase in serum creatinine value, or by the initiation of kidney dialysis (continuous renal replacement therapy (CRRT), hemodialysis or peritoneal dialysis)."/>
<usage
value="A patient characteristic of male or female sex is required as part of the initial population criteria, as sex is crucial to this measure. For example:
- The eGFR estimating equation that is used to identify AKI is sex-specific; and
- The reference ranges for the serum creatinine value are sex-specific, which matters because the serum creatinine must rise to a sex-specific abnormal value to be flagged as AKI.
Exclude encounters that do not have at least two serum creatine values within 48 hours of arrival. Two values are needed within this timeframe to determine if the patient has AKI or moderate-to-severe renal dysfunction on arrival.
For encounters for patients without harm, as identified by 2 times increase in serum creatinine, query for initiation of renal dialysis during hospitalization, defined by the start of dialysis occurring during the encounter.
- If dialysis starts more than 48 hours after the start of the encounter, this meets numerator criteria.
- If dialysis starts 48 hours or less after the start of the encounter, this meets denominator exclusion criteria.
Encounters for patients with an increase in serum creatinine value of at least 0.3 mg/dL between the index serum creatinine and any subsequent serum creatinine taken within 48 hours of the encounter start are excluded. Due to the variability of decimal precision within programming languages and calculation tools, the value of >=0.3 mg/dL is expressed in the logic as >0.299 mg/dL.
Note the measure is currently confined to using mg/dL as the unit of measurement for creatinine and mL/min as the unit of measurement for eGFR results.
When reporting the first body temperature for risk adjustment, values from either Celsius or Fahrenheit readings are acceptable to report but Celsius readings are preferred.
This eCQM is an episode-based measure. An episode is defined as each inpatient hospitalization or encounter that ends during the measurement period.
This FHIR-based measure has been derived from the QDM-based measure: CMS832v3. Please refer to the HL7 QI-Core Implementation Guide (https://hl7.org/fhir/us/qicore/STU6/) for more information on QI-Core and mapping recommendations from QDM to QI-Core STU 6 (https://hl7.org/fhir/us/qicore/STU6/qdm-to-qicore.html)."/>
<copyright
value="Limited proprietary coding is contained in the Measure specifications for user convenience. Users of proprietary code sets should obtain all necessary licenses from the owners of the code sets. American Institutes for Research(R), formerly IMPAQ International, disclaims all liability for use or accuracy of any third party codes contained in the specifications.
LOINC(R) copyright 2004-2023 Regenstrief Institute, Inc. This material contains SNOMED Clinical Terms(R) (SNOMED CT[R]) copyright 2004-2023 International Health Terminology Standards Development Organisation. ICD-10 copyright 2023 World Health Organization. All Rights Reserved."/>
<effectivePeriod>
<start value="2026-01-01"/>
<end value="2026-12-31"/>
</effectivePeriod>
<author>
<name value="American Institutes for Research (AIR)"/>
<telecom>
<system value="url"/>
<value value="https://www.air.org"/>
</telecom>
</author>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Ahmed, A., Vairavan, S., Akhoundi, A., Wilson, G., Chiofolo, C., Chbat, N., & Kashani, K. (2015). Development and validation of electronic surveillance tool for acute kidney injury: A retrospective analysis. J Crit Care, 30(5), 988-993. doi: 10.1016/j.jcrc.2015.05.007
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Barbar, S.D., Clere-Jehl, R., Bourredjem, A., Hernu, R., Montin,i F., Bruyère, R., Lebert, C., Bohé, J., Badie, J., Erald,i J.P., Rigaud, J.P., Levy, B., Siam,i S., Louis, G., Bouadma, L., Constantin, J.M., Mercier, E., Klouche, K., du Cheyron, D., ... Quenot, J.P. (2018). IDEAL-ICU Trial Investigators and the CRICS TRIGGERSEP Network. Timing of renal-replacement therapy in patients with acute kidney injury and sepsis. N Engl J Med. 2018 Oct 11;379(15):1431-1442. doi: 10.1056/NEJMoa1803213. PMID: 30304656
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Cho, A., Lee, J.E., Yoon, J.Y., Jang, H.R., Huh, W., Kim, Y.G., & Oh, H.Y. (2012). Effect of an electronic alert on risk of contrast-induced acute kidney injury in hospitalized patients undergoing computed tomography. American Journal of Kidney Diseases, 60(1), 74-81. doi: 10.1053/j.ajkd.2012.02.331. Epub 2012 Apr 11. PMID: 22497793
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Delgado, C., Baweja, M., Crews, D.C., Eneanya, N.D., Gadegbeku, C.A., Inker, L.A., Mendu, M L., Miller, W.G., Moxey-Mims, M.M., Roberts, G.V., St Peter, W.L., Warfield, C., & Powe, N.R. (2021). A unifying approach for GFR estimation: Recommendations of the NKF-ASN task force on reassessing the inclusion of race in diagnosing kidney disease. Journal of the American Society of Nephrology: JASN, 32(12), 2994–3015. doi: 10.1681/ASN.2021070988. Epub 2021 Dec 1. PMID: 34556489; PMCID: PMC8638402
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Delgado, C., Baweja, M., Crews, D.C., Eneanya, N.D., Gadegbeku, C.A., Inker, L.A., Mendu, M.L., Miller, W.G., Moxey-Mims, M.M., Roberts, G.V., St Peter, W.L., Warfield, C., & Powe, N.R. (2022). A unifying approach for GFR estimation: Recommendations of the NKF-ASN task force on reassessing the inclusion of race in diagnosing kidney disease. American journal of kidney diseases: The official journal of the National Kidney Foundation, 79(2), 268–288.e1. doi: 10.1053/j.ajkd.2021.08.003. Epub 2021 Sep 23. PMID: 34563581
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Diao, J.A., Inker, L.A., Levey, A.S., Tighiouart, H., Powe, N.R., & Manrai, A.K. (2021). In search of a better equation - Performance and equity in estimates of kidney function. N Engl J Med. 2021 Feb 4;384(5):396-399. doi: 10.1056/NEJMp2028243. Epub 2021 Jan 6. PMID: 33406354; PMCID: PMC8084706
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Gaudry, S., Hajage, D., Schortgen, F., Martin-Lefevre, L., Pons, B., Boulet, E., Boyer, A., Chevrel, G., Lerolle, N., Carpentier, D., de Prost, N., Lautrette, A., Bretagnol, A., Mayaux, J., Nseir, S., Megarbane, B., Thirion, M., Forel, J.M., Maize,l J., ... Dreyfuss, D. (2016). Initiation strategies for renal-replacement therapy in the intensive care unit. N Engl J Med. 2016 Jul 14;375(2):122-33. doi: 10.1056/NEJMoa1603017. Epub 2016 May 15. PMID: 27181456
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Göcze, I., Jauch, D., Götz, M., Kennedy, P., Jung, B., Zeman, F., Gnewuch, C., Graf, B. M., Gnann, W., Banas, B., Bein, T., Schlitt, H. J., & Bergler, T. (2018). Biomarker-guided Intervention to Prevent Acute Kidney Injury After Major Surgery: The Prospective Randomized BigpAK Study. Annals of surgery, 267(6), 1013–1020. doi: 10.1097/SLA.0000000000002485. PMID: 28857811
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Inker, L.A., Eneanya, N.D., Coresh, J., Tighiouart, H., Wang, D., Sang, Y., Crews, D.C., Doria, A., Estrella, M.M., Froissart, M., Grams, M.E., Greene, T., Grubb, A., Gudnason, V., Gutiérrez, O.M., Kalil, R., Karger, A.B., Mauer, M., Navis, G., ... Levey, A.S.(2021). Chronic Kidney Disease Epidemiology Collaboration. New creatinine- and cystatin c-based equations to estimate GFR without race. N Engl J Med. 2021 Nov 4;385(19):1737-1749. doi: 10.1056/NEJMoa2102953. Epub 2021 Sep 23. PMID: 34554658; PMCID: PMC8822996
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Kellum, J.A., Chawla, L.S., Keener, C., Singbartl, K., Palevsky, P.M., Pike, F.L., Yealy, D.M., Huang, D.T., Angus, D.C., & ProCESS and ProGReSS-AKI Investigators. (2016). The effects of alternative resuscitation strategies on acute kidney injury in patients with septic shock. American journal of respiratory and critical care medicine, 193(3), 281–287. doi: 10.1164/rccm.201505-0995OC. PMID: 26398704; PMCID: PMC4803059
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Kidney Disease: Improving Global Outcomes (KDIGO). (2012). KDIGO 2012 Clinical practice guideline for acute kidney injury. Kidney International, Suppl. 2, 1–141. doi:10.1038/kisup.2012.2
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Kirkendall, E.S., Spires, W.L., Mottes, T.A., Schaffzin, J.K., Barclay, C., & Goldstein, S.L. (2014). Development and performance of electronic acute kidney injury triggers to identify pediatric patients at risk for nephrotoxic medication-associated harm. Applied Clinical Informatics, 5(2), 313-333. doi: 10.4338/ACI-2013-12-RA-0102. PMID: 25024752; PMCID: PMC4081739
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Lameire, N.H., Levin, A., Kellum, J.A., Cheung, M., Jadoul, M., Winkelmayer, W.C., Stevens, P.E., & Conference Participants. (2021). Harmonizing acute and chronic kidney disease definition and classification: report of a Kidney Disease: Improving Global Outcomes (KDIGO) Consensus Conference. Kidney International, 100(3), 516–526. https://doi.org/10.1016/j.kint.2021.06.028
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Lopes, J. A., & Jorge, S. (2013). The RIFLE and AKIN classifications for acute kidney injury: A critical and comprehensive review. Clinical Kidney Journal, 6(1), 8-14. doi: 10.1093/ckj/sfs160. Epub 2012 Jan 1. PMID: 27818745; PMCID: PMC5094385
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Meersch, M., Schmidt, C., Hoffmeier, A., Van Aken, H., Wempe, C., Gerss, J., & Zarbock, A. (2017). Prevention of cardiac surgery-associated AKI by implementing the KDIGO guidelines in high risk patients identified by biomarkers: the PrevAKI randomized controlled trial. Intensive care medicine, 43(11), 1551–1561. doi: 10.1007/s00134-016-4670-3. Epub 2017 Jan 21. Erratum in: Intensive Care Med. 2017 Mar 7;: PMID: 28110412; PMCID: PMC5633630
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Nijssen, E.C., Rennenberg, R J., Nelemans, P.J., Essers, B.A., Janssen, M.M., Vermeeren, M.A., Ommen, V.V., & Wildberger, J.E. (2017). Prophylactic hydration to protect renal function from intravascular iodinated contrast material in patients at high risk of contrast-induced nephropathy (AMACING): a prospective, randomised, phase 3, controlled, open-label, non-inferiority trial. Lancet (London, England), 389(10076), 1312–1322. doi: 10.1016/S0140-6736(17)30057-0. Epub 2017 Feb 21. PMID: 28233565
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Ostermann, M., Bellomo, R., Burdmann, E.A., Doi, K., Endre, Z.H., Goldstein, S.L., Kane-Gill, S.L., Liu, K.D., Prowle, J.R., Shaw, A.D., Srisawat, N., Cheung, M., Jadoul, M., Winkelmayer, W.C., Kellum, J.A., & Conference Participants. (2020). Controversies in acute kidney injury: conclusions from a Kidney Disease: Improving Global Outcomes (KDIGO) Conference. Kidney international, 98(2), 294–309. doi: 10.1016/j.kint.2020.04.020. Epub 2020 Apr 26. PMID: 32709292; PMCID: PMC8481001
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Porter, C.J., Juurlink, I., Bisset, L.H., Bavakunji, R., Mehta, R.L., & Devonald, M.A. (2014). A real-time electronic alert to improve detection of acute kidney injury in a large teaching hospital. Nephrol Dial Transplant, 29(10), 1888-1893. doi: 10.1093/ndt/gfu082
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Schwager, E., Ghosh, E., Eshelman, L., Pasupathy, K.S., Barreto, E.F., & Kashani, K. (2023). Accurate and interpretable prediction of ICU-acquired AKI. Journal of critical care, 75, 154278. https://doi.org/10.1016/j.jcrc.2023.154278
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Selby, N.M., Crowley, L., Fluck, R.J., McIntyre, C.W., Monaghan, J., Lawson, N., & Kolhe, N.V. (2012). Use of electronic results reporting to diagnose and monitor AKI in hospitalized patients. Clinical Journal of The American Society of Nephrology: CJASN, 7(4), 533-540. doi: 10.2215/CJN.08970911. Epub 2012 Feb 23. PMID: 22362062
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Self, W.H., Semler, M.W., Wanderer, J.P., Wang, L., Byrne, D.W., Collins, S.P., Slovis, C.M., Lindsell, C.J., Ehrenfeld, J.M., Siew, E.D., Shaw, A.D., Bernard, G.R., Rice, T.W., & SALT-ED Investigators. (2018). Balanced crystalloids versus saline in noncritically ill adults. The New England journal of medicine, 378(9), 819–828. doi: 10.1056/NEJMoa1711586. Epub 2018 Feb 27. PMID: 29485926; PMCID: PMC5846618
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Thongprayoon, C., Hansrivijit, P., Kovvuru, K., Kanduri, S.R., Torres-Ortiz, A., Acharya, P., Gonzalez-Suarez, M.L., Kaewput, W., Bathini, T., & Cheungpasitporn, W. (2020). Diagnostics, risk factors, treatment and outcomes of acute kidney injury in a new paradigm. Journal of clinical medicine, 9(4), 1104. https://doi.org/10.3390/jcm9041104
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Wilson, F. P., Yang, W., & Feldman, H.I. (2013). Predictors of death and dialysis in severe AKI: The UPHS-AKI cohort. Clinical Journal of the American Society of Nephrology, 8(4), 527-537. doi: 10.2215/cjn.06450612
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Wilson, F.P., Reese, P.P., Shashaty, M.G., Ellenberg, S.S., Gitelman, Y., Bansal, A.D., & Fuchs, B. (2014). A trial of in-hospital, electronic alerts for acute kidney injury: Design and rationale. Clinical Trials, 11(5), 521-529. doi: 10.1177/1740774514542619. Epub 2014 Jul 14. PMID: 25023200; PMCID: PMC4156885
"/>
</relatedArtifact>
<relatedArtifact>
<type value="citation"/>
<citation
value="CITATION - Zarbock, A., Kellum, J.A., Schmidt, C., Van Aken, H., Wempe, C., Pavenstädt, H., Boanta, A., Gerß, J., & Meersch, M. (2016). Effect of early vs delayed initiation of renal replacement therapy on mortality in critically ill patients with acute kidney injury: The ELAIN Randomized Clinical Trial. JAMA, 315(20), 2190–2199. doi: 10.1001/jama.2016.5828. PMID: 27209269
"/>
</relatedArtifact>
<library value="https://madie.cms.gov/Library/CMS832HHAKIFHIR"/>
<disclaimer
value="This performance measure is not a clinical guideline and does not establish a standard of medical care, and has not been tested for all potential applications.
THE MEASURES AND SPECIFICATIONS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.
Due to technical limitations, registered trademarks are indicated by (R) or [R] and unregistered trademarks are indicated by (TM) or [TM]."/>
<rationale
value="This measure focuses on stage 2 or greater acute kidney injury as an outcome in the hospital inpatient setting. The incidence of AKI in general hospitalized patients is 10%–20%, and among critically ill patients, the incidence of AKI has been reported as high as 45–50%; in cardiac surgery patients it ranges from 30%-50% (Thongprayoon et al., 2020). Less severe acute kidney injury and acute kidney injury requiring dialysis affect approximately 2,000 to 3,000 and 200 to 300 per million population per year, respectively. Acute kidney injury may result in the need for dialysis, and is associated with an increased risk of mortality (Schwager et al., 2023; Wilson et al., 2013).
While not all instances of acute kidney injury are avoidable and may be due to natural progression of underlying illness or a complication of a necessary treatment such as chemotherapy, a proportion of acute kidney injury cases are preventable and treatable. The Kidney Disease: Improving Global Outcomes (KDIGO) guidelines suggest careful management of hemodynamic status, fluids, and vasoactive medications for the prevention of acute kidney injury (KDIGO, 2012). Several studies identified through systematic literature searches developed or evaluated the effectiveness of acute kidney injury electronic alert systems (Schwager et al., 2023; Selby et al., 2012; Ahmed et al., 2015; Porter et al., 2014; Wilson et al., 2014; Kirkendall et al., 2014; Cho et al., 2012). These studies used data elements for defining acute kidney injury that were already present and populated in the electronic health record (EHR). For acute kidney injury diagnosis, all except two were limited to using serum creatinine levels, suggesting that this is the most reliable and consistently available electronic data element for defining acute kidney injury."/>
<clinicalRecommendationStatement
value="Serum creatinine is an accepted proxy for acute kidney disease (Ostermann et al., 2020; KDIGO, 2012). It is cited by many guidelines for defining and monitoring acute kidney injury (Lameire et al., 2021; Ostermann et al., 2020; Lopes & Jorge, 2013; KDIGO, 2012). eGFR equations that incorporate creatinine and cystatin C but omit race are more accurate and lead to smaller differences between Black participants and non-Black participants than new equations without race with either creatinine or cystatin C alone (Inker et al., 2021). As a result, a new race-neutral eGFR equation that that measures serum creatinine or cystatin C incorporate age, sex, and race to estimate measured GFR has been developed and is recommended by the Task Force from the National Kidney Foundation and American Society of Nephrology (Inker et al., 2021; Diao et al., 2021; Delgado et al., 2021; Delgado et al., 2022). It was recommended by the Task Force to use within the measure a Chronic Kidney Disease Epidemiology Collaboration (CKD-EPI) creatinine equation refit without the race variable. This functionality has been available to all laboratories in the United States (Delgado et al., 2021; Delgado et al., 2022), and has acceptable performance characteristics and potential consequences that do not disproportionately affect any one group of individuals.
The KDIGO offers clinical practice guidelines for preventing and managing acute kidney injury:
FLUIDS
3.1.1: In the absence of hemorrhagic shock, we suggest using isotonic crystalloids rather than colloids (albumin or starches) as initial management for expansion of intravascular volume in patients at risk for acute kidney injury or with acute kidney injury. (Level 2, grade B)
VASOPRESSORS
3.1.2: We recommend the use of vasopressors in conjunction with fluids in patients with vasomotor shock with, or at risk for, acute kidney injury. (Level 1, grade C)
PROTOCOLIZED HEMODYNAMIC MANAGEMENT
3.1.3: We suggest using protocol-based management of hemodynamic and oxygenation parameters to prevent development or worsening of acute kidney injury in high-risk patients in the perioperative setting (2C) or in patients with septic shock. (Level 2, grade C)
In April 2019, KDIGO held a follow-up conference (Ostermann et al., 2020). The effectiveness of the 2012 KDIGO recommendations in preventing AKI was also noted to have been confirmed in small single-center randomized controlled trials (RCTs), such as the Prevention of AKI (PrevAKI) and the Biomarker Guided Intervention for Prevention of AKI (BigpAK) studies (Meersch et al., 2017; Göcze et al., 2018). In addition, results of RCTs have provided new data relevant to several facets of preventing and managing AKI, including early resuscitation, fluid therapy, prevention of contrast-associated AKI, and timing of acute renal replacement therapy (RRT) (Kellum et al., 2016; Nijssen et al., 2017; Self et al., 2018; Zarbock et al, 2016; Gaudry et al., 2016; Barbar et al., 2018)."/>
<group id="Group_1">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-scoring">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
<code value="proportion"/>
<display value="Proportion"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
<valueCode value="Encounter"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-type">
<valueCodeableConcept>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
<code value="outcome"/>
<display value="Outcome"/>
</coding>
</valueCodeableConcept>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-rateAggregation">
<valueCode value="None"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-improvementNotation">
<valueCodeableConcept>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
<code value="decrease"/>
<display value="increase"/>
</coding>
</valueCodeableConcept>
</extension>
<population id="InitialPopulation_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="initial-population"/>
<display value="Initial Population"/>
</coding>
</code>
<description
value="Inpatient hospitalizations that end during the measurement period for patients 18 years of age or older without an obstetrical or pregnancy related condition, with a length of stay of 48 hours or longer, and who had at least one serum creatinine value after 48 hours from the start of the hospitalization"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Initial Population"/>
</criteria>
</population>
<population id="Denominator_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator"/>
<display value="Denominator"/>
</coding>
</code>
<description value="Equals Initial Population"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator"/>
</criteria>
</population>
<population id="DenominatorExclusion_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="denominator-exclusion"/>
<display value="Denominator Exclusion"/>
</coding>
</code>
<description
value="Inpatient hospitalizations for patients with an increase in serum creatinine value of at least 0.3 mg/dL
between the index serum creatinine and a subsequent serum creatinine taken within 48 hours of the encounter start.
Inpatient hospitalizations for patients with the index eGFR value of <60 mL/min within 48 hours of the encounter start.
Inpatient hospitalizations for patients who have less than two serum creatinine results within the first 48 hours of the encounter start.
Inpatient hospitalizations for patients who have kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated 48 hours or less after the encounter start, and who do not have evidence of a 2 times increase in serum creatinine.
Inpatient hospitalizations for patients with at least one specified diagnosis present on admission during the encounter that puts them at extremely high risk for AKI:
- Hemolytic Uremic Syndrome (HUS)
- Large Body Surface Area (BSA) Burns
- Traumatic Avulsion of Kidney
- Rapidly Progressive Nephritic Syndrome
- Thrombotic Thrombocytopenic Purpura
- Out of Hospital Cardiac Arrest (OHCA)
Inpatient hospitalizations for patients who have at least one specified procedure that starts during the encounter that puts them at extremely high risk for AKI:
- Extracorporeal membrane oxygenation (ECMO)
- Intra-Aortic Balloon Pump
- Resuscitative Endovascular Balloon Occlusion of the Aorta (REBOA)
- Nephrectomy"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Denominator Exclusion"/>
</criteria>
</population>
<population id="Numerator_1">
<code>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-population"/>
<code value="numerator"/>
<display value="Numerator"/>
</coding>
</code>
<description
value="Inpatient hospitalizations for patients who develop AKI (stage 2 or greater) during the encounter, as evidenced by:
A subsequent increase in serum creatinine value at least 2 times higher than the lowest serum creatinine value, and the increased value is greater than the highest sex-specific normal value for serum creatinine.
Or:
Kidney dialysis (CRRT, hemodialysis or peritoneal dialysis) initiated more than 48 hours after the start of the encounter. Evidence of a 2 times increase in serum creatinine is not required.
Only one harm is counted per encounter."/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Numerator"/>
</criteria>
</population>
</group>
<supplementalData id="sde-ethnicity">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Ethnicity"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Ethnicity"/>
</criteria>
</supplementalData>
<supplementalData id="sde-payer">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Payer"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Payer"/>
</criteria>
</supplementalData>
<supplementalData id="sde-race">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Race"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Race"/>
</criteria>
</supplementalData>
<supplementalData id="sde-sex">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="supplemental-data"/>
</coding>
</usage>
<description value="SDE Sex"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="SDE Sex"/>
</criteria>
</supplementalData>
<supplementalData
id="risk-variable-estimated-glomerular-filtration-rate-for-females">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description
value="Risk Variable Estimated Glomerular Filtration Rate for Females"/>
<criteria>
<language value="text/cql-identifier"/>
<expression
value="Risk Variable Estimated Glomerular Filtration Rate for Females"/>
</criteria>
</supplementalData>
<supplementalData
id="risk-variable-estimated-glomerular-filtration-rate-for-males">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description
value="Risk Variable Estimated Glomerular Filtration Rate for Males"/>
<criteria>
<language value="text/cql-identifier"/>
<expression
value="Risk Variable Estimated Glomerular Filtration Rate for Males"/>
</criteria>
</supplementalData>
<supplementalData
id="risk-variable-all-encounter-diagnoses-with-poa-indication">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description
value="Risk Variable All Encounter Diagnoses with POA Indication"/>
<criteria>
<language value="text/cql-identifier"/>
<expression
value="Risk Variable All Encounter Diagnoses with POA Indication"/>
</criteria>
</supplementalData>
<supplementalData id="risk-variable-first-heart-rate-in-encounter">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description value="Risk Variable First Heart Rate in Encounter"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Risk Variable First Heart Rate in Encounter"/>
</criteria>
</supplementalData>
<supplementalData id="risk-variable-first-respiratory-rate-in-encounter">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description value="Risk Variable First Respiratory Rate in Encounter"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Risk Variable First Respiratory Rate in Encounter"/>
</criteria>
</supplementalData>
<supplementalData
id="risk-variable-first-systolic-blood-pressure-in-encounter">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description
value="Risk Variable First Systolic Blood Pressure in Encounter"/>
<criteria>
<language value="text/cql-identifier"/>
<expression
value="Risk Variable First Systolic Blood Pressure in Encounter"/>
</criteria>
</supplementalData>
<supplementalData id="risk-variable-first-temperature-in-encounter">
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="individual"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="subject-list"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="summary"/>
</extension>
<extension
url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-includeInReportType">
<valueCode value="data-collection"/>
</extension>
<usage>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/measure-data-usage"/>
<code value="risk-adjustment-factor"/>
</coding>
</usage>
<description value="Risk Variable First Temperature in Encounter"/>
<criteria>
<language value="text/cql-identifier"/>
<expression value="Risk Variable First Temperature in Encounter"/>
</criteria>
</supplementalData>
</Measure>