Dialysis billing runs on a small set of CPT codes with strict selection rules. The monthly capitation codes, the per-session procedure codes, and the vascular access codes each follow a different logic. Picking the wrong tier or the wrong family costs the practice real revenue every month.
The dialysis CPT code set splits into three groups. The end-stage renal disease (ESRD) codes 90951 through 90970 pay physicians monthly or per day. The procedure codes 90935 through 90999 cover individual dialysis sessions, training, and related services. The 36901 through 36909 family covers dialysis circuit interventions.
The patient volume behind these codes keeps growing. According to the United States Renal Data System (USRDS), more than 800,000 people in the U.S. live with ESRD. Nearly 7 in 10 of these patients depend on dialysis, and each one generates a billable physician claim every single month.
This guide covers every dialysis CPT code family with the selection rules, documentation requirements, and Medicare billing standards. Each section includes the code tables and the denial patterns that drain nephrology revenue.
Table of Contents
ToggleWhat Are Dialysis CPT Codes?
Dialysis CPT codes report the physician work involved in managing dialysis patients. The American Medical Association (AMA) groups them in the 90935 through 90999 range of the CPT code set. The vascular access procedures live separately in the surgery section.
Three structural questions decide which family applies. The patient’s ESRD status, the place of service, and the span of care each change the code.
- Monthly ESRD management: codes 90951 through 90966, paid once per calendar month
- Partial-month ESRD management: codes 90967 through 90970, paid per day
- Individual dialysis sessions: codes 90935 through 90947, paid per procedure
- Training, access flow, and unlisted services: codes 90940, 90989, 90993, 90997, and 90999
- Dialysis circuit interventions: codes 36901 through 36909
The biggest billing mistakes happen at the boundaries between these families. A coder who bills a session code for an outpatient ESRD patient, or a monthly code for a partial month, creates an automatic denial.
ESRD Monthly Capitation Payment (MCP) Codes: 90951-90962
The MCP codes are the financial core of every nephrology practice. Medicare pays one physician a single monthly rate for managing each outpatient ESRD dialysis patient. The selection of these specific nephrology CPT codes depends on two variables: patient age and face-to-face visit count.
Age is measured at the end of the calendar month. The visit count includes face-to-face encounters by the physician or qualified health care professional during that month.
MCP Codes by Age and Visit Count
| Patient Age | 4+ Visits | 2-3 Visits | 1 Visit |
|---|---|---|---|
| Younger than 2 years | 90951 | 90952 | 90953 |
| 2-11 years | 90954 | 90955 | 90956 |
| 12-19 years | 90957 | 90958 | 90959 |
| 20 years and older | 90960 | 90961 | 90962 |
The adult tier drives most claim volume. CPT 90960 requires 4 or more documented visits, 90961 requires 2 to 3 visits, and 90962 requires 1 visit per month.
What do the MCP Codes Include?
The MCP codes bundle the full month of ESRD management. Per CPT guidelines, the codes include establishment of the dialyzing cycle, outpatient evaluation and management of the dialysis visits, telephone calls, and patient management during dialysis.
- One claim per month: codes 90951 through 90962 report once per calendar month
- One billing physician: the provider who performs the complete assessment, sets the plan of care, and manages the patient, submits the claim
- Pediatric content: the under-20 codes include nutrition monitoring, growth assessment, and parent counseling
Revenue Note: Defaulting to a lower visit tier to play it safe creates permanent revenue loss. Bill the tier the documented visit count supports, and confirm the count before claim submission.
Home Dialysis MCP Codes: 90963-90966
Home dialysis patients carry their own monthly codes. Codes 90963 through 90966 report a full month of ESRD-related services for patients dialyzing at home. Age is the only variable, with no visit-count tiers.
The home codes recognize a different management model. The physician oversees the home regimen, reviews data, and sees the patient face to face during the month.
| CPT Code | Description |
|---|---|
| 90963 | Home dialysis per full month, patients younger than 2 years |
| 90964 | Home dialysis per full month, patients 2-11 years |
| 90965 | Home dialysis per full month, patients 12-19 years |
| 90966 | Home dialysis per full month, patients 20 years and older |
A face-to-face visit during the month supports the home dialysis claim. Most peritoneal dialysis patients managing exchanges at home bill under 90966 each month.
Modality Note: A patient who switches between in-center and home dialysis mid-month does not generate two monthly claims. The partial-month rules in the next section govern modality changes. To avoid automated clawbacks during these transition periods, clinics often rely on dialysis billing services to audit lines before submission.
Per-Day ESRD Codes for Partial Months: 90967-90970
The per-day codes cover ESRD management that does not span a full calendar month. Codes 90967 through 90970 pay per day of supervision, with one unit per day. The age tiers match the monthly code structure.
These codes exist for the months that break the MCP pattern. Hospitalizations, transient patients, transplants, deaths, and modality changes each create partial months.
| CPT Code | Description |
|---|---|
| 90967 | ESRD-related services, less than a full month, per day, younger than 2 years |
| 90968 | ESRD-related services, less than a full month, per day, 2-11 years |
| 90969 | ESRD-related services, less than a full month, per day, 12-19 years |
| 90970 | ESRD-related services, less than a full month, per day, 20 years and older |
When do the Per-Day Codes Apply?
The per-day codes replace the monthly code in specific scenarios. Billing both families in the same month for the same patient triggers a denial.
- Transient patients: a traveling patient treated at the practice for part of a month
- Hospitalization: outpatient days before and after an inpatient stay, when no complete assessment occurred
- Transplant: outpatient ESRD days before a transplant ends the dialysis course
- Death or modality change: dialysis days before the event that ends the month early
Counting Rule: The claim lists each date supervision was provided, with units matching the number of days. Days inside the inpatient stay are excluded, and the hospital E/M codes capture that work instead.
Hemodialysis Procedure Codes: 90935 and 90937
The hemodialysis procedure codes pay per session rather than per month. CPT 90935 reports a hemodialysis procedure with a single physician evaluation. CPT 90937 reports hemodialysis requiring repeated evaluations, with or without substantial revision of the dialysis prescription.
The place of service and ESRD status decide when these codes apply. Per the Medicare Claims Processing Manual, 90935 and 90937 report inpatient ESRD hemodialysis and outpatient non-ESRD hemodialysis.
| CPT Code | Description | Typical Setting |
|---|---|---|
| 90935 | Hemodialysis with a single evaluation | Inpatient dialysis day, one physician evaluation |
| 90937 | Hemodialysis with repeated evaluations | Unstable inpatient requiring re-evaluation |
| 90940 | Hemodialysis access flow study | Graft or fistula blood flow assessment |
The 90937 code requires documentation of the repeated evaluations. A prescription change during the session strengthens the claim but is not mandatory. One evaluation code is payable per day regardless of the setting.
AKI Note: Acute kidney injury patients dialyzing in the outpatient setting are non-ESRD cases. Their sessions bill the procedure codes, not the monthly capitation codes reserved for ESRD.
Peritoneal Dialysis and CRRT Codes: 90945 and 90947
Dialysis methods other than hemodialysis carry their own session codes. CPT 90945 reports a dialysis procedure other than hemodialysis with a single evaluation. CPT 90947 reports the same procedures with repeated evaluations.
The descriptors name the covered modalities directly. Peritoneal dialysis, hemofiltration, and other continuous renal replacement therapies (CRRT) all route to these two codes.
| CPT Code | Description |
|---|---|
| 90945 | Dialysis other than hemodialysis, single evaluation |
| 90947 | Dialysis other than hemodialysis, repeated evaluations |
| 90997 | Hemoperfusion (e.g., with activated charcoal or resin) |
| 90999 | Unlisted dialysis procedure, inpatient or outpatient |
Inpatient CRRT management is a frequent 90947 scenario. A critically ill patient on continuous therapy often requires multiple physician evaluations across the day.
Contract Note: Some commercial payer contracts reimburse 90945 and 90947 at rates that do not reflect peritoneal dialysis costs. Practices should review payer contracts for these codes during negotiation.
Dialysis Training Codes: 90989 and 90993
Home dialysis programs depend on the training codes. CPT 90989 reports a completed course of dialysis training for the patient or a helper. CPT 90993 reports training per session when the course is not completed.
Payer rules for training codes vary more than any other dialysis family. Medicare facility claims often bill home training under 90999, while commercial payers request 90989 or 90993.
- 90989: full training course was completed during the billing period
- 90993: individual sessions, with units equal to the number of training dates
- Documentation: record each training date, the modality taught, and who received the training
Training claims fail when the units do not match the documented session dates. List the exact dates of service for each session billed under 90993.
Dialysis Circuit Intervention Codes: 36901-36909
The dialysis circuit codes cover percutaneous procedures that keep vascular access working. The 2017 CPT restructure bundled imaging, catheter placement, and intervention into single codes. The family is hierarchical, and only one base code reports per session.
The circuit runs from the arterial anastomosis to the right atrium. The peripheral and central segments carry different codes within the family.
Circuit Base Codes (Report One Per Session)
| CPT Code | Description |
|---|---|
| 36901 | Diagnostic angiography of the dialysis circuit |
| 36902 | Angioplasty, peripheral dialysis segment |
| 36903 | Stent placement, peripheral dialysis segment |
| 36904 | Mechanical thrombectomy and/or thrombolysis (declot) |
| 36905 | Thrombectomy with peripheral segment angioplasty |
| 36906 | Thrombectomy with peripheral segment stent placement |
Each higher code includes the work of the codes below it. CPT 36902 includes the diagnostic study in 36901, and 36906 includes the thrombectomy and angioplasty work. Angioplasty reports once regardless of the number of lesions or balloons used.
Circuit Add-On Codes
The add-on codes capture central segment work and embolization. They report alongside a base code from 36901 through 36906.
| CPT Code | Description |
|---|---|
| +36907 | Angioplasty, central dialysis segment (add-on) |
| +36908 | Stent placement, central dialysis segment (add-on) |
| +36909 | Embolization or occlusion of circuit branch vessels (add-on) |
Pairing Rule: Codes 36907 and 36908 never report together for the same session. The central stent code includes the central angioplasty work. Both add-ons may also report with the open surgical access codes when central work happens during surgery.
AV Fistula, Graft, and Catheter Codes
Vascular access creation and revision carry their own surgical codes. The open arteriovenous (AV) access codes sit in the 36818 through 36833 range. The catheter codes cover temporary and tunneled access for both hemodialysis and peritoneal dialysis.
Access type drives the code. Autogenous fistulas, prosthetic grafts, and catheters each map to different entries.
| CPT Code | Description |
|---|---|
| 36818 | AV fistula by upper arm cephalic vein transposition |
| 36819 | AV fistula by upper arm basilic vein transposition |
| 36821 | AV fistula, direct anastomosis (e.g., radiocephalic) |
| 36825 | AV fistula creation with autogenous graft |
| 36830 | AV fistula creation with nonautogenous graft |
| 36831 | Open thrombectomy of AV fistula or graft |
| 36832 | Open revision of AV fistula or graft, without thrombectomy |
| 36833 | Open revision with thrombectomy |
Dialysis Catheter Codes
Catheter claims pair the insertion code with the documented access route. The peritoneal catheter codes are separate from the venous catheter codes.
- 36556: insertion of non-tunneled central venous catheter, age 5 and older
- 36558: insertion of tunneled central venous catheter without port, age 5 and older
- 49418: percutaneous insertion of a tunneled intraperitoneal catheter
- 49421: open insertion of tunneled intraperitoneal catheter for dialysis
- 49422: removal of tunneled intraperitoneal catheter
Sequencing Note: When a circuit intervention happens during an open surgical session, the central add-on codes 36907 and 36908 may report with the surgical codes. The peripheral circuit base codes do not report with the open revision codes for the same work.
For a complete breakdown of chronic kidney disease, ESRD, dialysis dependency, and nephrology-related diagnosis coding, see our Nephrology ICD-10 Guide.
What are the Medicare Billing Rules for Dialysis CPT Codes?
Medicare pays most dialysis claims, so its rules define the billing standard. The Medicare Claims Processing Manual, Chapter 8, governs physician dialysis billing. Five rules drive most compliance outcomes.
These rules separate clean claims from recurring denials. Each one maps to a specific claim element.
Rule 1: One MCP Physician Per Month
The physician who performs the complete monthly assessment, establishes the plan of care, and manages the patient bills the MCP. Two providers cannot split the monthly code for the same patient month.
Rule 2: The Month Means the Calendar Month
The MCP codes follow the calendar month, not a rolling 30-day window. Age is determined at the end of the month, and the visit count resets on the first.
Rule 3: Same-Day E/M Is Usually Bundled
Evaluation and management services on a dialysis day generally fall inside the MCP bundle. A separately billable E/M requires a problem unrelated to ESRD, a distinct chief complaint, and modifier 25 with full documentation.
Rule 4: One Circuit Base Code Per Session
The dialysis circuit family allows one base code from 36901 through 36906 per session. The hierarchy absorbs the lesser services, and the add-on codes capture central segment work.
Rule 5: Per-Day and Monthly Codes Never Mix
A patient month bills either the monthly code or the per-day codes, never both. Any provider billing 90967 through 90970 in the same month as an MCP code creates a denial.
Common Dialysis CPT Coding Errors and How to Avoid Them
Dialysis claims fail in predictable ways. Even experienced practices can lose revenue through coding mistakes, documentation gaps, and Medicare compliance issues. Many providers use specialized nephrology billing services to identify recurring errors, reduce denials, and improve reimbursement accuracy. The table below lists the most frequent errors of dialysis CPT codes and the corrections that prevent them:
| Coding Error | Correct Approach |
|---|---|
| Billing 90960 with fewer than 4 documented visits | Bill the tier the documented visit count supports |
| Defaulting to 90962 to avoid audit risk | Count visits accurately; downcoding is permanent revenue loss |
| Billing an MCP code for a month with a mid-month transplant | Use per-day codes 90967-90970 for the partial month |
| Using 90935 for outpatient ESRD sessions | Outpatient ESRD bills monthly MCP codes, not session codes |
| Billing same-day E/M without a distinct problem | Bundle ESRD-related E/M; use modifier 25 only for unrelated problems |
| Reporting 36901 with 36902-36906 | Bill one circuit base code; the hierarchy includes the diagnostic study |
| Reporting 36907 and 36908 together | Bill the central stent code alone; it includes central angioplasty |
| Missing Z99.2 on monthly ESRD claims | Pair N18.6 with Z99.2 on dialysis-dependent patient claims |
| Mismatched units on 90993 training claims | Match units to documented training session dates |



