Who We Serve · IOP

Intensive Outpatient Program (IOP) Billing

IOP sits between PHP and standard outpatient care, typically a few sessions a week rather than PHP’s near-daily schedule. That lighter footprint doesn’t mean lighter billing risk, and it comes with its own code set entirely separate from PHP’s. Mental health IOP and substance use IOP are billed with different codes from each other, too.

The Level of Care

What Makes IOP Billing Different

IOP is billed per diem, but which code applies depends on the primary diagnosis being treated: programs treating a primary psychiatric diagnosis (depression, anxiety, bipolar disorder) use one code, while programs focused on alcohol or drug dependence use a different one. Mixing these up, or assuming IOP shares PHP’s code set, is a direct path to denial.

At a glance

Reference

IOP Billing Codes

The code pair is selected by the primary diagnosis the program treats.
Code
Definition
Applies To
S9480
Intensive outpatient psychiatric services, per diem
Primary psychiatric diagnosis programs. Commercial and Medicaid payers. Not payable by Medicare
H0015
Alcohol and/or drug services; intensive outpatient (program operating at least 3 hours/day, at least 3 days/week, based on an individualized treatment plan)
Substance use-focused IOP. Medicaid and commercial payers. Not payable by Medicare
0905 (revenue code)
Intensive outpatient services, psychiatric
Commonly paired with S9480 on institutional claims; confirm per payer
0906 (revenue code)
Intensive outpatient services, chemical dependency
Commonly paired with H0015 on institutional claims; confirm per payer
IOP does not use PHP’s revenue codes (0912/0913), it has its own dedicated code set, which is a common point of confusion between the two levels of care. Neither S9480 nor H0015 is payable by Medicare; both carry CMS coverage status “I.” Medicare established a separate IOP benefit effective January 1, 2024, billed institutionally with condition code 92 using individual service lines and requiring physician certification of a minimum of 9 hours of services per week.

What’s Included

IOP Billing Services From CodeMax

Diagnosis-based code selection

CodeMax confirms whether a program’s primary treatment focus is psychiatric or substance use-based to apply the correct code pair (S9480/0905 vs. H0015/0906), rather than defaulting to one.

Session and hour tracking

IOP’s minimum hour and frequency requirements (generally at least 3 hours a day, 3 days a week for substance use IOP) are tracked to support the per-diem billing, not just general attendance.

Authorization for step-down transitions

When IOP follows a step-down from residential or PHP, authorization for the new level of care is confirmed before billing starts at the IOP rate.

Denial management

Denials tied to wrong code-pair selection, insufficient hour documentation, or late transition authorization are worked and appealed.

Documentation review

Documentation is checked against what’s billed to confirm it supports IOP-level intensity specifically, not just ongoing behavioral health treatment in general.

Step-Down

IOP to Outpatient or PHP: What Changes at the Transition

A step-down from IOP to standard outpatient, or a step-up back to PHP, requires a complete code-set change. IOP’s codes don’t carry over to either adjacent level. See the Outpatient page and the PHP page for how those transitions are billed.

Why CodeMax

The Right Code Pair, Confirmed Up Front

The most common IOP billing mistake isn’t clinical, it’s treating IOP as if it shares PHP’s code set or using the wrong diagnosis-based code pair. CodeMax confirms the correct code pair up front and tracks the hour and frequency requirements that support per-diem billing, rather than relying on general attendance records.
10+
Years in behavioral health revenue management
All 5
Levels of care billed, detox through outpatient
Live
Real-time authorization and continued-stay tracking

FAQ

Intensive Outpatient Program Billing: Frequently Asked Questions

No. PHP uses H0035/S0201 with revenue codes 0912/0913. IOP uses S9480/H0015 with revenue codes 0905/0906, a completely separate code set.

It depends on the primary diagnosis being treated: S9480 applies to primary psychiatric diagnoses, H0015 applies to programs focused on alcohol or drug dependence.

No. S9480 carries CMS coverage status “I — not payable by Medicare,” as do S codes generally and all H-codes including H0015. Medicare has run its own IOP benefit since January 1, 2024, billed institutionally with condition code 92 using individual service lines rather than a per-diem code. S9480 is for commercial payers and some Medicaid programs.

H0015 carries its requirement inside the code descriptor: at least 3 hours a day, at least 3 days a week, based on an individualized treatment plan. S9480 carries no embedded threshold at all, so every psychiatric IOP requirement is set by the individual payer. Most apply a 3 hours a day, 3 days a week, 9 hours a week standard by analogy, and Medicare’s own IOP benefit certifies at a minimum of 9 hours per week, but adolescent thresholds are frequently lower, often 6 hours a week. The number that matters is the one in your payer’s policy.

The claim risks being billed at the wrong level of care for any days between the actual transition and the authorization date.

Yes. IOP is billed the same way whether it’s a step-down from a higher level of care or a standalone entry point into treatment.

IOP requires more structured, multi-hour or multi-session weekly programming billed per diem, while standard outpatient uses individual time-based session codes. See the Outpatient page for that level’s codes.

Not for the same date of service. Each is an all-inclusive per diem, and payers expect one code matching the program the patient is enrolled in and the diagnosis driving the level-of-care determination. For a genuinely co-occurring patient, the co-occurring condition is reported as a secondary diagnosis and integrated treatment of both is documented in the plan of care; where a payer recognizes it, modifier HH identifies the program as co-occurring capable. The code choice also determines which criteria set the reviewer applies, ASAM for H0015 and typically LOCUS, MCG or InterQual for S9480, so it drives the documentation you will be asked for.