calc_egfr: Calculate eGFR

calc_egfrR Documentation

Calculate eGFR


Calculate the estimated glomerular filtration rate (an indicator of renal function) based on measured serum creatinine using one of the following approaches:

  • Cockcroft-Gault (using weight, ideal body weight, or adjusted body weight)

  • C-G spinal cord injury (using correction factor of 0.7, representing median correction point reported in the original publication (parapalegic patients: 0.8; tetrapalegic patients: 0.6))

  • Revised Lund-Malmo

  • Modification of Diet in Renal Disease study (MDRD; with or without consideration of race, using either the original equation (published 2001) or the equation updated to reflect serum creatinine assay standardization (2006))

  • CKD-EPI (with or without consideration of race, or 2021 re-fit without race)

  • Schwartz

  • Schwartz revised / bedside

  • Jelliffe

  • Jelliffe for unstable renal function. Note that the 15 P_adj recommended for hemodialysis patients is not included in this implementation.

  • Wright equation for eGFR in cancer patients, with creatinine measured using the Jaffe assay.

Equations for estimation of eGFR from Cystatin C concentrations are available from the 'calc_egfr_cystatin()' function.


  method = "cockcroft_gault",
  sex = NULL,
  age = NULL,
  scr = NULL,
  scr_unit = NULL,
  race = "other",
  weight = NULL,
  height = NULL,
  bsa = NULL,
  preterm = FALSE,
  ckd = FALSE,
  times = NULL,
  bsa_method = "dubois",
  relative = NULL,
  unit_out = "mL/min",
  verbose = TRUE,
  min_value = NULL,
  max_value = NULL,
  fail = TRUE,

egfr_wright(age, bsa, sex, scr)

egfr_jelliffe(age, sex, bsa, scr)

egfr_jelliffe_unstable(weight, times, scr, age, sex)

egfr_mdrd(sex, race, scr, age, use_race, original_expression)

egfr_ckd_epi(sex, race, scr, age, use_race)

egfr_ckd_epi_as_2021(sex, scr, age)

egfr_cockcroft_gault_sci(sex, age, scr, weight)

egfr_cockcroft_gault(sex, age, scr, weight)

egfr_malmo_lund(sex, age, scr)

egfr_bedside_schwartz(age, height, scr, verbose)

egfr_schwartz(age, preterm, sex, height, scr)



eGFR estimation method, choose from 'cockcroft_gault', 'cockcroft_gault_ideal', 'cockcroft_gault_adjusted', 'cockcroft_gault_adaptive', 'mdrd', 'mdrd_ignore_race', 'mdrd_original', 'mdrd_original_ignore_race', 'ckd_epi', 'ckd_epi_ignore_race', 'ckd_epi_as_2021', 'malmo_lund_revised', 'schwartz', 'jelliffe', 'jellife_unstable', 'wright'.




age, in years


serum creatinine (mg/dL)


'mg/dL' or 'micromol/L' (=='umol/L')


'black' or 'other', Required for CKD-EPI and MDRD methods for estimating GFR. To use these methods without race, use 'method = "ckd_epi_ignore_race"', 'method = "ckd_epi_as_2021"', 'method = "mdrd_ignore_race"' or 'method = "mdrd_original_ignore_race"'. See Note section below for important considerations when using race as a predictive factor in eGFR.


weight, in 'kg'


height, in 'cm', used for converting to/from BSA-normalized units.


body surface area


is patient preterm? Used for Schwartz method.


chronic kidney disease? Used for Schwartz method.


vector of sampling times (in days!) for creatinine (only used in Jelliffe equation for unstable patients)


BSA estimation method, see 'calc_bsa()' for details


'TRUE'/'FALSE'. Report eGFR as per 1.73 m2? Requires BSA if re-calculation required. If 'NULL' (=default), will choose value typical for 'method'.


'ml/min' (default), 'L/hr', or 'mL/hr'


verbosity, show guidance and warnings. 'TRUE' by default


minimum value ('NULL' by default). The cap is applied in the same unit as the 'unit_out'.


maximum value ('NULL' by default). The cap is applied in the same unit as the 'unit_out'.


invoke 'stop()' if not all covariates available?


arguments passed on to 'calc_abw' or 'calc_dosing_weight'


whether to include race as a factor in the calculation (TRUE or FALSE); see note


whether the MDRD equation should use the 2001 coefficient (TRUE) or the 2006 coefficient (FALSE), which was updated for standardization of the creatinine assay.


The MDRD and CKD-EPI equations use race as a factor in estimation of GFR. Racism has historically been and continues to be a problem in medicine, with racialized patients experiencing poorer outcomes. Given this context, the use of race in clinical algorithms should be considered carefully (Vyas et al., NEJM (2020)). Provided here are versions of the CKD-EPI and MDRD equations that do not consider the race of the patient. Removing race from GFR estimation may lead to worse outcomes for Black patients in some contexts (Casal et al., The Lancet (2021)). On the other hand, including race in GFR estimation may also prevent Black patients from obtaining procedures like kidney transplants (Zelnick, et al. JAMA Netw Open. (2021)). In 2021, the NKF/ASN Task Force on Reassessing the Inclusion of Race in Diagnosing Kidney Diseases published revised versions of the CKD-EPI equations refit on the original data but with race excluded, which may produce less biased estimates (Inker, et al., NEJM (2021)).



calc_egfr(sex = "male", age = 50, scr = 1.1, weight = 70)
calc_egfr(sex = "male", age = 50, scr = 1.1, weight = 70, unit_out = "L/hr")
calc_egfr(sex = "male", age = 50, scr = 1.1, weight = 70, bsa = 1.8, method = "ckd_epi")
calc_egfr(sex = "male", age = 50, scr = c(1.1, 0.8),
  weight = 70, height = 170, method = "jelliffe")
calc_egfr(sex = "male", age = 50, scr = c(1.1, 0.8),
  weight = 70, height = 170, method = "jelliffe_unstable")
calc_egfr(sex = "male", age = 50, scr = 1.1,
  weight = 70, bsa = 1.6, method = "malmo_lund_revised", relative = FALSE)

clinPK documentation built on May 9, 2022, 9:06 a.m.