Skip to content
Back to Blog
April 9, 2026·12 min read

CKD HCC Coding: Stage Specificity & eGFR Guide

CKDHCC CodingICD-10Risk AdjustmentDocumentationV28

By Daniel Plasencia — Certified Risk Coder (CRC), Certified Professional Coder (CPC)

CKD HCC Coding: Stage Specificity & eGFR Guide

Why CKD Coding Is a Top Priority for Risk Adjustment

Chronic kidney disease affects more than 37 million adults in the United States, with prevalence rates climbing above 40% in Medicare Advantage populations over age 65. Despite this, CKD remains one of the most under-captured conditions in risk adjustment coding. The problem is not that providers fail to recognize kidney disease — it is that they fail to document it with the stage specificity that ICD-10-CM and the CMS-HCC model require for an HCC to map.

Under the V28 CMS-HCC model, CKD coding spans three HCC categories with meaningfully different Risk Adjustment Factor weights. The difference between capturing a stage-specific CKD code and defaulting to the unspecified N18.9 is often the difference between an HCC that drives reimbursement and a code that maps to nothing. For coders working retrospective chart review or prospective encounters, understanding the CKD coding landscape — staging, eGFR documentation, ESRD distinctions, hypertensive kidney disease combinations, and transplant status — is essential to accurate risk capture.

This guide covers every dimension of CKD HCC coding that a risk adjustment coder needs to master: the ICD-10-CM code structure, V28 HCC mappings, documentation requirements, combination coding rules, and the most common pitfalls that cost plans RAF dollars.

CKD in the CMS-HCC V28 Model

The V28 model maps chronic kidney disease to three HCC categories, organized by severity:

  • HCC 326: Chronic Kidney Disease, Stage 5 (N18.5) — The highest-weighted CKD HCC. Captures patients with stage 5 CKD who are not yet on dialysis and have not received a transplant. The V28 coefficient for HCC 326 is significant, reflecting the high expected cost of managing pre-dialysis stage 5 patients.
  • HCC 327: Chronic Kidney Disease, Severe (Stage 4) (N18.4) — Captures stage 4 CKD, defined as eGFR 15-29 mL/min/1.73m2. This is the stage where nephrology referrals, dialysis planning, and aggressive comorbidity management drive costs.
  • HCC 328: Chronic Kidney Disease, Moderate (Stage 3) (N18.30, N18.31, N18.32) — Captures stage 3 CKD, including both stage 3a (eGFR 45-59) and stage 3b (eGFR 30-44). Stage 3 is the most prevalent CKD stage in the Medicare population and represents the largest volume of CKD HCC captures.
  • The hierarchy is straightforward: HCC 326 trumps HCC 327, which trumps HCC 328. If a patient has documentation supporting stage 5 CKD, only HCC 326 counts toward the RAF score — the lower-stage HCCs are zeroed out by the hierarchy.

    Codes that do NOT map to a CKD HCC in V28:

  • N18.1: Chronic kidney disease, stage 1 — Does not map to any HCC. Stage 1 CKD (eGFR 90+ with evidence of kidney damage) is clinically meaningful but does not carry risk adjustment value.
  • N18.2: Chronic kidney disease, stage 2 — Does not map to any HCC. Stage 2 CKD (eGFR 60-89 with evidence of kidney damage) is similarly excluded.
  • N18.9: Chronic kidney disease, unspecified — Does not map to any HCC. This is the code that costs plans the most RAF, because it is used when the provider documents "CKD" without a stage, and it captures zero risk adjustment value.
  • This structure creates a clear imperative: stage 1 and stage 2 CKD do not carry HCC value regardless of documentation quality, but stage 3 through stage 5 CKD codes only capture value when the stage is explicitly documented. An unspecified CKD code (N18.9) is functionally worthless for risk adjustment, even when the patient clearly has stage 3 or higher disease.

    ICD-10-CM Code Reference for CKD

    Here is the complete ICD-10-CM code set that risk adjustment coders encounter for kidney disease:

    CKD Stage Codes (N18 Family)

  • N18.1: Chronic kidney disease, stage 1 — eGFR >= 90 with kidney damage markers. No HCC.
  • N18.2: Chronic kidney disease, stage 2 — eGFR 60-89 with kidney damage markers. No HCC.
  • N18.30: Chronic kidney disease, stage 3 unspecified — eGFR 30-59. Maps to HCC 328.
  • N18.31: Chronic kidney disease, stage 3a — eGFR 45-59. Maps to HCC 328.
  • N18.32: Chronic kidney disease, stage 3b — eGFR 30-44. Maps to HCC 328.
  • N18.4: Chronic kidney disease, stage 4 — eGFR 15-29. Maps to HCC 327.
  • N18.5: Chronic kidney disease, stage 5 — eGFR < 15, not on dialysis. Maps to HCC 326.
  • N18.6: End stage renal disease — Patient on chronic dialysis or has eGFR < 15 with an established ESRD diagnosis. Maps to its own HCC category (see ESRD section below).
  • N18.9: Chronic kidney disease, unspecified — No stage documented. No HCC. This is the code to avoid.
  • ESRD and Dialysis Status Codes

  • N18.6: End stage renal disease — Maps to HCC 326 in V28. Used when the patient has been formally diagnosed with ESRD, which typically means they are on dialysis or have been approved for dialysis or transplant.
  • N19: Unspecified kidney failure — Does not map to an HCC in V28 in most contexts. This is another code to avoid; it is clinically vague and does not support risk adjustment.
  • Z99.2: Dependence on renal dialysis — Status code indicating the patient is currently on dialysis. Should be coded alongside N18.6 to reflect both the disease and the treatment modality.
  • Z94.0: Kidney transplant status — Indicates the patient has a functioning kidney transplant. Maps to HCC 329 (Kidney Transplant Status) in V28. This is a frequently missed code because post-transplant patients are often seen by primary care rather than nephrology, and the transplant status is buried in the surgical history.
  • Hypertensive Kidney Disease Combination Codes

  • I12.0: Hypertensive chronic kidney disease with stage 5 CKD or ESRD — Use when the provider documents hypertension as the cause of the kidney disease at stage 5 or ESRD. Requires an additional code from N18.5 or N18.6 to specify the stage.
  • I12.9: Hypertensive chronic kidney disease with stage 1 through stage 4 CKD, or unspecified CKD — Use when hypertension is documented as causal for CKD at stages 1-4. Requires an additional N18.x code to specify the stage.
  • I13.0: Hypertensive heart and chronic kidney disease with heart failure and stage 1 through stage 4 CKD, or unspecified CKD — Triple combination capturing HTN, heart disease, and kidney disease.
  • I13.10: Hypertensive heart and chronic kidney disease without heart failure, with stage 1 through stage 4 CKD, or unspecified CKD
  • I13.11: Hypertensive heart and chronic kidney disease without heart failure, with stage 5 CKD or ESRD
  • I13.2: Hypertensive heart and chronic kidney disease with heart failure and stage 5 CKD or ESRD
  • Critical ICD-10-CM guideline for hypertensive CKD: ICD-10-CM assumes a causal relationship between hypertension and CKD when both are documented in the same patient. This is an explicit guideline instruction — the coder does NOT need a provider statement linking hypertension to the CKD. If the patient has both hypertension and CKD, the combination code (I12.x or I13.x) is required, along with the appropriate N18.x code to specify the CKD stage. This is one of the few areas in ICD-10-CM where a causal relationship is assumed by default rather than requiring explicit provider documentation.

    eGFR Documentation: The Key to Stage Specificity

    The estimated glomerular filtration rate (eGFR) is the clinical measurement that determines CKD stage. Without a documented eGFR value or an explicit provider statement of the CKD stage, the coder cannot assign a stage-specific code. Here is how eGFR values map to CKD stages:

  • eGFR >= 90 (with kidney damage): Stage 1 — N18.1 — No HCC
  • eGFR 60-89 (with kidney damage): Stage 2 — N18.2 — No HCC
  • eGFR 45-59: Stage 3a — N18.31 — HCC 328
  • eGFR 30-44: Stage 3b — N18.32 — HCC 328
  • eGFR 15-29: Stage 4 — N18.4 — HCC 327
  • eGFR < 15 (not on dialysis): Stage 5 — N18.5 — HCC 326
  • eGFR < 15 (on dialysis / ESRD): ESRD — N18.6 — HCC 326
  • Documentation requirements for eGFR-based coding:

    The provider must either explicitly state the CKD stage in the encounter note OR document the eGFR value in a way that the coder can cross-reference to the staging table. Best practice is both: "CKD stage 3b, eGFR 38" gives the coder an unambiguous code assignment and the auditor a clear clinical basis.

    A lab result showing eGFR alone, without provider interpretation or acknowledgment, is NOT sufficient to assign a CKD stage code. The provider must address the eGFR in the context of the patient's kidney disease — even a brief statement like "eGFR 42, consistent with stage 3b CKD" is enough. A lab printout sitting in the chart with no mention in the assessment does not meet MEAT criteria and should not be coded.

    Common eGFR documentation gaps:

  • The lab shows eGFR 38 but the provider writes "CKD" without a stage — code defaults to N18.9 (no HCC)
  • The provider writes "CKD stage 3" without specifying 3a vs 3b — code to N18.30 (stage 3 unspecified), which still maps to HCC 328
  • The eGFR value is in the lab section but never referenced in the assessment or plan — does not meet MEAT; query the provider
  • The eGFR is borderline (e.g., 59-60) and the provider does not clarify whether the patient has stage 2 or stage 3 — query the provider
  • CKD with Diabetes: Combination Coding

    Diabetic chronic kidney disease is one of the highest-value combination codes in risk adjustment. When a patient has both diabetes and CKD, and the provider documents a causal relationship between them, the coder captures two HCCs from a single clinical condition:

  • E11.22: Type 2 diabetes mellitus with diabetic chronic kidney disease — Maps to HCC 37 (Diabetes with Chronic Complications)
  • Plus the appropriate N18.x code for the CKD stage — Maps to HCC 326, 327, or 328 depending on stage
  • This combination captures both the diabetes complication HCC and the CKD severity HCC. Missing either piece — the causal link or the stage — leaves RAF on the table.

    The linking requirement: Unlike hypertensive CKD, where a causal relationship is assumed, diabetic CKD requires explicit provider documentation of the causal link. The provider must write "diabetic chronic kidney disease," "CKD due to diabetes," "diabetic nephropathy with CKD stage 3a," or equivalent language. Documentation that lists "diabetes" and "CKD stage 3a" as separate problems without linking them does not support E11.22 — the coder would assign E11.9 (diabetes without complications) and N18.31 (CKD stage 3a) separately, losing the HCC 37 diabetes complication capture.

    For a complete guide to diabetes combination coding, see our diabetes HCC coding guide.

    ESRD vs. CKD Stage 5: A Critical Distinction

    Coders frequently confuse CKD stage 5 (N18.5) with ESRD (N18.6). These are clinically and coding-distinct conditions:

  • N18.5 (CKD Stage 5): The patient has an eGFR below 15 but is NOT on chronic dialysis and has not been formally diagnosed with ESRD. This patient may be receiving conservative management, may be pre-dialysis, or may be in the evaluation phase for renal replacement therapy. Maps to HCC 326.
  • N18.6 (ESRD): The patient has been formally diagnosed with end stage renal disease AND is on chronic dialysis (hemodialysis or peritoneal dialysis), or has been approved for dialysis or transplant. ESRD is a specific clinical and administrative designation — CMS requires ESRD certification (Form CMS-2728) for Medicare ESRD benefits. Maps to HCC 326.
  • Both codes map to the same HCC (326) in V28, so the RAF impact is identical. However, using the wrong code creates audit risk:

  • Coding N18.6 for a patient who is not on dialysis and does not have an ESRD diagnosis overstates the clinical severity
  • Coding N18.5 for a patient who is actively on chronic dialysis understates the clinical reality and may miss dialysis status documentation
  • Dialysis status documentation: When coding N18.6, also code Z99.2 (Dependence on renal dialysis) to capture the treatment modality. The provider should document the type of dialysis (hemodialysis vs peritoneal dialysis), the frequency, and the vascular access or peritoneal catheter status. For encounter data accuracy, include the dialysis encounter codes when the visit includes dialysis-related management.

    Kidney Transplant Status Coding

    Post-transplant kidney patients represent a distinct coding category that is commonly missed in risk adjustment:

  • Z94.0: Kidney transplant status — Maps to HCC 329 in V28. This code should be assigned at every encounter for a patient with a functioning kidney transplant, as long as the transplant status is addressed (MEAT criteria met) during the visit.
  • Why transplant status is missed: Post-transplant patients who have a well-functioning graft are often managed by primary care for their routine chronic conditions. The transplant history may be buried in the past surgical history section, and the provider may not address it in the assessment because the graft is stable. Unless the coder specifically looks for transplant status in the surgical history and confirms that immunosuppressive medications (tacrolimus, mycophenolate, cyclosporine, sirolimus) are active, the Z94.0 code is missed.

    Transplant with CKD: Many post-transplant patients develop CKD in the transplanted kidney. When the provider documents CKD in the transplant kidney, code both Z94.0 and the appropriate N18.x stage code. The transplant status HCC (329) and the CKD HCC (326, 327, or 328) can both be captured if the documentation supports both conditions.

    Transplant failure vs functioning graft: If the transplanted kidney has failed and the patient is back on dialysis, code the transplant complication (T86.1x) rather than Z94.0. The coding is different because the clinical situation is different — a failed graft requires management of the complications of transplant failure, not just the status of having received a transplant.

    MEAT Documentation Requirements for CKD

    Every CKD code submitted for risk adjustment must be supported by MEAT criteria in the encounter documentation. Here is what MEAT looks like specifically for kidney disease:

    Monitor: The provider orders or reviews kidney function labs at this encounter. The strongest monitoring evidence for CKD includes:

  • Serum creatinine and eGFR results reviewed and interpreted
  • Urine albumin-to-creatinine ratio (UACR) ordered or reviewed
  • Basic metabolic panel with attention to potassium, bicarbonate, phosphorus
  • Blood pressure monitoring in the context of kidney disease management
  • Evaluate: The provider makes a clinical judgment about the kidney disease status:

  • "CKD stage 3b, stable, eGFR 36 unchanged from last visit"
  • "CKD stage 4, progressing — eGFR declined from 28 to 22 over 6 months"
  • "ESRD on hemodialysis, adequacy measures on target"
  • Assess: The CKD diagnosis appears in the assessment/plan section of the encounter note, not just in the problem list or past medical history. The provider actively names the condition and its stage as part of the clinical assessment for this visit.

    Treat: Active treatment or management is documented:

  • ACE inhibitor or ARB prescribed or continued for renal protection
  • SGLT2 inhibitor prescribed for CKD progression reduction
  • Dietary counseling (renal diet, potassium restriction, protein management)
  • Nephrology referral ordered or followed up
  • Dialysis access planning or vascular surgery referral
  • Erythropoiesis-stimulating agent (ESA) for anemia of CKD
  • Phosphate binder therapy for CKD-mineral bone disorder
  • For a comprehensive walkthrough of MEAT criteria across all condition categories, see our MEAT criteria guide.

    Common CKD Coding Pitfalls

    These are the documentation and coding patterns that most frequently cost plans CKD-related RAF:

    1. Defaulting to N18.9 (unspecified). This is the single largest CKD coding error in risk adjustment. The provider writes "CKD" or "chronic kidney disease" without specifying a stage, and the coder assigns N18.9 because there is no stage to code. N18.9 does not map to any HCC. The fix is provider education: every CKD documentation should include the stage. If the eGFR is in the chart but the provider did not state the stage, query the provider.

    2. Missing the hypertensive CKD combination code. When a patient has both hypertension and CKD, ICD-10-CM requires the combination code (I12.x or I13.x) plus the N18.x stage code. Coding I10 (essential hypertension) and N18.31 (CKD stage 3a) separately violates the ICD-10-CM guideline that assumes a causal relationship between hypertension and CKD. The I12.x code also captures additional HCC value that the I10 code alone does not.

    3. Not coding the CKD stage alongside diabetes combination codes. When coding E11.22 (diabetes with diabetic CKD), the N18.x stage code must also be assigned. The E11.22 code alone captures HCC 37 for diabetes with complications, but the CKD stage HCC (326, 327, or 328) is only captured by the N18.x code. Missing the N18.x code means missing the CKD HCC entirely.

    4. Confusing CKD stage progression documentation. If a patient's CKD stage has progressed since the last visit (e.g., from stage 3a to stage 3b), the coder should code the current stage, not the historical stage. If the chart has conflicting information — the problem list says "CKD stage 3a" but the current eGFR is 32 (stage 3b range) — query the provider to confirm the current stage before coding.

    5. Missing transplant status on post-transplant patients. As discussed above, Z94.0 is commonly overlooked in primary care settings. Any patient on immunosuppressive medications without a clear autoimmune or oncologic indication should prompt the coder to check for transplant history.

    6. Coding N18.6 without dialysis documentation. Assigning ESRD without evidence that the patient is on dialysis or has been certified for ESRD benefits creates audit exposure. If the chart says "kidney failure" but does not document dialysis or ESRD certification, query the provider rather than assuming ESRD.

    7. Using N19 (unspecified kidney failure) instead of a specific code. N19 is even less specific than N18.9 and should almost never be used in risk adjustment. If the patient has kidney failure, the documentation should support either a CKD stage code or an ESRD code. N19 is a last-resort code that captures no HCC value.

    Using HCC Buddy for CKD Coding

    HCC Buddy is designed to help coders navigate CKD coding complexity in real time:

  • Search any N18.x code in the ICD-10 Encoder to see the HCC mapping, V24 and V28 weights, hierarchy information, and coding guidelines. Try searching N18.4 to see the full detail for CKD stage 4.
  • Calculate RAF impact using the RAF Calculator to model the difference between capturing a stage-specific CKD code vs. defaulting to unspecified. Enter the patient's demographics and HCC profile to see the actual dollar impact of accurate CKD staging.
  • AI coding assistant — Ask natural-language questions like "Does N18.9 map to an HCC?" or "What codes do I need for diabetic CKD stage 3b?" and get answers grounded in CMS mapping data and ICD-10-CM guidelines.
  • Drug reference cross-links — Search CKD-related medications (ACE inhibitors, ARBs, SGLT2 inhibitors, ESAs, phosphate binders) to see which ICD-10 codes they are associated with, helping verify that the coded CKD stage and treatment align.
  • Frequently Asked Questions

    Does N18.9 (CKD unspecified) map to an HCC?

    No. N18.9 does not map to any HCC in either V24 or V28. This is the most common CKD coding gap in risk adjustment. If the patient has CKD but the provider does not document the stage, the coder must query the provider for stage clarification. An eGFR value in the lab results, combined with a provider query response confirming the stage, is sufficient to assign a stage-specific code. Without that clarification, N18.9 is the only option — and it captures zero RAF value.

    Can I assign a CKD stage based solely on the eGFR lab value?

    No. A lab result showing eGFR alone does not authorize the coder to assign a stage-specific CKD code. The provider must acknowledge the eGFR in the context of the patient's kidney disease — either by stating the CKD stage explicitly or by referencing the eGFR value in the assessment. A lab printout in the chart with no provider interpretation does not meet MEAT criteria and does not support coding. If the eGFR clearly indicates a specific stage but the provider has not addressed it, the appropriate action is a provider query.

    What is the difference between CKD stage 5 (N18.5) and ESRD (N18.6)?

    CKD stage 5 (N18.5) means the patient has an eGFR below 15 but is NOT on chronic dialysis and has not been formally diagnosed with ESRD. ESRD (N18.6) means the patient has end stage renal disease and is on chronic dialysis or has been approved for dialysis or transplant. Both map to HCC 326 in V28, but the clinical and documentation requirements differ. Using N18.6 for a patient who is not on dialysis is inaccurate and creates audit risk. Using N18.5 for a patient who is actively on dialysis is an understatement. The coder should verify dialysis status in the chart before choosing between N18.5 and N18.6.

    Do I need a separate N18.x code when I code E11.22 (diabetes with diabetic CKD)?

    Yes. E11.22 captures the diabetes complication (HCC 37) but does not capture the CKD severity HCC by itself. ICD-10-CM guidelines require an additional code from N18.1 through N18.6 to specify the stage of CKD when coding E11.22. Without the N18.x code, you capture the diabetes complication HCC but miss the CKD HCC entirely. This is one of the most common combination coding errors in risk adjustment — the coder remembers the E11.22 but forgets the N18.x stage code, leaving significant RAF value uncaptured.

    Is hypertensive CKD (I12.x) assumed or does it need provider documentation?

    ICD-10-CM assumes a causal relationship between hypertension and CKD when both are documented in the same patient. This is an explicit Official Guideline instruction (I.C.9.a.2). The coder does NOT need the provider to write "hypertensive chronic kidney disease" or "CKD due to hypertension." If the patient has both hypertension and CKD documented in the encounter, the combination code I12.x is required, along with the appropriate N18.x code. This is different from diabetic CKD, which does require explicit provider documentation of the causal link. The assumed-causal guideline for hypertensive CKD is one of the most frequently missed rules in ICD-10-CM coding.

    Search any CKD code at hccbuddy.com/encoder and see the HCC mapping instantly. Use the RAF Calculator to model the impact of accurate CKD staging on your patient panel.

    Daniel Plasencia

    Daniel Plasencia

    Founder & Developer

    Daniel Plasencia — Risk adjustment coding professional and software engineer who built the tool he wished existed, at a price coders can actually afford.

    Get HCC Coding Tips in Your Inbox

    Join our newsletter for coding tips, guideline updates, and tool announcements.

    Related Articles