OHDSI Home | Forums | Wiki | Github

Phenotype Phebruary Day 29 - Acute Kidney Injury

Even though February ended, we don’t see a good reason to stop this great exercise of building phenotypes and the discussions with the community. Today @david_vizcaya and I want to start the discussion about AKI. We want to thank the Phenotype Development and Evaluation workgroup and specially @Gowtham_Rao, @Evan_Minty, @jswerdel, for their input in refining the clinical definition, and how to implement it in Atlas, and @lee_evans for troubleshooting Atlas and Cohort Diagnostics so we could run these in our internal DBs.

Development of a cohort definition for acute kidney injury:

Acute kidney injury affects 1 in 5 adults and 1 in 3 children worldwide during a hospital episode of care according to a comprehensive meta-analysis using the KDIGO definition referred in the text below (Susantitaphong et al. World Incidence of AKI: A Meta-Analysis. CJASN Sep 2013, 8 (9) 1482-1493; DOI: 10.2215/CJN.00710113). Epidemiological evidence suggests that even mild, reversible AKI has important clinical consequences including an increased mortality. Therefore, many efforts have been made over the last two decades to reach a consensus on the AKI definition and to raise awareness to improve diagnosis, prevention and treatment. We should expect variability of diagnosis and availability of lab values associated to AKI and it would be an interesting exercise to see their evolution using OHDSI tools.

Develop a shared clinical understanding of the phenotype

Authoritative consensus document: There is international consensus definitions and clinical guidelines maintained by an organization named Kidney Disease Improving Global Outcomes (KDIGO). We based this definition on it.

Clinical definition


Acute Kidney Injury (AKI) is one of many acute kidney diseases and disorders (AKD) in which slow deterioration of kidney function or persistent kidney dysfunction is associated with an irreversible loss of kidney cells and nephrons, which can lead to chronic kidney disease (CKD). According to the KDIGO Clinical Practice Guideline for Acute Kidney Injury, AKI is a common, harmful and potentially treatable disease defined by an abrupt decrease in kidney function that includes, but is not limited to, acute kidney failure (previously called acute renal failure). The etiology of AKI encompasses specific kidney diseases (acute interstitial nephritis, acute glomerular and vasculitic renal diseases); non-specific conditions (ischemia, toxic injury); and extrarenal conditions (prerenal azotemia, acute postrenal obstructive nephropathy) and can range from mild and self-limiting to severe and persistent. Since manifestation and clinical development of AKI is quite similar regardless of its etiology, the syndrome of AKI does not distinguish etiologic subtypes. Although AKI can happen in apparently healthy adults, normally happens as a complication of another serious illness, for instance, patients with chronic kidney disease (CKD), as evidenced by a low eGFR or presence of proteinuria, are at higher risk for developing AKI, a condition known as acute on chronic renal failure (ACRF). The most common setting of AKI onset is hospitalization and ICU.


Most Patients develop AKI during a hospital or ICU stay. Between 10 and 15% of all patients admitted in hospitals develop AKI, and that number can even exceed 50% for patients in ICU (Osterman, 2007; Ronco, 2019).

Signs and symptoms of acute kidney injury differ depending on the cause and may include:

  • Too little urine leaving the body

  • Swelling in legs, ankles, and around the eyes

  • Fatigue or tiredness

  • Shortness of breath

  • Confusion

  • Nausea

  • Seizures or coma in severe cases

  • Chest pain or pressure

In some cases, AKI causes no symptoms and is only found through other tests done by the healthcare provider.


Two similar definitions RIFLE and AKIN, based on serum creatinine levels (SCr, a marker of kidney excretory function), reduced urinary output (oliguria) and duration ≤7 days, have been proposed and validated (Lopes, Jorge. Clinical Kidney Journal, Volume 6, Issue 1, February 2013, Clinical Kidney Journal, https://doi.org/10.1093/ckj/sfs160). The KDIGO guideline proposes to use a combination of both as follows:


AKI is defined as any of the following (Not Graded):

  1. Increase in SCr by ≥0.3 mg/dl (≥26.5 µmol/l) within 48 hours; or

  2. Increase in SCr to ≥1.5 times baseline, which is known or presumed to have occurred within the prior 7 days; or

  3. Urine volume <0.5 ml/kg/h for 6 hours (oliguria, cut-off values might vary).

The deterioration of renal function must be sudden (1–7 days) and sustained (persisting >24 h)” (KDIGO).

Several studies have recommended NOT to use diagnoses codes to identify patients with AKI based on the poor sensitivity. As low as 30% sensitivity has been reported for using ICD-10 codes in an inpatient setting (Jannot, 2017). Thus, ideally the phenotype should include lab values.

(when discrepancy between SCr and urine output exists, the highest stage prevails):

Table 1. Staging of AKI according to KDIGO guidelines

aki stagesç

Tests usually conducted:

  • Measuring urine output

  • Urine tests

  • Blood tests: GFR, serum creatinine (SCr)

  • Imaging tests

  • Kidney biopsy

Plan and Prognosis

AKI management in critical care settings is challenging, including appropriate volume control, nephrotoxic drug management, and the timing and type of kidney support. Fluid and electrolyte management are essential. As AKI can be lethal, kidney replacement therapy is frequently required. AKI has a poor prognosis in critically ill patients. Long-term consequences of AKI and AKD include CKD and cardiovascular morbidity.

Differential diagnoses

As mentioned earlier, acute kidney injury is part of a group of acute kidney diseases and disorders (AKD). To differentiate AKI from other AKD and from chronic kidney disease, the consensus definition of all three conditions is summarized in table 1. Chronic kidney disease (CKD) describes persistent (>3 months) alteration of kidney function, and both AKI and AKD can occur in patients with or without precedent CKD. Patients with no kidney disease (NKD) do not overlap with any of these entities (Fig 1).

Patients with end-stage kidney disease (ESKD) are not at risk of AKI since their kidney has ceased functioning on a permanent basis.

Dialysis will not be used as an exclusion criterion for this phenotype, except for chronic hemodialysis as a proxy of ESKD .

Patients under chronic hemodialysis should be excluded on the basis of the N18.5 code (Jannot, 2017).

Fig. 1: Relationship between AKI, AKD, CKD and NKD (Kellum et al., 2021)

aki akd ckd

Table 1 Criteria for defining AKI, AKD, CKD and NKD (Kellum et al., 2021)

AKD, acute kidney diseases and disorders; AKI, acute kidney injury; CKD, chronic kidney disease; GFR, glomerular filtration rate; NKD, no kidney diseases; sCr, serum creatinine level. *NKD implies no functional or structural criteria according to the definitions for AKI, AKD or CKD.

Duration ≤7 days <3 months >3 months NA
Functional criteria Increase in sCr by ≥50% within 7 days or increase in sCr by ≥0.3 mg/dl (26.5 µmol/l) within 2 days or oliguria for ≥6 hours AKI or GFR <60 ml/min/1.73 m2 or decrease in GFR by ≥35% over baseline or increase in sCr by >50% over baseline GFR < 60 ml/min/1.73 m2 GFR ≥ 60 ml/min/1.73 m2, stable GFR (no decrease by 35% within 3 months), stable sCr (no increase by 50% within 3 months or increase by 0.3 mg/dl within 2 days), no oliguria for ≥6 hours
Structural criteria Not defined Elevated marker of kidney damage (albuminuria, haematuria or pyuria are most common) Elevated marker of kidney damage (albuminuria is most common) No marker of kidney damage

Other relevant information

This event will continue for 7 days at most.

All events occurring within 7 days will be considered part of this event.

Known risk factors:

In low-income and middle-income countries, infections and hypovolaemic shock are the predominant causes of AKI. In high-income countries, AKI mostly occurs in elderly patients who are in hospital, and is related to sepsis, drugs or invasive procedures. Infection and trauma-related AKI and AKD are frequent in all regions. Patients hospitalized and in ICU have increased risk of AKI.

What we attempt to include in this phenotype:

A person with a stable kidney function (either normal or reduced) develops an acute worsening. Inpatient setting is the most common but not necessary.


Translating the clinical description to an Atlas cohort definition has proven challenging in several instances, and AKI is not exception to this. Below we show how @Marcela and I developed to distinct phenotypes. We would like to acknowledge the valuable feedback from the Phenotype development and evaluation workgroup during the development of this phenotype.

The review of literature in search for cohort definitions using in secondary data sources shows that there are at least three families of three-digit ICD10CM codes that can be used to ascertain AKI: N00 (Acute nephritic syndrome), N01 (Rapidly progressive nephritic syndrome) and N17 (Acute renal failure syndrome). The latter is the most accurately reflecting AKI and thus shows a high performance in terms of specificity. However, this is at expenses of a very poor sensitivity (between 18 and 30% approximately). For this reason, we aimed to start by creating an AKI phenotype that is as sensitive as possible: lab values and all three families of codes. This would be a starting point to trim down to more specific ones or even explore disease heterogeneity. Unfortunately, there is no option using Atlas to create an entry event that is a measurement relative to a baseline level, either by calculating a ratio or a delta. Therefore, we restricted the phenotype to using only condition occurrence concepts with the expectation that future versions of Atlas may incorporate this attribute. (Kolhe, 2016; Carlson, 2016; Coleman, 2019; Hwang, 2012)

Concept sets

We started by using the search tool in atlas to look for the non-standard codes that we had found in the literature and match our clinical definition.

We entered ICD10CM code N17 (concept ID 1571485) and search the standard related concept, which is Acute renal failure syndrome (concept id 197320). Since literature shows us that acute renal failure and acute kidney injury are used interchangeably (Dirkes, 2011), we assume that both terms refer to the same clinical entity that we want to capture in our phenotype for acute kidney injury. Concept ID 1571485 includes 35 immediate descendants, all of which seemed relevant since we were not interested in disentangling different etiologies, organ involvements or stages at this point, but to have a very broad and sensitive cohort definition. We also include Concept id 197320 plus all descendants (68). We go through the same exercise for N01 (Rapidly progressive nephritic syndrome, concept ID 1571470) and include its homonym standardized concept ID 4054992 and its descendants. Same exercise for acute nephritic syndrome ICD10CM N00 (1571469) and its standard mapped concept, Acute nephritis (ID 4189531) and descendants. These three concepts and its descendants were used to create a concept set called “Acute kidney injury (Broad definition)”.

Since several articles that we found used only the ICD10CM codes from N17.x, we created a second concept set called “Acute kidney injury (narrow definition)” that included only the concept sets descending from “Acute renal failure syndrome” (ID 197320) (Note: one could also exclude the other concepts from the Broad definition concept set when building the cohort definition, but we decided to be more explicit here).

The major challenge that we faced was to implement the clinical criteria based on SCr that we included in our clinical description above. Unfortunately, Atlas does not allow to anchor a measurement of a value such as SCr relative to a prior baseline measurement. To be able to implement the criteria 1 and 2

we would need to calculate a difference between the qualifying measurement (entry event) and the baseline measurement. Since this is currently not implemented in Atlas, we considered it a limitation, and followed to build a set of AKI phenotypes based only on condition occurrence concepts. In any case, this is consistent with practice in observational studies of AKI using secondary data, as we observed in our review of the literature, despite the loss of sensitivity.

Cohort definition #1: Sensitive AKI

Using the broad definition concept set we created the cohort defining the entry event as a condition occurrence. We aimed to identify multiple events for a given patient, if appropriate. We also limited the period of observation as starting on or after 2012. This is because of changes in coding and awareness of disease in the early 21st century which caused an inflexion point for ascertaining cases of AKI and makes these periods pre- and post-2012 not quite comparable.

With regards to inclusion criteria, we incorporate the following four criteria:

  • A minimum of 1-year prior observation
  • No end-stage kidney disease, in the year prior defined as a condition occurrence (from –365 to –7 to allow for a grace period of a potential misspecification of coding dates and actual date of encounter)
  • No chronic dialysis, defined as at most three codes for dialysis procedures in the same baseline period
  • A washout period of no AKI in the 30 days preceding the entry date.

The latter was the most controversial one when we were discussing the phenotype. Our clinical description clearly identifies a cohort exit after a fixed duration of seven days since AKI entry date. However, that does not exclude that a second or subsequent codes are recorded after those initial seven days as consequence of encounters of the patient to perform follow-ups, meds adjustment or other evaluations. Those other encounters may be coded as AKI; however they are not a new event of AKI but a follow-up from the previous. In this cohort we included this washout period to rule out the problem.

As mentioned, cohort exit was defined as a fixed duration persistence of seven days to offset from the start date

Cohort definition #2: Specific AKI

Next, we replicated cohort #1 but using the concept set that included only “Acute renal failure syndrome”. This would in theory provide a more specific definition of AKI ascertainment. with hopes that running cohort diagnostics and phevaluator would provide us and anyone aiming to study AKI in Atlas some more insights as to decide which one fits best the needs for the study question(s) at hand.

We would love to hear from the community any feedback with regards to the different definitions, would you agree with the washout period to disentangling true multiple events from regular follow-up encounters? Any alternatives?. In addition, we would like to ask the Atlas developers to consider implementing an attribute for measurements that allow to calculate changes in value with relation to a baseline measurement (deltas or ratios). We heard from @Gowtham_Rao, @jswerdel and others with medical expertise that this would be extremely important not only for ascertaining AKI using SCr but for other conditions such as prostate cancer and PSA measurements. Finally, we are now aiming to run cohort diagnostics for these two definitions and an update with the results will follow. In the meantime, if anyone wishes to run Cohort Daignostics in his/her own data set(s), please feel free to do so!.

1 Like

And thank you @Marcela and @david_vizcaya for saying that - there is no reason to stop the momentum! On behalf of everyone I wanted to congratulate on your remarkable journey this past month - for taking this challenge head on, learning the best practice and the OHDSI tools! Thank you for your leadership and your persistence.

I wanted to highlight what I found insightful reading your clinical description!

  • this is an acute change to a persons state
  • persons are usually previously sick, and that could include prior kidney disease
  • there is a diagnostic criteria that is based on measurement values

You have described what is NOT AKI

You have differentiated between similar diseases - that may be part of spectrum - and clarified that you are interested in AKI

You have described what constitutes end

You have highlighted some key points based on literature review:

This clinical description was very useful to me to get a mental model of the type of people we are trying to identify in our datasources.

@david_vizcaya would it be possible to summarize reasons as to why this might be - per published literature.

Looking at the counts from OHDSI Concept Prevalence study (again thank @aostropolets for leading this remarkable effort)
N00 - I found the codes to be not used much

N01 - also similar

While almost all data is loaded on N17

The word ‘nephritic’ represents a type of glomerular disease that involves inflammation of the kidney glomeruli. This would be speculation on my part – it may be because to make this diagnosis it may need taking a biopsy of the kidney or having specific tests that confirm the pathological state - so maybe it is not used.

But, the concept prevalence study tells us that in reality your loss of sensitivity is not much if you decide to not use N00/N01. So we are good with the design choice you made of not using N00, N01

This would be great addition to Atlas in the future. A relative change in a measurement value as compared to baseline within a certain time period is a common way to think of start or end of a phenotype. e.g. a change of measurement of BP from high to low, or change in serum creatinine from low to high. Similar changes are used in PSA etc.
It is however complex - because change may not always to be the delta between two values - as in nomograms for PSA change.

I am going to tag @Chris_Knoll for awareness

@david_vizcaya you have beautifully illustrated your thinking on how to define and implement cohort end date. Based on your clinical description, AKI cannot be more than 7 days - so one solutions is

You have demonstrated the use of washout period that prevents a person to re-enter a new cohort (i.e. have a new cohort start date) within 30 days of a prior cohort start date. This is because, based on your clinical description and discussion with @Evan_Minty and others that the probability of the same persons having a NEW episode of AKI within 30 days is very low - and is likely to represent ongoing insults of an existing AKI state.

There is a third option - that instead of allowing for a fixed 7 days after cohort start date, we may want to exit a person when their serum creatinine returns to baseline. This, as you said, needs the functionality in Atlas of looking at measurement value changes that is difficult. We could try to see if we can exit a person from a cohort on the earliest of either 7 days from cohort start date OR having one serum creatine value of < 1 units.

Please let me know when your cohort definitions are sharable and we would like to import that to atlas-phenotype.ohdsi.org and then into https://github.com/ohdsi-studies/PhenotypePhebruary the R-package that is running phenotype phebruary cohorts.

1 Like

Thank you @Gowtham_Rao, I agree that being able to do some basic calculations in ATLAS would be of much added value!
Regarding the cohort definitions, we don’t have writing privilege in the ATLAS Phenotype, so I can’t create a new cohort, would it work if I share them with you by email?

Yes, that works perfect!

Thank you @Marcela and @david_vizcaya . I :heart: our community so much that we don’t feel ‘limited’ by 28 days in Phenotype Phebruary, we create a Day 29!!! That’s the spirit!

And thank you for initiating an important discussion on ‘Acute Kidney Injury’. This is an outcome that we’ve encountered over and over again, and each time, it kind of feels like we attempt to reinvent the wheel, so it would be VERY helpful if this discussion leads to a community consensus approach that we can develop and thoroughly evaluate across a large network of data partners.

Re: change in creatinine values, I’ll note that during CHARYBDIS we wrote a custom script outside of ATLAS to capture these cases. @aostropolets did a lot of work in this space back then. And we found that few databases were actually capturing SCr values with the frequency necessary to observe the acute changes. So, while it is currently a known limitation in ATLAS, I suspect its primarily a limitation of most data that will hold us back from using the creatinine change values. But, for data partners with complete capture of SCr, there is a crude work-around one can use in ATLAS: instead of looking for relative changes (e.g. increase in SCr >=0.3 mg/dl in 48 hours), one can create entry events based on absolute values (e.g. SCr <1.35 mg/dL (upper bound of normal range) AND mesurement value SCr > 1.65 mg/dL (upper bound + 0.3) the next day). This would not be a ‘sensitive’ definition, in that it’s possible for someone to have a lower baseline value and still qualify for AKI, but it would be a ‘specific’ definition in that anyone with two values on two days meeting these thresholds would certainly qualify. And, at least according to this article by Waiker et al, if I’d reading it correctly, the absolute increase is often ~2 mg/dL, so this would mean we’d capture most of the cases this way (at least those without pre-existing kidney disease who start with a normal value). And if we wanted to get even cuter, then we could create multiple entry events to model the ‘Increase in SCr >=1.5 time baseline’, such as ‘(baseline SCr < 1.35 AND SCr > 2.025 (1.351.5) in 7 days post index) OR (baseline SCr < 2 AND SCr > 3 (21.5) in 7 days post index) OR (baseline SCr < 3 AND SCr > 4.5 (31.5) in 7 days post index) OR (baseline SCr < 5 AND SCr > 7.5 (51.5) in 7 days post index)’. We could profile the data of baseline values to make sure we covered the observed scenarios, to see how much we ‘miss’ by this approximate approach but I’d be willing to bet we could get very close with only a couple iterations.

I agree @Patrick_Ryan, it would be great to have other DBs to be able to implement the complete phenotype with lab values, evaluate and potentially validate against case ascertainment.

Any DB with SCr values, would be a great start. Unfortunately the DBs we have in OMOP don’t have Scr measurements, although Optum has records of a measurement it does not have values:

It would be interesting to check the units that are used when the measurement is reported because some there are some units that might already give the ratio of Scr time t compared to SCr at baseline such as
“CONCEPT_ID”: 8688,
“CONCEPT_NAME”: “percent baseline”
“CONCEPT_ID”: 9217,
“CONCEPT_NAME”: “percent basal activity”

but I don’t know if they are used. It seems that units is something that also needs to be standardized unless done in an adhoc way. Or could all possible unit nomenclature be added in an inclusion criteria with an OR in between?

Yes. Yes. Yes. To the standardized part…

When you select the unit concepts in this way, those are used as ORs within the specific criterion. In other words, it doesn’t say: where unit is 1000ml/L AND 100ml/.1L AND 1L/L…those are or’d together.

1 Like

Dear @Gowtham_Rao , thank you for looking into this from a concept prevalence perspective. Indeed when running cohort diagnostics it confirms what you said and adding N00 and N01 codes does not add a lot of value, so our suggestion is to use only N17 and its related standard concepts.

My comment with regards to poor sensitivity still stands though. Hwang et al. did a remarkable work on addressing the validity of N17.x codes to ascertain AKI both at presentation in ER and at hospital admission. For the former sensitivity is 30.4& and PPV 33.8 (spec of 99.2%!!). For the validation at hospital admission, sens increases to 56.4% and PPV drops to 24.7% (spec 96.0%). Hence, this phenotype needs to be used with caution when trying to build a generalizable cohort and probably. I wonder if it may work better for certain sub-phenotypes of AKI such as contrast-induced AKI or even in certain segments of the patient population (age, history CV disease/CV surgery, history of advanced CKD…)

This was discussed thoroughly in our las phenotype WG Friday call and it seems to me a very elegant way for exiting a cohort based on recovery from the acute event. We finally did not implement it because I was concerned of other factors affecting a normal SCr such as physical activity (muscle mass), metabolic factors, age, etc. It was challenging for me to decide on a threshold value that one could consider back to normal that applies to a large heterogenous population. I wonder why it is not standardized in AKI as it is in CKD with estimation of GFR based on SCr and other parameters. Any thoughts?

I’d just like to chime in that the ability to make criteria based on change in measurement values may not be required here. If you can establish that the person enters the cohort under some condition (diagnosis, a measurement above a certain value) you can make a censor criteria (where a person leaves the cohort) based on the observation of a ‘normal’ range of serum creatine value. I’m not clinically experienced to know if serum creative is measured in ‘relative to prior measurement’ in order to make the determination of ‘normal’ but if it is just a matter of fidning a value within a range, then you should be able to use the current functionality of cohort exit criteria.

This all depends on the capture of entry events is as reliable as exit events, but you can use a persistence window on the entry events to have a ‘default exit’ if you don’t see any reason to keep them in the cohort within X days.

Acute kidney disease and renal recovery: consensus report of the Acute Disease Quality Initiative (ADQI) 16 Workgroup
This 2017 Consensus statement provides some insight into work being done to stage renal recovery post AKI/AKD

Thanks @Tina_French, this is consistent with our definition so far, and adds an interesting new concept which is rapid reversal of AKI (recovery in less than 48h post-AKI). Certainly it justifies having the variable cohort exit as @Gowtham_Rao was proposing along with the 7-days fixed rule.

Thank you @Chris_Knoll! I’m glad to know I don’t have to build one inclusion criteria for each unit, until they are standardized, this is a good workaround.

Hi @Chris,
your point is consistent with the proposal from @Patrick_Ryan

We are eager to test it, once we have access to SCr values! If anyone in the community has access to such DB we’ll share the phenotype with lab values to test it (the other phenotypes are already in the ATLAS-Phenotype repository.
Thank you!

Thanks @Chris_Knoll actually the issue is that we would like to use lab measurements of SCr independently and not associated with a diagnosis code (to capture more cases that may not have an AKI code as entry for whatever reason). There are normality ranges for Scr although it varies largely with age, sex, height, metabolism, and other factors. For the purpose of AKI ascertainment one must look at a sudden decline in SCr regardless of the baseline, which might even be already pathological (for example, chronic kidney disease)

We probably will have to add that functionality, @Chris_Knoll. It is not that common, but sometimes it will be used. PSA in prostate cancer is another example.

One possible approach to implement changes in measurement values is to compute the values beforehand, and deposit them in the respective OMOP table (normally MEASUREMENT or OBSERVATION).

For example, you can create a custom concept ID that means “difference in SCr value from last record,” and use it to create custom records from the actual SCr values. Those custom records can be generated using a SQL query employing the LAG() window function, assuming your database supports it. For every instance of SCr except the patient’s first, a new record is created using the custom concept.

Then, you can use that custom concept normally in Atlas. A similar approach can be used for rolling averages, and notice it’s also possible to filter outliers using CASE expressions. What would be a lot harder to implement in SQL, though, is intelligent filtering of records akin to what a physician would do in the physical world, e.g. test is suspicious for technical error and should be redone.

One point that I feel is being left unsaid in this conversation is this. Computing “difference in value between two rows” in real time is computationally very different from computing “value above constant.” The fomer requires a potentially very expensive JOIN operation, unless you can circumvent the join by leveraging underlying assumptions of the data. One such case is using the LAG() function as I described, which assumes you’ll never need to ignore a record based on other records. If your phenotype logic has multiple branches with such cross-row computations, and the query plan optimizer can’t simplify everything into fewer table joins, you could be facing queries that may take too long for your server to compute, even if using advanced database engines and powerful, distributed cloud enviroments.