CKD HCC Coding: Stage Specificity & eGFR Guide
By Daniel Plasencia — Certified Risk Coder (CRC), Certified Professional Coder (CPC)

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:
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:
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)
ESRD and Dialysis Status Codes
Hypertensive Kidney Disease Combination Codes
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:
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:
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:
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:
Both codes map to the same HCC (326) in V28, so the RAF impact is identical. However, using the wrong code creates audit risk:
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:
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:
Evaluate: The provider makes a clinical judgment about the kidney disease status:
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:
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:
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.
Related Tools
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.