Source: https://guthlabs.ai/docs/instruments/egfr-ckd-epi-2021-race-free/

instrument / verified-clean

# eGFR (CKD-EPI 2021, race-free)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/egfr-ckd-epi-2021-race-free/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/egfr-ckd-epi-2021-race-free/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/egfr-ckd-epi-2021-race-free/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/egfr-ckd-epi-2021-race-free/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Biology, Medicine & Pharmacology (educational estimates only — every panel labeled not-medical-advice)

**Tranche**: tranche-4

**Evidence ID**: t4-014

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The canonical equation and test vectors above are based on CKD-EPI 2021 creatinine-only, race-free constants. Because the supplied formulas field contains only a description and not the equation itself, the implementation remains NEEDS_REVIEW until the exact equation, supported age range, sex-input policy, validation rules, and KDIGO labeling semantics are explicitly specified.

### Formula and scope findings

- The specification names the CKD-EPI 2021 creatinine equation but does not provide its actual constants, exponents, piecewise min/max terms, or sex-specific k and alpha values, so the implementation cannot be verified from the spec alone.

- The standard equation estimates eGFR for adults and requires explicit handling of the valid age domain, generally age >=18 years.

- The output label 'CKD stage' is potentially misleading: eGFR categories G1-G5 are not, by themselves, a CKD diagnosis; CKD requires appropriate chronicity and/or other markers of kidney damage.

### Unit assumptions

- Serum creatinine (SCr) is entered in mg/dL. If supplied in µmol/L, convert using SCr_mg/dL = SCr_µmol/L / 88.4 before applying the equation.

- Age is in completed years.

- The canonical 2021 race-free CKD-EPI creatinine equation is assumed: eGFR = 142 × min(SCr/k,1)^alpha × max(SCr/k,1)^(-1.200) × 0.9938^Age × 1.012 if female; k = 0.7 and alpha = -0.241 for female, k = 0.9 and alpha = -0.302 for male.

- Sex is assumed to be the binary equation parameter male or female; the spec does not define handling for intersex, nonbinary, or unknown sex inputs.

- eGFR output is in mL/min/1.73 m².

- KDIGO eGFR categories are assumed to be G1 >=90, G2 60-89, G3a 45-59, G3b 30-44, G4 15-29, and G5 <15 mL/min/1.73 m².

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A serum creatinine input of exactly 0 causes the negative power 0^(-0.302), producing an undefined or non-finite result. The instrument should reject this input instead of assigning an eGFR or CKD stage.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "age_years": 40,
    "sex": "male",
    "serum_creatinine_mg_dL": 0.9
  },
  "expected_outputs": {
    "eGFR_mL_min_1_73m2": 110.73,
    "stage_label": "G1"
  },
  "working": "Male: k = 0.9, alpha = -0.302. SCr/k = 0.9/0.9 = 1. Therefore min(1,1)^(-0.302) = 1 and max(1,1)^(-1.200) = 1. Age factor = 0.9938^40 = 0.77976. eGFR = 142 × 1 × 1 × 0.77976 = 110.73 mL/min/1.73 m². Since 110.73 >= 90, the eGFR category is G1."
}
````

## Related workflows

[Renal Dosing Chain (education)primary eGFR](<https://guthlabs.ai/docs/instrument-workflows/renal-dosing/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
