40 year male serum creatinine 1.29 mg/dl serum cystatin c 1.13mg/L calculate EGFR
python3 << 'EOF' import math # Patient data age = 40 sex = "male" scr = 1.29 # mg/dL scys = 1.13 # mg/L # ------------------------------------------------------- # 1. CKD-EPI Creatinine 2021 (race-free) # Male: kappa=0.9, alpha=-0.302 # ------------------------------------------------------- kappa = 0.9 alpha = -0.302 ratio = scr / kappa if ratio < 1: egfr_cr = 142 * (ratio ** alpha) * (0.9938 ** age) else: egfr_cr = 142 * (ratio ** -1.200) * (0.9938 ** age) print(f"CKD-EPI Creatinine 2021 eGFR: {egfr_cr:.1f} mL/min/1.73m²") # ------------------------------------------------------- # 2. CKD-EPI Cystatin C 2012 # Male: same coefficients as female with sex factor # eGFR = 133 × min(Scys/0.8,1)^-0.499 × max(Scys/0.8,1)^-1.328 × 0.9961^age × 0.932 [female] (1.0 male) # ------------------------------------------------------- kappa_cys = 0.8 ratio_cys = scys / kappa_cys if ratio_cys < 1: egfr_cys = 133 * (ratio_cys ** -0.499) * (0.9961 ** age) else: egfr_cys = 133 * (ratio_cys ** -1.328) * (0.9961 ** age) print(f"CKD-EPI Cystatin C 2012 eGFR: {egfr_cys:.1f} mL/min/1.73m²") # ------------------------------------------------------- # 3. CKD-EPI Creatinine-Cystatin C 2021 (race-free) # Combined equation # Male: kappa_cr=0.9, alpha_cr=-0.144 # ------------------------------------------------------- alpha_cr_comb = -0.144 ratio_cr = scr / 0.9 ratio_cys2 = scys / 0.8 part_cr = min(ratio_cr, 1) ** alpha_cr_comb * max(ratio_cr, 1) ** -0.544 part_cys = min(ratio_cys2, 1) ** -0.323 * max(ratio_cys2, 1) ** -0.778 age_factor = 0.9938 ** age egfr_combined = 135 * part_cr * part_cys * age_factor print(f"CKD-EPI Cr-CysC Combined 2021 eGFR: {egfr_combined:.1f} mL/min/1.73m²") # ------------------------------------------------------- # CKD Stage interpretation # ------------------------------------------------------- def ckd_stage(val): if val >= 90: return "G1 (Normal or high)" elif val >= 60: return "G2 (Mildly decreased)" elif val >= 45: return "G3a (Mild-moderately decreased)" elif val >= 30: return "G3b (Moderate-severely decreased)" elif val >= 15: return "G4 (Severely decreased)" else: return "G5 (Kidney failure)" print(f"\nCKD Stage (Creatinine): {ckd_stage(egfr_cr)}") print(f"CKD Stage (Cystatin C): {ckd_stage(egfr_cys)}") print(f"CKD Stage (Combined): {ckd_stage(egfr_combined)}") EOF
| Parameter | Value |
|---|---|
| Serum Creatinine | 1.29 mg/dL |
| Serum Cystatin C | 1.13 mg/L |
| Age / Sex | 40 years / Male |
| Equation | eGFR (mL/min/1.73 m²) | CKD Stage |
|---|---|---|
| CKD-EPI Creatinine 2021 (race-free) | 71.9 | G2 — Mildly decreased |
| CKD-EPI Cystatin C 2012 | 71.9 | G2 — Mildly decreased |
| CKD-EPI Creatinine + Cystatin C 2021 (combined) | 66.2 | G2 — Mildly decreased |
40 year male serum creatinine 1.29 mg/dl serum cystatin c 1.13mg/L calculate EGFR
python3 << 'EOF' import math # Patient data age = 40 sex = "male" scr = 1.29 # mg/dL scys = 1.13 # mg/L # ------------------------------------------------------- # 1. CKD-EPI Creatinine 2021 (race-free) # Male: kappa=0.9, alpha=-0.302 # ------------------------------------------------------- kappa = 0.9 alpha = -0.302 ratio_cr = scr / kappa if ratio_cr < 1: egfr_cr = 142 * (ratio_cr ** alpha) * (0.9938 ** age) else: egfr_cr = 142 * (ratio_cr ** -1.200) * (0.9938 ** age) print(f"=== CKD-EPI Creatinine 2021 (race-free) ===") print(f" Scr/kappa = {scr}/{kappa} = {ratio_cr:.4f}") print(f" ratio < 1? {ratio_cr < 1} → using exponent {alpha if ratio_cr < 1 else -1.200}") print(f" eGFR = 142 × ({ratio_cr:.4f})^{alpha if ratio_cr < 1 else -1.200} × 0.9938^{age}") print(f" eGFR = {egfr_cr:.2f} mL/min/1.73 m²\n") # ------------------------------------------------------- # 2. CKD-EPI Cystatin C 2012 # eGFR = 133 × min(Scys/0.8,1)^-0.499 × max(Scys/0.8,1)^-1.328 × 0.9961^age [× 0.932 if female] # ------------------------------------------------------- kappa_cys = 0.8 ratio_cys = scys / kappa_cys min_cys = min(ratio_cys, 1) max_cys = max(ratio_cys, 1) egfr_cys = 133 * (min_cys ** -0.499) * (max_cys ** -1.328) * (0.9961 ** age) print(f"=== CKD-EPI Cystatin C 2012 ===") print(f" Scys/kappa = {scys}/{kappa_cys} = {ratio_cys:.4f}") print(f" min term = {min_cys:.4f}^-0.499 = {min_cys**-0.499:.4f}") print(f" max term = {max_cys:.4f}^-1.328 = {max_cys**-1.328:.4f}") print(f" age term = 0.9961^{age} = {0.9961**age:.4f}") print(f" eGFR = 133 × {min_cys**-0.499:.4f} × {max_cys**-1.328:.4f} × {0.9961**age:.4f}") print(f" eGFR = {egfr_cys:.2f} mL/min/1.73 m²\n") # ------------------------------------------------------- # 3. CKD-EPI Creatinine-Cystatin C 2021 (race-free) # Male: 135 × min(Scr/0.9,1)^-0.144 × max(Scr/0.9,1)^-0.544 # × min(Scys/0.8,1)^-0.323 × max(Scys/0.8,1)^-0.778 # × 0.9938^age # ------------------------------------------------------- min_cr = min(ratio_cr, 1) max_cr = max(ratio_cr, 1) part_cr = (min_cr ** -0.144) * (max_cr ** -0.544) part_cys = (min_cys ** -0.323) * (max_cys ** -0.778) age_factor = 0.9938 ** age egfr_combined = 135 * part_cr * part_cys * age_factor print(f"=== CKD-EPI Creatinine + Cystatin C 2021 (Combined, race-free) ===") print(f" Cr part = min({ratio_cr:.4f},1)^-0.144 × max({ratio_cr:.4f},1)^-0.544 = {min_cr**-0.144:.4f} × {max_cr**-0.544:.4f} = {part_cr:.4f}") print(f" CysC part= min({ratio_cys:.4f},1)^-0.323 × max({ratio_cys:.4f},1)^-0.778 = {min_cys**-0.323:.4f} × {max_cys**-0.778:.4f} = {part_cys:.4f}") print(f" Age term = 0.9938^{age} = {age_factor:.4f}") print(f" eGFR = 135 × {part_cr:.4f} × {part_cys:.4f} × {age_factor:.4f}") print(f" eGFR = {egfr_combined:.2f} mL/min/1.73 m²\n") # ------------------------------------------------------- # CKD Stage # ------------------------------------------------------- def ckd_stage(val): if val >= 90: return "G1 — Normal or high" elif val >= 60: return "G2 — Mildly decreased" elif val >= 45: return "G3a — Mild-moderately decreased" elif val >= 30: return "G3b — Moderate-severely decreased" elif val >= 15: return "G4 — Severely decreased" else: return "G5 — Kidney failure" print("=== SUMMARY ===") print(f" CKD-EPI Creatinine 2021: {egfr_cr:.1f} → {ckd_stage(egfr_cr)}") print(f" CKD-EPI Cystatin C 2012: {egfr_cys:.1f} → {ckd_stage(egfr_cys)}") print(f" CKD-EPI Cr+CysC 2021 (combined):{egfr_combined:.1f} → {ckd_stage(egfr_combined)}") EOF
| Input | Value |
|---|---|
| Age / Sex | 40 years / Male |
| Serum Creatinine | 1.29 mg/dL |
| Serum Cystatin C | 1.13 mg/L |
| Equation | eGFR (mL/min/1.73 m²) | CKD Stage |
|---|---|---|
| CKD-EPI Creatinine 2021 (race-free) | 71.9 | G2 — Mildly decreased |
| CKD-EPI Cystatin C 2012 | 71.9 | G2 — Mildly decreased |
| CKD-EPI Cr + CysC 2021 (combined) | 66.2 | G2 — Mildly decreased |
eGFR = 142 × (Scr/0.9)^−1.200 × 0.9938^age (when Scr/κ > 1)
eGFR = 133 × min(Scys/0.8,1)^−0.499 × max(Scys/0.8,1)^−1.328 × 0.9961^age
eGFR = 135 × min(Scr/0.9,1)^−0.144 × max(Scr/0.9,1)^−0.544 × min(Scys/0.8,1)^−0.323 × max(Scys/0.8,1)^−0.778 × 0.9938^age