Dialysis CPT codes run from 90935 to 90999 and split into three families: per-session procedure codes (90935-90947), ESRD monthly capitation codes (90951-90970), and dialysis circuit intervention codes (36901-36909). Code selection depends on four variables: dialysis type, setting, patient age, and the number of documented face-to-face visits in the month.
Key Takeaways for Dialysis Coding in 2026
- Per-session codes 90935, 90937, 90945, and 90947 include the E/M related to the dialysis and to the renal failure.
- Only one ESRD monthly capitation code bills per patient per calendar month.
- Monthly capitation code selection takes two variables, age and visit count, not one.
- Codes 90963-90966 cover home dialysis. The pediatric in-center codes are 90951-90959.
- Starting July 1, 2026, hemodiafiltration on an ESRD claim takes revenue code 0829 with CPT 90999.
- The CY2026 ESRD PPS base rate is $281.71 per treatment, up from $273.82 in CY2025.
The Three Dialysis CPT Code Families at a Glance
Dialysis CPT codes fall into three functional families. Per-session codes report a single dialysis treatment with physician evaluation. ESRD monthly capitation codes report a full calendar month of management. Dialysis circuit codes report interventions on the fistula, graft, or access catheter. The families don’t overlap on the same date for the same service.
1. Per-Session Dialysis Codes (90935-90947)
These report the treatment itself. Two things drive the split inside the family: the dialysis modality and how many times the physician evaluated the patient during that session. You’ll use these dialysis procedure codes when the nephrologist isn’t billing a monthly management code for that patient.
2. ESRD Monthly Capitation Codes (90951-90970)
These replace individual encounter billing for chronic dialysis patients. The month is the billing unit. The family carries 27 codes, and picking the right one takes both the patient’s age and the documented visit count. Miss either variable and you’ll land on the wrong code.
3. Dialysis Circuit Intervention Codes (36901-36909)
These cover imaging and intervention on the access itself: angiography, angioplasty, thrombectomy, and stent placement. You report them apart from the dialysis session because they treat the access, not the renal failure. You won’t find this family on most dialysis cheat sheets, so it surfaces when an interventional claim denies.
One rule governs all three. A per-session code and a full-month capitation code from the same physician don’t coexist in the same calendar month.
The map below shows how the dialysis codes sort by billing unit and by the question that decides each one.
| Code Family | Range | Billing Unit | Deciding Question |
|---|---|---|---|
| Hemodialysis session | 90935-90940 | Per treatment | How many physician evaluations during the session? |
| Non-hemodialysis session | 90945-90947 | Per treatment | Single or repeated evaluation? |
| ESRD monthly, in-center | 90951-90962 | Per calendar month | Patient age and visit count? |
| ESRD monthly, home | 90963-90966 | Per calendar month | Patient age? |
| ESRD partial month | 90967-90970 | Per day | Patient age and days of care? |
| Home dialysis training | 90989, 90993 | Per course or session | Was the course completed? |
| Unlisted and special use | 90997, 90999 | Varies | Does a specific code exist? |
| Dialysis circuit intervention | 36901-36909 | Per procedure | Diagnostic, angioplasty, thrombectomy, or stent? |
Inpatient, Outpatient, or Home: How Setting Changes the Dialysis Code
Setting determines which dialysis code family applies. Inpatient hemodialysis for an admitted patient reports 90935 or 90937 on the professional claim. Outpatient chronic dialysis for an ESRD patient reports a monthly capitation code from 90951-90962. Home dialysis reports 90963-90966 for a full month. Place of service 65 identifies a Medicare-certified ESRD facility.
You open the work queue and find a charge that says dialysis and nothing else. No admission status, no facility name, no modality. So you pick a code from the descriptor and move on. Setting is the first variable in dialysis CPT codes, and it’s the one that gets skipped.
Inpatient Dialysis Coding
The patient is admitted. Dialysis during that stay reports the per-session code, not a monthly code. Chronic ESRD patients still carry an ESRD diagnosis when they’re admitted, so billers reach for the familiar monthly code out of habit. The month doesn’t follow the patient into the hospital.
Outpatient Dialysis Coding, In-Center and Acute
A chronic ESRD patient dialyzing three times a week at a facility falls under monthly capitation. Per-session codes don’t get stacked on top for the same physician. Outpatient dialysis CPT codes work differently for acute cases, where the patient dialyzes for acute kidney injury without ESRD.
For those acute patients, the per-session codes apply. HCPCS G0491 covers dialysis for acute kidney injury furnished in an ESRD facility. The outpatient hemodialysis CPT code you select turns on whether the patient carries an ESRD diagnosis, not on where the chair sits.
Home Dialysis Coding
A full month of home dialysis management reports 90963-90966 by patient age. A partial month reports 90967-90970 per day. Home covers both modalities, so the code doesn’t change based on whether the patient runs hemodialysis or peritoneal dialysis at home.
Place of Service and Why It Breaks Claims
POS 65 identifies the ESRD facility. POS 11 is the office, POS 12 the home, and POS 21 and 22 cover inpatient and outpatient hospital. A mismatch between the POS on the claim and the setting in the chart produces a denial that reads like a coding error and traces back to a configuration error. Our place of service billing rules guide covers how that mismatch gets built into a billing system in the first place.
When POS is wrong on a dialysis claim, the denial gets logged as a coding problem and the cause stays unfixed. That’s how the same denial keeps coming back month after month. If your dialysis denials repeat in a pattern nobody can trace, that’s what a dialysis denial management review is built to find.
CMS names 90935, 90937, 90945, and 90947 as the physician dialysis procedure codes across settings. The Medi-Cal ESRD provider manual lists the same set for renal-related physician services.
The grid below pairs each setting with the code family, the place of service, and the claim form it belongs on.
| Setting | Patient Status | Code Family | POS | Claim Form |
|---|---|---|---|---|
| Inpatient hospital | ESRD or AKI, admitted | 90935 / 90937 | 21 | CMS-1500 (professional) |
| Outpatient ESRD facility | Chronic ESRD, in-center | 90951-90962 | 65 | CMS-1500 (professional) |
| Outpatient ESRD facility | AKI, not ESRD | G0491 | 65 | CMS-1500 (professional) |
| Home | Chronic ESRD, full month | 90963-90966 | 12 | CMS-1500 (professional) |
| Home | Chronic ESRD, partial month | 90967-90970 | 12 | CMS-1500 (professional) |
| ESRD facility, technical | Any | Bundled under ESRD PPS | 65 | UB-04 (facility) |
CPT 90935 and 90937: Hemodialysis With Single or Repeated Evaluation
Bill 90935 when the physician evaluates the patient once during a hemodialysis session. Bill 90937 when the patient’s condition changes mid-session and the physician performs a repeat evaluation or revises the dialysis prescription. The deciding factor is documented reassessment, not the length of the session.
What Separates 90935 From 90937 in the Chart
A patient’s pressure drops 40 minutes into treatment. The nephrologist comes back, reassesses, adjusts the prescription, and the session finishes without incident. That’s a 90937. It gets billed as 90935 more often than any practice would like.
Blame the note before you blame the coder. When documentation reads that the patient tolerated treatment well, nothing in the record shows a second evaluation happened. A coder can only bill what the chart supports, so the higher-value 90935 CPT code description gets swapped for the lower one.
A template change beats a training session here. Give the dialysis note a dedicated reassessment field and the second evaluation gets captured. Leave the note free-text and it won’t be.
Session length carries no weight in this decision. Billers assume a four-hour run justifies CPT 90935 moving up to 90937. It doesn’t. Only the documented reassessment moves it.
What 90935 and 90937 Already Include
Dialysis CPT codes bundle more work than the descriptors suggest, and this pair shows it clearly. Both codes include the E/M related to the dialysis procedure and to the renal failure being treated. You can’t add an office visit code for reviewing the patient’s kidney disease on the same date, because that work is already paid inside the 90935 CPT code or 90937.
Unrelated conditions work differently. Per the NCCI Policy Manual chapter 11, CMS permits 99202-99215, 99221-99223, 99238-99239, and 99291-99292 with Modifier 25 when the E/M has nothing to do with the dialysis or the renal failure. A cellulitis workup qualifies. A blood pressure check doesn’t. Our Modifier 25 documentation standards guide covers what a defensible same-day note looks like.
A practical test settles most of these. If the E/M note would still make sense with the dialysis session removed from the chart, it’s probably separately reportable. If it reads as commentary on the dialysis, it isn’t. Noridian renal dialysis policy states the same bundling rule for its jurisdiction.
The 90937 CPT code description differs from 90935 on one variable, and the table below isolates it.
| Code | What It Covers | When You Bill It |
|---|---|---|
| 90935 | Hemodialysis with a single physician evaluation | One documented assessment during the session |
| 90937 | Hemodialysis with repeated evaluations | Mid-session reassessment or prescription revision, documented |
CPT 90945 and 90947: Peritoneal Dialysis and Other Non-Hemodialysis Procedures
CPT 90945 reports a dialysis procedure other than hemodialysis, including peritoneal dialysis, hemofiltration, and continuous renal replacement therapy, with a single physician evaluation. CPT 90947 reports the same procedures when repeated evaluations occur. Billing 90935 for a peritoneal dialysis session is a code-definition error that payers catch at automated editing.
The 90945 CPT code description covers the dialysis procedure itself. Some references call it a pre-dialysis evaluation. That description doesn’t match the code, which reports the treatment rather than the decision about which modality to use.
Dialysis CPT codes split by modality before they split by evaluation count, and this family reaches further than peritoneal dialysis Hemofiltration and continuous renal replacement therapy in the ICU also land here, which catches billers who read CPT 90945 as peritoneal-only. A CRRT patient in critical care is a 90945 or 90947 patient.
The single-versus-repeated split works the same way it does for 90935 and 90937, so the evaluation logic carries over without change.
A peritoneal dialysis CPT code billed as 90935 doesn’t reach a human reviewer. The payer’s edit engine catches it before anyone opens the claim. There’s no appeal argument to make, because the code definition doesn’t support the service, and the fix sits upstream in the charge template. Our CO-97 bundling denials guide covers how edit-level rejections differ from payer denials on the appeal clock.
Both codes in this family turn on the same documentation variable.
| Code | What It Covers | When You Bill It |
|---|---|---|
| 90945 | Dialysis other than hemodialysis, single evaluation | Peritoneal, hemofiltration, or CRRT with one documented assessment |
| 90947 | Dialysis other than hemodialysis, repeated evaluations | Same modalities with documented reassessment |
CPT 90940: The Hemodialysis Access Flow Study, Not a Dialysis Session
CPT 90940 reports a hemodialysis access flow study, a measurement of blood flow through an arteriovenous graft or fistula using an indicator dilution method. It doesn’t report a dialysis session, and it doesn’t report hemodialysis performed without physician evaluation.
The study checks whether the access still moves blood at an adequate rate. That’s how a failing fistula or graft gets caught before it clots, which is why nephrologists order it on a surveillance schedule rather than in response to a problem.
Some references describe 90940 as hemodialysis without physician evaluation. Nothing in the code reports a dialysis treatment at all. A biller who selects it expecting to report an unsupervised session gets a denial and won’t see why, because the code sits inside the hemodialysis range.
The study gets performed during a dialysis session in most cases, and it still reports a distinct service. Frequency limits apply under most payer policies, since this is surveillance rather than treatment.
The access carries its own code family, covered further down this guide.
Documentation that can’t support the right code costs a nephrology practice more than picking the wrong one. If your 90935 and 90937 volumes look lopsided against your session counts, the note template is where that gap starts.
ESRD Monthly Capitation Payment Codes 90951-90962: The Age and Visit Count Matrix
ESRD monthly capitation payment codes 90951-90962 report a full calendar month of physician management for a dialysis patient. Code selection requires two variables: the patient’s age band and the number of documented face-to-face visits during the month. Only one monthly capitation code bills per patient per calendar month.
The Complete MCP Matrix by Age and Visit Count
Age runs down the rows and visit count runs across the columns, so the CPT code 90960 you need sits at the intersection of the two.
| Patient Age | 4 or more visits | 2 to 3 visits | 1 visit |
|---|---|---|---|
| Under 2 years | 90951 | 90952 | 90953 |
| 2 to 11 years | 90954 | 90955 | 90956 |
| 12 to 19 years | 90957 | 90958 | 90959 |
| 20 years and older | 90960 | 90961 | 90962 |
The adult codes are 90960, 90961, and 90962. Secondary references group them with the teenage band often enough that it’s worth stating plainly: the 12 to 19 band is 90957 through 90959. The 90961 CPT code description and the 90962 CPT code description both cover patients 20 and older, separated only by visit count.
What Counts as a Qualifying Visit
Dialysis CPT codes in the capitation family hinge on what the note proves, not on what the schedule shows. A qualifying visit is face-to-face, and CMS has reinforced that the note needs to address dialysis adequacy, meaning a review of measures such as Kt/V or URR and an assessment of whether the dialysis prescription is working.
A note that covers blood pressure or anemia management without touching dialysis adequacy may not qualify toward the frequency threshold. A practice that saw the patient four times and documented adequacy twice doesn’t have a 90960 CPT code claim. It has a 90961. Repeat that across a panel and the gap shows up in a root-cause denial analysis long before anyone notices it in the ledger.
Treat visit counting as a month-end reconciliation task rather than a charge-entry task. Practices that assign the code at the last visit of the month overcount, because a scheduled visit that turned into a phone call still shows on the calendar.
One capitation code per patient per calendar month holds without exception, and no per-session ESRD CPT code stacks on top of it for the same physician. CMS physician dialysis transmittal sets out the physician billing rules for these services.
Miscounted capitation visits are one of the quieter ways dialysis revenue disappears. Nothing denies. The month pays at 90961 instead of 90960, and nobody catches it because the claim went through. When you’re ready, we can pull a month of your capitation claims and show you what the visit documentation supports.
Where the 90951-90970 Codes Came From
CMS documents that the CPT Editorial Panel created 90951 through 90970 to replace the older ESRD monthly and per-diem G-codes. CMS published the crosswalk in Transmittal R419OTN.
CMS built age stratification into the structure from the start, which is why you can’t infer an age band from a code number alone. The 90951 CPT code description sits at the top of the range because the youngest patients come first, not because 90951 is the most common code.
One legacy warning belongs here. CPT 90918 through 90925 are no longer valid for Medicare per CMS Transmittal R1456CP. Charge masters still carry them, and claims built from those entries still deny. A single dormant entry can generate denials for years before anyone traces them back.
Home Dialysis Codes 90963-90966: Full Month by Patient Age
CPT 90963-90966 report a full calendar month of ESRD management for patients receiving dialysis at home, stratified by age. 90963 covers patients under two years, 90964 covers ages two to 11, 90965 covers ages 12 to 19, and the 90966 CPT code covers patients 20 and older.
The Confusion That Causes the Denial
Codes 90963 through 90966 are home dialysis codes. Billers confuse them with the pediatric in-center codes, which are 90951 through 90959. Billing 90964 for an eight-year-old dialyzing in-center will deny.
Both families carry age stratification and their code numbers sit next to each other, which is where the mix-up starts. A reference that lists 90963 as under two years without saying home is incomplete, and a biller reading at speed fills in the missing variable with the wrong one.
Confirm the modality first, then the age. Modality is the parent variable and age is the child variable. Reverse that order and you’ll pick from the wrong family before you ever look at the patient’s date of birth.
Home dialysis management calls for evidence of ongoing oversight: training compliance, treatment monitoring, and care coordination. The visit-count variable that drives 90951-90962 doesn’t apply to this family, which is a distinction most references skip.
The family covers home hemodialysis and home peritoneal dialysis together. The 90966 CPT code description doesn’t change based on which modality the patient runs at home.
Modality sits in the first column below because it decides the family before age decides the code.
| Code | Modality | Patient Age | Billing Period |
|---|---|---|---|
| 90963 | Home dialysis | Under 2 years | Full calendar month |
| 90964 | Home dialysis | 2 to 11 years | Full calendar month |
| 90965 | Home dialysis | 12 to 19 years | Full calendar month |
| 90966 | Home dialysis | 20 years and older | Full calendar month |
Partial Month Dialysis Codes 90967-90970: Per-Day Billing
CPT 90967-90970 report ESRD management for less than a full calendar month, billed per day rather than per month. 90967 covers patients under two years, 90968 covers ages two to 11, 90969 covers ages 12 to 19, and the 90970 CPT code description covers patients 20 and older.
You’ll split a month for four reasons. A patient starts dialysis mid-month. A patient transfers to another facility. A patient receives a transplant. A patient gets admitted for two weeks, which puts the inpatient admission billing rules in play alongside the dialysis claim. Each one splits the month and changes the billing unit from a month to a day.
You multiply the per-day code by the number of days the physician provided care, so date tracking matters more here than anywhere else in the family. A practice that estimates the day count is guessing at a number the payer can check against the facility claim.
Transfers generate the duplicate denials. When a patient moves between facilities mid-month, two physicians each report partial-month dialysis CPT codes for their own days. Neither one is wrong. Both get denied when the day counts overlap.
Put the dates in the note, not the count. A note that says the physician managed care for 11 days gives an auditor nothing to verify.
Each code in the partial-month set maps to one age band and one billing unit.
| Code | Patient Age | Billing Unit |
|---|---|---|
| 90967 | Under 2 years | Per day |
| 90968 | 2 to 11 years | Per day |
| 90969 | 12 to 19 years | Per day |
| 90970 | 20 years and older | Per day |
Home Dialysis Training Codes 90989 and 90993
CPT 90989 reports a completed course of home dialysis training. CPT 90993 reports a single training session when the course isn’t completed. Completion decides which code you report. If training stops early, reporting shifts from the course code to per-session billing.
The CMS Claims Processing Manual chapter 8 sets physician self-dialysis training payment at a flat $500 on completion. For incomplete training, CMS prorates at $20 per treatment against a 25-treatment course. Treat that as CMS training-payment policy for physician services rather than a rule commercial payers follow.
Run a patient through 18 training treatments and stop, and the practice hasn’t earned the flat course payment. It has earned prorated per-session payment, and the charge needs to reflect that. Practices that bill 90989 on an incomplete course are billing a completion that didn’t happen.
The training record needs a structured curriculum and evidence of completion. A note saying the patient was trained doesn’t establish a completed course, and the 90989 CPT code description turns on that one word.
CPT 90999 and 90997: Unlisted and Special-Use Dialysis Codes
CPT 90999 reports an unlisted dialysis procedure, inpatient or outpatient, and applies only when no specific dialysis code describes the service. CPT 90997 reports hemoperfusion, a distinct procedure using a charcoal or resin column. Starting July 1, 2026, ESRD claims for hemodiafiltration require revenue code 0829 with CPT 90999.
When 90999 Is the Right Code and When It Is Not
Dialysis CPT codes cover most of what a renal practice does, which is what makes the unlisted code a last resort. Reach for the CPT code 90999 when the procedure has no specific code: novel techniques, hybrid modalities, or protocols outside the standard descriptors. Selecting it because the right code is hard to find turns a coding shortcut into a payment delay.
Unlisted codes carry a documentation burden. The claim needs a written description of what was performed, the time involved, the technical details, and the clinical rationale for choosing an unlisted code over a specific one. Payers route these to manual review, so the claim moves at the speed of a human reader.
One rule keeps the 90999 CPT code description defensible. If you can name the specific code you rejected and say why it didn’t fit, the claim holds up. If you can’t, the code is wrong.
The July 1, 2026 Hemodiafiltration Billing Change
Starting July 1, 2026, CMS instructs ESRD facilities to report hemodiafiltration with revenue code 0829 and CPT 90999 on the ESRD claim. On an AKI claim, the pairing is revenue code 0829 with HCPCS G0491. CMS pays hemodiafiltration at the same rate as hemodialysis, and hemodialysis and hemodiafiltration can’t both be billed for the same date of service. CMS published the instruction in MM14354 and Transmittal R13740CP.
Facilities running hemodiafiltration need the charge master updated before the effective date rather than after the first denial. A revenue code change is a configuration task rather than a coding task, and it lands in a system the coder doesn’t open. That’s the gap hospital revenue cycle support is built to close on the facility side of the claim.
The first sign of trouble is a batch of denials three weeks after the effective date, by which point the facility has run a month of claims against a stale charge master. If nobody has checked yours against the July 2026 update, that’s worth doing before the next cycle closes.
Correcting a Common 90997 Misdescription
CPT 90997 reports hemoperfusion, in which blood passes through a charcoal or resin column to remove substances. It’s a distinct procedure rather than hemodialysis with additional supervision, and it shows up in overdose and poisoning cases more often than in routine renal care.
Each claim type takes a different procedure code against the same revenue code.
| Claim Type | Revenue Code | Procedure Code | Payment |
|---|---|---|---|
| ESRD | 0829 | CPT 90999 | Same rate as hemodialysis |
| AKI | 0829 | HCPCS G0491 | Same rate as hemodialysis |
Dialysis Circuit and Vascular Access CPT Codes 36901-36909
CPT 36901-36909 report diagnostic imaging and intervention on the dialysis circuit, meaning the arteriovenous fistula or graft used for hemodialysis access. You climb the family in tiers. The 36901 CPT code description covers diagnostic angiography alone, 36902 adds angioplasty, 36903 adds stent placement, and 36904-36906 add thrombectomy. Codes 36907-36909 are add-ons for the central segment.
How the 36901-36909 Tiers Stack
Dialysis CPT codes for the access circuit are inclusive by design, and each code includes the work of the codes below it. Angioplasty in the peripheral segment includes the diagnostic imaging, so 36901 doesn’t get reported alongside CPT 36902. Report both and you’ve unbundled a code the AMA designed to be inclusive, which is the same trap our NCCI procedure-to-procedure edits guide covers for other code families.
The peripheral dialysis segment runs from the arterial anastomosis through the venous outflow. The central segment covers the vessels beyond that point. Report central work with the add-on codes 36907 and 36908, listed separately in addition to the primary procedure.
A biller who doesn’t know where the peripheral segment ends will report a central intervention with a peripheral code, and the claim pays less than the work performed. That’s an underpayment rather than a denial, so nothing on the remittance flags it and nobody opens a ticket.
Dialysis Access Placement and Removal Codes
Central venous catheters carry their own set. Non-tunneled placement uses 36555 for patients under five years and 36556 for age five and older. Tunneled placement without a port uses 36557 and 36558 on the same age split. The dialysis catheter placement CPT code you pick turns on tunneling first, then age.
Direct cannula and shunt work sits in a different range. Codes 36800, 36810, and 36815 report cannula insertion for hemodialysis, covering the arteriovenous external variety along with its revision or closure. Billers searching for a hemodialysis catheter placement CPT code often stop at the central venous set and miss these.
Peritoneal dialysis catheters run from 49418 through 49422. The 49418 CPT code covers open placement of a tunneled intraperitoneal catheter, and laparoscopic placement carries a separate code. The CPT code for peritoneal dialysis catheter placement changes with surgical approach, so the operative note decides it.
Global periods create the last trap. An access revision performed during a global period takes Modifier 78 when the return to the operating room is related and unplanned. The 78 modifier hemodialysis catheter placement global period rule turns a payable revision into a bundled write-off when a biller skips it.
The tiers below show what each code absorbs from the one beneath it.
| Code | Segment | What It Adds | Reported With |
|---|---|---|---|
| 36901 | Peripheral | Diagnostic angiography of the dialysis circuit | Standalone only |
| 36902 | Peripheral | Balloon angioplasty | Includes the diagnostic imaging |
| 36903 | Peripheral | Stent placement | Includes angioplasty and imaging |
| 36904 | Peripheral | Thrombectomy or thrombolysis | Includes imaging |
| 36905 | Peripheral | Thrombectomy plus angioplasty | Includes imaging |
| 36906 | Peripheral | Thrombectomy plus stent | Includes angioplasty and imaging |
| 36907 | Central | Central segment angioplasty | Add-on, list separately |
| 36908 | Central | Central segment stent | Add-on, list separately |
| 36909 | Circuit | Embolization or occlusion | Add-on, list separately |
Dialysis Drugs and HCPCS Codes: Q4081, J-Codes, and Waste Reporting
Dialysis drugs sit outside the dialysis CPT codes set and report under HCPCS Level II instead. Q4081 reports epoetin alfa for ESRD patients on dialysis, and J0882 reports darbepoetin alfa for the same population. Non-ESRD epoetin alfa uses J0885. Every single-dose vial claim takes either the JW modifier for discarded product or the JZ modifier when no waste occurred. Our HCPCS versus CPT coding guide covers where the two code sets divide.
Why Q4081 and J0885 Are Not Interchangeable
For ESRD patients receiving dialysis, epoetin alfa reports with Q4081. J0885 reports epoetin alfa for non-ESRD use. The patient population and the treatment setting separate the two codes. The drug in the vial is the same.
A reference that lists J0885 as the ESA for CKD and ESRD patients without flagging the Q4081 distinction sets up a denial that reads like a units problem. The claim carries the right drug, the right dose, and the wrong code, so the biller audits the dosing and finds nothing.
Confirm ESRD status and dialysis setting before you pick the ESA code. Doing it afterward means reworking a claim that was wrong at submission.
JW and JZ: The Waste Modifiers That Are Not Optional
Append JW when part of a single-dose vial gets discarded, and report the discarded units on a separate line. Append JZ when no product was discarded. One of the two belongs on the claim, and claims carrying neither get rejected under CMS edits.
Dialysis feels this rule harder than most specialties. ESAs and IV iron come in single-dose vials, weight-based dosing and vial size don’t line up, and patients receive these drugs three times a week. That’s high-frequency exposure to a modifier rule that charge systems apply with gaps. Certain dialysis drugs also carry a transitional payment adjustment outside the bundle, which the CMS CY2026 ESRD final rule sets out.
The Notes column below carries the warning that keeps these codes apart on a claim.
| Code | Product | Population | Notes |
|---|---|---|---|
| Q4081 | Epoetin alfa, 100 units | ESRD on dialysis | ESRD-specific ESA code |
| J0882 | Darbepoetin alfa | ESRD on dialysis | ESRD-specific ESA code |
| J0885 | Epoetin alfa, 1000 units | Non-ESRD | Not for ESRD dialysis claims |
| J0881 | Darbepoetin alfa | Non-ESRD | Not for ESRD dialysis claims |
| G0257 | Unrelated dialysis service, hospital outpatient | Non-ESRD facility use | Setting-specific |
Dialysis Modifiers: G1-G6, AY, V5-V7, and the AX Change
Dialysis claims use a modifier set that doesn’t appear in general medical billing. Modifiers G1 through G6 report the patient’s most recent urea reduction ratio reading. Modifiers V5, V6, and V7 identify the vascular access type. Modifier AY identifies an item or service furnished to an ESRD patient that isn’t for treating ESRD. These modifiers decide payment on claims where the base code was already correct.
G1 Through G6: Reporting Dialysis Adequacy
Modifiers G1 through G6 report the patient’s most recent urea reduction ratio reading. They measure adequacy, and they carry no information about how often the patient dialyzed.
The reading levels below determine which modifier belongs on the claim line.
| Modifier | Most Recent URR Reading |
|---|---|
| G1 | Less than 60 percent |
| G2 | 60 to 64.9 percent |
| G3 | 65 to 69.9 percent |
| G4 | 70 to 74.9 percent |
| G5 | 75 percent or greater |
| G6 | Fewer than seven dialysis sessions in the month |
Some references describe this set as reporting the number of dialysis sessions in a month. Only G6 touches session count, and it identifies a patient who received fewer than seven sessions during the month. The other five report a lab value.
The modifier follows the most recent lab, so the value shifts month to month for the same patient. A charge system that hard-codes a G modifier at the patient level goes wrong the first time the lab moves, and it stays wrong until someone audits the append logic.
V5, V6, and V7: Vascular Access Type
These identify what the patient dialyzed through: a catheter, a graft, or a fistula. On claims requiring both sets, V modifiers go ahead of G modifiers. Order matters to the edit, and a correct pair in the wrong sequence still bounces.
Modifier AY and Separately Billable Labs
Modifier AY identifies an item or service furnished to an ESRD patient that isn’t for the treatment of ESRD. Labs are the main use case.
The ESRD PPS bundles a long list of laboratory tests into the facility payment. When a physician orders a lab for a condition unrelated to the renal disease, AY tells the payer the test falls outside the bundle. Leave it off and the claim denies as included in the bundled payment, which sends the biller into an appeal and resubmission workflow for a claim that a single modifier would have cleared.
Magnesium testing under 83735 shows the pattern well. The 83735 medical necessity question turns on whether the order ties to the renal disease or to something else, and the CY2026 consolidated billing list effective January 1, 2026 defines what sits inside the bundle.
Modifier EA, EB, and EC identify the cause of anemia when a practice administers an ESA. Billers mix that set up with the adequacy modifiers because both attach to the same patients.
The AX Modifier Change Effective July 1, 2026
Starting July 1, 2026, CMS instructs ESRD facilities to stop reporting the AX modifier in TDAPA, TPNIES, and CRA TPNIES scenarios, unless CMS instructs otherwise. CMS published the change in MM14354.
Billing teams catch additions. Removals slip past them, because nothing fails when a system keeps appending a modifier CMS no longer wants, so the append logic runs untouched until the edits catch up and a batch of claims stops paying.
The reference below pulls every dialysis-specific modifier into one place.
| Modifier | Reports | Where It Appears |
|---|---|---|
| G1 to G6 | Most recent URR reading level | ESRD facility claims |
| V5, V6, V7 | Vascular access type | ESRD facility claims, before G modifiers |
| AY | Service not for treating ESRD | Separately billable labs and services |
| AX | Discontinued for TDAPA and TPNIES from July 1, 2026 | ESRD facility claims |
| EA, EB, EC | Cause of anemia for ESA administration | Drug and administration lines |
| 25 | Separately identifiable E/M, unrelated to dialysis | Professional claims |
| JW / JZ | Single-dose vial waste or no waste | Drug lines |
| 78 | Unplanned related return to the OR in a global period | Access revisions |
Building the Dialysis Claim: Bill Types, Revenue Codes, and Place of Service
Dialysis services split across two claim forms. The physician’s professional services report on the CMS-1500 with the appropriate CPT code. The facility’s technical services report on the UB-04 with a bill type in the 072X series and a dialysis revenue code. A claim carrying the right dialysis CPT codes on the wrong form won’t pay.
Professional Claim Versus Facility Claim
The nephrologist bills the professional claim for managing the patient. The dialysis facility bills the technical claim for delivering the treatment. Both claims exist for the same patient on the same dates, and neither one duplicates the other.
A practice that owns or partners with a facility can submit both from the same billing system. One configuration error routes a professional code onto a facility claim, and the denial reads as an invalid procedure code for the bill type. The biller then spends an afternoon auditing the CPT code while the problem sits in the form selection.
Bill Types and Revenue Codes on the Facility Claim
The 072X series identifies the ESRD facility claim, with the third digit marking the sequence of the bill. Hospital-based renal programs work with other series, which is where type of bill 133 and 121 bill type enter the picture for outpatient hospital and inpatient Part B claims.
Revenue codes identify the modality on the line. Revenue code 0829 carries the new hemodiafiltration application from July 1, 2026, so a facility running that modality needs the line built before the effective date.
The claim carries value codes too. Value code 48 reports the patient’s hemoglobin reading and the D6 value code reports the most recent Kt/V, both of which payers use to validate the adequacy modifiers on the same claim.
The chargemaster team assigns the dialysis revenue codes. The coding team works in a different system and doesn’t see that file, which is why dialysis rev codes stay wrong for months after a rule changes.
Payer order sits upstream of all of it. ESRD beneficiaries with employer group coverage carry a 30-month coordination period during which the group plan pays first. Get the order wrong and no coding fix will resolve the denial, which is why eligibility and COB verification belongs before the first claim rather than after the first rejection.
Place of Service on the Professional Claim
POS 65 identifies the Medicare-certified ESRD facility. POS 11 covers the office, POS 12 the home, POS 21 inpatient hospital, and POS 22 outpatient hospital.
A POS error can pay instead of denying. The claim goes through at the wrong site-of-service rate, which produces no remittance exception and no alert. The shortfall surfaces when someone audits payment by location, and by then it has run for a year.
Site-of-service underpayments are the hardest kind to find, because the claim pays and nothing on the remittance says anything went wrong. If nobody has audited your dialysis payments by place of service in the last year, that’s where the first surprise turns up.
The facility’s technical services fall under the bundled ESRD PPS payment, which the Federal Register CMS-1830-F sets out for CY2026.
Each treatment type below pairs a revenue code with a procedure code and a claim form, so you can see where the dialysis CPT codes land against the technical lines.
| Dialysis Treatment | Revenue Code | Procedure Code | Claim Form |
|---|---|---|---|
| Hemodialysis, in-facility | 0821 | Bundled under ESRD PPS | UB-04 |
| Hemodialysis, home | 0841 | Bundled under ESRD PPS | UB-04 |
| Peritoneal dialysis, CAPD | 0831 | Bundled under ESRD PPS | UB-04 |
| Peritoneal dialysis, CCPD | 0851 | Bundled under ESRD PPS | UB-04 |
| Hemodiafiltration, ESRD, from July 1, 2026 | 0829 | CPT 90999 | UB-04 |
| Hemodiafiltration, AKI, from July 1, 2026 | 0829 | HCPCS G0491 | UB-04 |
| Physician monthly management | Not applicable | 90951-90970 | CMS-1500 |
| Physician per-session evaluation | Not applicable | 90935-90947 | CMS-1500 |
What Changed for Dialysis Billing in 2026
The CY2026 ESRD PPS base rate is $281.71 per treatment, up from $273.82 in CY2025. CMS estimates the change increases total payments to ESRD facilities by approximately 2.2 percent. CMS also terminated the ESRD Treatment Choices Model effective December 31, 2025, and finalized a new payment adjustment for non-contiguous areas.
Two numbers get conflated here, so keep them apart. The base rate rose 2.9 percent. The 2.2 percent figure is the CMS estimate of the increase in total facility payments, which absorbs case-mix and wage-index effects the base rate alone doesn’t show.
The Payment Split Between Facilities and Physicians
Facility reimbursement improved for 2026. Physician work relative value units remain subject to the efficiency adjustment applied across much of the Medicare Physician Fee Schedule, which puts opposite pressure on the two sides of the same patient’s care. A nephrology group that owns a facility sees a rate increase on one claim type and compression on the other, so you won’t see either movement in a single blended revenue target, and end-to-end revenue cycle management has to track them separately.
The ETC Model Ended December 31, 2025
CMS terminated the ESRD Treatment Choices Model as of December 31, 2025, after model evaluation reports showed no statistically significant impact on home dialysis use, transplant waitlisting, or living donor transplantation.
Billing teams should pull ETC-related payment adjustment workflows out of the system. A platform still applying an adjustment that no longer exists produces reconciliation variances nobody can trace back to a source.
TDAPA and the Non-Contiguous Area Adjustment
For CY2026, the transitional drug add-on payment adjustment period continues for DefenCath and Vafseo, alongside six phosphate binders. Practices tracking TDAPA drugs need those NDCs mapped before the first claim runs.
The final rule also adds a payment adjustment for certain non-labor costs at ESRD facilities in Alaska, Hawaii, and the U.S. Pacific Territories, capped at 25 percent of the non-labor portion and applied on a budget-neutral basis. Budget neutrality means CMS funds that adjustment from within the same pool, so facilities outside those areas absorb it. Expected-reimbursement tables need the new base rate loaded before ERA posting and underpayment review can flag a shortfall against the right number.
The CY2025 base rate of $273.82 gives the comparison point, and the CMS CY2025 ESRD final rule documents it.
Four of the five changes below touch configuration rather than the dialysis CPT codes themselves, and each one carries an effective date and a task.
| Effective Date | What Changed | What to Do |
|---|---|---|
| January 1, 2026 | ESRD PPS base rate set at $281.71 | Update pricing tables and expected-reimbursement logic |
| January 1, 2026 | CY2026 consolidated billing list in effect | Re-check which labs sit inside the bundle |
| December 31, 2025 | ETC Model terminated | Remove ETC adjustment workflows |
| July 1, 2026 | Hemodiafiltration takes rev code 0829 with 90999 or G0491 | Update the charge master |
| July 1, 2026 | AX modifier no longer reported for TDAPA and TPNIES | Remove the modifier from automated appends |
Retired Dialysis Codes That Still Sit in Charge Masters
CPT 90918 through 90925 are no longer valid for Medicare. CMS retired these ESRD monthly and per-diem codes when the CPT Editorial Panel created the 90951-90970 family. Charge masters still carry them, and claims built from those entries still deny.
Charge masters accumulate. A code entered in 2005 that nobody has billed since 2011 sits in the file until someone audits it, and audits target high-volume entries rather than dormant ones.
A new biller triggers the dormant entry by searching the charge description instead of the code, finding an old ESRD entry that matches the words on the encounter form, and selecting it. CMS documented the retirement in Transmittal R1456CP.
Run a charge master query for any procedure code between 90918 and 90925, then deactivate what turns up.
Dialysis Claim Denials: Cause, Code, and Fix
Most dialysis denials trace to six causes: a modality and code mismatch, a miscounted monthly capitation visit, a missing or wrong dialysis modifier, a revenue code that doesn’t match the procedure, a place-of-service error, and a payer-order failure during the ESRD coordination period.
Denial codes shift with payer edit logic, so treat the mapping below as a pattern to expect rather than a guarantee. Two payers can reject the same claim under different reason codes and both be internally consistent.
Five of the six causes are configuration problems that sit outside the dialysis CPT codes on the claim. The coder doesn’t see a revenue code, a place of service, or a payer sequence. That’s why dialysis denials repeat: the person receiving the denial can’t reach the setting that caused it. Medical necessity depends on the diagnosis code too, and our intradialytic hypotension coding guide covers I95.3, the code payers expect when a pressure drop ties to the dialysis session.
Fix the pattern at the point of denial with root-cause categorization, then correct upstream. Claims that sit past the appeal window move into aged AR recovery, where recovery rates fall the longer they sit.
Each row below pairs a cause with the denial pattern it produces and the upstream correction that stops it recurring.
| What Went Wrong | Typical Denial Pattern | The Upstream Fix |
|---|---|---|
| Peritoneal session billed as 90935 | Procedure code inconsistent with the service | Correct the charge template mapping by modality |
| Capitation visit count unsupported by documentation | Paid at a lower code, or documentation request | Reconcile visit counts at month end against qualifying notes |
| Two capitation codes in one calendar month | Duplicate or already adjudicated | Enforce a one-per-month edit at charge entry |
| Missing G or V modifier on a facility claim | Missing or invalid modifier | Add the append logic, V modifiers before G modifiers |
| Revenue code doesn’t match the procedure | Invalid procedure for the bill type | Update the charge master, including rev code 0829 from July 2026 |
| Separately billable lab without AY | Included in the bundled payment | Check the consolidated billing list, append AY where appropriate |
| Wrong payer order during the 30-month period | Other insurance is primary | Verify coordination of benefits before the first claim |
| Access revision in a global period without Modifier 78 | Included in the global surgical package | Flag global periods at scheduling rather than at billing |
Key Billing Rules That Prevent Dialysis Denials
These are the rules that decide whether a dialysis claim pays on first pass. Transitional care management carries its own same-month restriction against a full capitation code, and our TCM billing requirements guide covers that overlap.
- Bill only one ESRD monthly capitation code per patient per calendar month.
- Select the monthly capitation code by age band first, then by documented visit count.
- Report peritoneal dialysis and continuous renal replacement therapy with 90945 or 90947, never 90935 or 90937.
- Treat 90963-90966 as home dialysis codes and 90951-90959 as the in-center pediatric codes.
- Document dialysis adequacy, such as Kt/V or URR, at every visit meant to count toward capitation frequency.
- Append JW or JZ to every single-dose vial drug line.
- From July 1, 2026, report hemodiafiltration with revenue code 0829 plus CPT 90999 on ESRD claims and G0491 on AKI claims.
- Verify the payer order before the first claim when an ESRD patient holds employer group coverage.
What to Check Before You Submit a Dialysis Claim
A dialysis claim carries more configuration than coding. Nine checks catch most of what fails, and none of them require pulling the chart a second time. Run them in order and the dialysis CPT codes on the claim will match the setting, the month, and the form.
- Confirm the setting: inpatient, in-center outpatient, or home.
- Confirm ESRD status against acute kidney injury.
- Confirm the billing model: per session or monthly capitation.
- Confirm the patient age band if a monthly capitation code applies.
- Confirm the documented visit count against qualifying notes.
- Confirm the modality matches the procedure code.
- Confirm the place of service, using 65 for a Medicare-certified ESRD facility.
- Confirm the revenue code and bill type if the claim goes out on a UB-04.
- Confirm the payer order if the patient holds employer group coverage.
A claim that clears all nine carries the configuration for first-pass acceptance.
Dialysis CPT Code FAQs
What are the CPT codes for outpatient dialysis?
Outpatient dialysis splits into two billing models. Non-ESRD per-session outpatient dialysis reports 90935, 90937, 90945, and 90947. Chronic outpatient ESRD reports a monthly capitation code from 90951-90962, selected by patient age and documented visit count. The adult band is 90960 for four or more visits, 90961 for two to three visits, and 90962 for one visit. Pediatric in-center bands run 90951-90953 under two years, 90954-90956 for ages two to 11, and 90957-90959 for ages 12 to 19.
What is CPT code 90999 for dialysis?
CPT 90999 reports an unlisted dialysis procedure, inpatient or outpatient, used when no specific dialysis code describes the service. From July 1, 2026, ESRD claims for hemodiafiltration report revenue code 0829 with CPT 90999, and AKI claims pair 0829 with HCPCS G0491. Unlisted claims need a written description of the procedure, the time involved, and the reason a specific code didn’t fit. Payers route these claims to manual review, so expect a longer turnaround than a standard dialysis line.
What is the CPT code for home dialysis services?
Full-month home dialysis management reports 90963 through 90966 by patient age, and partial months report 90967 through 90970 per day. Code 90963 covers patients under two years, 90964 ages two to 11, 90965 ages 12 to 19, and 90966 patients 20 and older. Home dialysis training carries separate codes: 90989 for a completed course and 90993 for a single session when the course stops early. The family covers home hemodialysis and home peritoneal dialysis together.
What are the CPT codes for dialysis in 2026?
The 2026 dialysis CPT codes span three families: per-session procedures 90935-90947, ESRD monthly capitation 90951-90970, and dialysis circuit interventions 36901-36909. Two changes take effect July 1, 2026. Hemodiafiltration on an ESRD claim requires revenue code 0829 with CPT 90999, and ESRD facilities stop reporting the AX modifier in TDAPA and TPNIES scenarios. The CY2026 ESRD PPS base rate is $281.71 per treatment, up from $273.82 in CY2025.
Is dialysis considered inpatient or outpatient?
Dialysis bills as inpatient or outpatient depending on whether the patient is admitted, and the setting decides which code family applies. An admitted patient’s dialysis reports 90935 or 90937 on the professional claim with POS 21. A chronic ESRD patient dialyzing at a facility reports a monthly capitation code with POS 65. An ESRD diagnosis doesn’t move the patient into monthly billing during a hospital stay, and our inpatient consultation coding guide covers the consult side of those admissions.
Is 90960 a dialysis code?
Yes. CPT 90960 is the ESRD monthly capitation code for patients 20 years and older who receive four or more face-to-face visits during the calendar month. It reports a full month of physician management rather than a single dialysis session. Only one monthly capitation code bills per patient per calendar month, and no per-session code stacks on top of it for the same physician. Fewer documented visits move the claim to 90961 or 90962.
What services are covered by CPT code 90935?
CPT 90935 covers one hemodialysis session with a single physician evaluation, including the E/M related to the dialysis and to the renal failure being treated. A second evaluation during the same session moves the claim to 90937. An E/M unrelated to the dialysis or the renal failure can be reported apart from it with Modifier 25, and the NCCI Policy Manual chapter 11 permits 99202-99215, 99221-99223, 99238-99239, and 99291-99292 in that scenario.
How do you bill for dialysis services?
Dialysis billing splits across a professional claim on the CMS-1500 for physician services and a facility claim on the UB-04 for the technical service. The facility claim carries a bill type in the 072X series and a dialysis revenue code: 0821 for in-facility hemodialysis, 0841 for home hemodialysis, 0831 for CAPD, and 0851 for CCPD. Both claims exist for the same patient on the same dates without duplicating each other.
What is the CPT code for dialysis line placement?
Four code families cover dialysis line placement. Central venous catheters use 36555 and 36556 for non-tunneled placement and 36557 and 36558 for tunneled placement, split by age at five years. Cannula insertion for hemodialysis uses 36800, 36810, and 36815. Peritoneal dialysis catheters run 49418 through 49422, with laparoscopic placement coded apart from open placement. Interventions on an existing circuit use 36901-36909. The operative note decides which family applies.
What coding is required for dialysis drugs?
Dialysis drugs report under HCPCS Level II. Q4081 reports epoetin alfa for ESRD patients on dialysis and J0882 reports darbepoetin alfa for the same population, while J0885 and J0881 apply to non-ESRD use. Each single-dose vial line takes JW when product was discarded or JZ when none was, and claims carrying neither get rejected under CMS edits. Discarded units go on a separate line from administered units.
Does Medicare pay 100 percent of dialysis?
Medicare Part B covers 80 percent of the approved amount for dialysis after the deductible, leaving 20 percent to the patient or a secondary payer. ESRD beneficiaries with employer group health coverage carry a 30-month coordination period during which the group plan pays first and Medicare pays second. For CY2026, CMS pays ESRD facilities a bundled rate of $281.71 per treatment before case-mix and wage-index adjustments.
Why do dialysis claims get denied?
Dialysis claims deny for six main causes: a modality and code mismatch, a miscounted capitation visit, a missing or wrong dialysis modifier, a revenue code that doesn’t match the procedure, a place-of-service error, and a payer-order failure during the 30-month coordination period. Five of those six are configuration problems rather than coding problems, which is why the same denial recurs after a coder fixes the claim. Practices that want the dialysis CPT codes and the configuration handled together work with nephrology billing specialists who cover both sides.



