Who We Serve · IOP
Intensive Outpatient Program (IOP) Billing
The Level of Care
What Makes IOP Billing Different
At a glance
- Per-diem billing with a diagnosis-driven code pair
- Psychiatric and substance use IOP use different codes
- IOP does not share PHP’s revenue codes
- Medicare runs a separate IOP benefit on its own code set
Reference
IOP Billing Codes
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
Why CodeMax
The Right Code Pair, Confirmed Up Front
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.