Skip to contents

Calculate Creatinine Clearance (CrCl) using the Peck Formula, a measure of renal function based on age, ideal weight, gender, and serum creatinine

Usage

calculate_crcl_peck(age, crcl, ibw, scr, sexf, wtkg)

Arguments

age

Age (y). Numeric vector.

crcl

Creatinine Clearance (mL/min)

ibw

Ideal Body Weight (kg). Numeric vector.

scr

Serum Creatinine (mg/dL). Numeric vector.

sexf

Sex. Numeric vector including values of 0 and/or 1. 0=Male; 1=Female.

wtkg

Weight (kg). Numeric vector.

Value

This function returns a numeric vector the same length as its inputs

Details

Formula to calculate CRCL_PECK:
  If WTKG [kg] < 120% of IBW [kg], CRCL [mL/min] = CRCL [mL/min] (Cockroft & Gault)
  If WTKG [kg] >= 120% of IBW [kg]:
    Males: CRCL [mL/min] = ((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])
    Females: CRCL [mL/min] = (((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])) × 0.85

References

Peck CC, Conner DP, Murphy MG. Simple Techniques for Individualizing Drug Therapy. Vancouver, WA. Applied Therapeutics, Inc. 1989.

See also

calculate_crcl for Cockcroft and Gault formula

Examples

library(dplyr)

dmcognigen_cov %>% 
  mutate(CRCLP = calculate_crcl_peck(
    age = AGE, 
    crcl = CRCL, 
    ibw = IBW, 
    scr = SCR, 
    sexf = SEXF,
    wtkg = WTKG
  ))
#> Formula to calculate CRCL_PECK: 
#>   If WTKG [kg] < 120% of IBW [kg], CRCL [mL/min] = CRCL [mL/min] (Cockroft & Gault)
#>   If WTKG [kg] >= 120% of IBW [kg]:
#>     Males: CRCL [mL/min] = ((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])
#>     Females: CRCL [mL/min] = (((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])) × 0.85
#> # A tibble: 254 × 53
#>    DOMAIN STUDYID USUBJID    ID RACEN RACEC  SEXF SEXFC  HTCM  WTKG   AST ASTULN
#>    <chr>  <chr>   <chr>   <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl>  <dbl>
#>  1 DM     CDISCP… 01-701… 10101     1 Whit…     1 Fema…  147.  54.4    40     34
#>  2 DM     CDISCP… 01-701… 10102     1 Whit…     0 Male   163.  80.3    21     36
#>  3 DM     CDISCP… 01-701… 10103     1 Whit…     0 Male   178.  99.3    24     36
#>  4 DM     CDISCP… 01-701… 10104     1 Whit…     0 Male   175.  88.4    20     36
#>  5 DM     CDISCP… 01-701… 10105     1 Whit…     1 Fema…  155.  62.6    23     34
#>  6 DM     CDISCP… 01-701… 10106     1 Whit…     1 Fema…  149.  67.1    25     34
#>  7 DM     CDISCP… 01-701… 10108     1 Whit…     0 Male   169.  78.0    19     36
#>  8 DM     CDISCP… 01-701… 10109     1 Whit…     1 Fema…  158.  59.9    28     34
#>  9 DM     CDISCP… 01-701… 10110     1 Whit…     0 Male   182.  78.9    26     36
#> 10 DM     CDISCP… 01-701… 10111     1 Whit…     0 Male   180.  71.2    15     36
#> # ℹ 244 more rows
#> # ℹ 41 more variables: SCR <dbl>, SCRULN <dbl>, TBIL <dbl>, TBILULN <dbl>,
#> #   ASTCAT <dbl>, BMI <dbl>, BSA <dbl>, IBW <dbl>, CRCL <dbl>, CRCLP <dbl>,
#> #   EGFR <dbl>, EGFRSCHW <dbl>, IBWCHILD <dbl>, LBM <dbl>, TBILCAT <dbl>,
#> #   RFCAT <dbl>, RFCATC <chr>, NCILIV <dbl>, NCILIVC <chr>, SUBJID <chr>,
#> #   RFSTDTC <chr>, RFENDTC <chr>, RFXSTDTC <chr>, RFXENDTC <chr>,
#> #   RFICDTC <chr>, RFPENDTC <chr>, DTHDTC <chr>, DTHFL <chr>, SITEID <chr>, …

# Below will also work if the dataset contains expected variables
dmcognigen_cov %>% 
  mutate(CRCLP = calculate_crcl_peck())
#> AGE variable found and used for the age argument.
#> CRCL variable found and used for the crcl argument.
#> IBW variable found and used for the ibw argument.
#> SCR variable found and used for the scr argument.
#> SEXF variable found and used for the sexf argument.
#> WTKG variable found and used for the wtkg argument.
#> Formula to calculate CRCL_PECK: 
#>   If WTKG [kg] < 120% of IBW [kg], CRCL [mL/min] = CRCL [mL/min] (Cockroft & Gault)
#>   If WTKG [kg] >= 120% of IBW [kg]:
#>     Males: CRCL [mL/min] = ((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])
#>     Females: CRCL [mL/min] = (((140 - AGE [y]) × IBW [kg]) ÷ (72 × SCR [mg/dL])) × 0.85
#> # A tibble: 254 × 53
#>    DOMAIN STUDYID USUBJID    ID RACEN RACEC  SEXF SEXFC  HTCM  WTKG   AST ASTULN
#>    <chr>  <chr>   <chr>   <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl>  <dbl>
#>  1 DM     CDISCP… 01-701… 10101     1 Whit…     1 Fema…  147.  54.4    40     34
#>  2 DM     CDISCP… 01-701… 10102     1 Whit…     0 Male   163.  80.3    21     36
#>  3 DM     CDISCP… 01-701… 10103     1 Whit…     0 Male   178.  99.3    24     36
#>  4 DM     CDISCP… 01-701… 10104     1 Whit…     0 Male   175.  88.4    20     36
#>  5 DM     CDISCP… 01-701… 10105     1 Whit…     1 Fema…  155.  62.6    23     34
#>  6 DM     CDISCP… 01-701… 10106     1 Whit…     1 Fema…  149.  67.1    25     34
#>  7 DM     CDISCP… 01-701… 10108     1 Whit…     0 Male   169.  78.0    19     36
#>  8 DM     CDISCP… 01-701… 10109     1 Whit…     1 Fema…  158.  59.9    28     34
#>  9 DM     CDISCP… 01-701… 10110     1 Whit…     0 Male   182.  78.9    26     36
#> 10 DM     CDISCP… 01-701… 10111     1 Whit…     0 Male   180.  71.2    15     36
#> # ℹ 244 more rows
#> # ℹ 41 more variables: SCR <dbl>, SCRULN <dbl>, TBIL <dbl>, TBILULN <dbl>,
#> #   ASTCAT <dbl>, BMI <dbl>, BSA <dbl>, IBW <dbl>, CRCL <dbl>, CRCLP <dbl>,
#> #   EGFR <dbl>, EGFRSCHW <dbl>, IBWCHILD <dbl>, LBM <dbl>, TBILCAT <dbl>,
#> #   RFCAT <dbl>, RFCATC <chr>, NCILIV <dbl>, NCILIVC <chr>, SUBJID <chr>,
#> #   RFSTDTC <chr>, RFENDTC <chr>, RFXSTDTC <chr>, RFXENDTC <chr>,
#> #   RFICDTC <chr>, RFPENDTC <chr>, DTHDTC <chr>, DTHFL <chr>, SITEID <chr>, …