Billing an intensive outpatient program is not like billing a standard office visit. The wrong code, a missing revenue code, or a payer rule you did not know about can turn a full week of group therapy into a stack of denials. If you are searching for IOP billing codes, you need to know which ones apply, where they go on the claim, and how each payer expects to see them.

Here is the short answer. Commercial and Medicaid payers commonly use H0015 (alcohol and drug IOP) or S9480 (IOP psychiatric services), usually paired with revenue code 0905 or 0906. Medicare hospital outpatient programs bill under the partial hospitalization and IOP rules, using G0129 and related codes, with condition code 92 flagging the IOP claim. G2086 and G2087 cover opioid treatment episodes and need separate handling.

Below, we walk through each code set, the revenue codes and condition code 92, and the payer-specific requirements for Medicare, Medicaid, and commercial plans. At InfiniteRCM, we handle IOP medical billing and denial management for behavioral health practices, so this guide reflects the claim problems we fix every week.

Why IOP billing codes matter for your claims

What each code tells the payer

Every line on an IOP claim answers a question for the payer. The procedure code says what you delivered. The revenue code says which program delivered it. Intensive outpatient program billing only gets paid when those answers match each other and match the diagnosis. Here is the quick reference you will use most.

Code What it describes Typical payer use
H0015 Alcohol and/or drug services, intensive outpatient, per diem Medicaid, commercial
S9480 Intensive outpatient psychiatric services, per diem Commercial, some Medicaid
G0129 Per diem code tied to partial hospitalization and IOP programs Medicare hospital outpatient
G2086 / G2087 Office-based opioid use disorder treatment, first month / later months Medicare
0905 / 0906 Revenue codes: psychiatric IOP / chemical dependency IOP Facility claims
Condition code 92 Identifies the claim as IOP Medicare

Where IOP claims break down

Most denials we see are not clinical. They are mismatches between codes that a front-end check would have caught. A claim with H0015 and a psychiatric revenue code, for example, tells the payer two different stories about the same patient. The payer picks the cheaper story or rejects the claim.

The same few errors show up again and again:

  • Using S9480 where the payer requires H0015, or the reverse
  • Leaving off revenue code 0905 or 0906 on a facility claim
  • Omitting condition code 92 on Medicare IOP claims
  • Billing units that do not match the payer’s per diem definition
  • Submitting without the authorization number for the full episode

Each one is small. Together they explain why many IOP programs wait 60 days or more for money they earned in week one.

An IOP claim gets paid when the procedure code, revenue code, diagnosis, and authorization all tell the same story.

Why the stakes are higher than a standard visit

IOP is billed per day, not per encounter. One rejected claim can hold up several hours of group and individual therapy at once. A patient attending three days a week for eight weeks generates about 24 billable days, so a systematic coding mistake repeats 24 times before anyone notices.

Then there is audit exposure. Payers watch IOP closely because the service sits between standard outpatient care and partial hospitalization. They check that your documented hours, weekly schedule, and medical necessity support the level of care you billed. Following clear IOP billing guidelines from the start keeps your records ready for that review.

Getting the codes right is also the cheapest fix available. Reworking a denied claim costs staff time and delays cash flow, while a correct first submission costs nothing extra. The next section shows the order of operations that keeps those errors off your claims.

How to bill IOP services step by step

Clean claims are built before the first session, not after the last one. Follow the same order for every patient, and your IOP billing codes will match the payer’s rules instead of fighting them.

Five-step process diagram showing IOP billing from coverage verification through payment posting and denial follow-up.

Front-end steps

Start with verification. Some plans fold IOP into general outpatient mental health benefits, and others carve it out as its own level of care. You need to confirm coverage and the authorization requirement before day one, and you need to ask which procedure code the payer actually accepts.

  1. Verify eligibility and confirm that IOP is a covered benefit, with any visit or day limits.
  2. Obtain prior authorization and record the approved start date, end date, and number of days.
  3. Confirm whether the payer wants H0015 or S9480, and whether it requires a revenue code such as 0905 or 0906.
  4. Check the payer’s minimum hours per day and days per week for the program.

Decide the code and secure the authorization before day one, because neither is cheap to fix on day thirty.

Claim-day and back-end steps

Documentation drives the per diem. Most payers pay a day only if the patient received the minimum hours, commonly three, so log start and stop times for every group and individual session. A note that says “group therapy” with no duration will not survive review, and it is the first thing auditors look for in IOP billing.

  1. Bill one unit of the per diem code for each qualifying day, not one unit per session.
  2. Add the matching revenue code, the primary diagnosis, and the authorization number.
  3. Submit on a UB-04 for facility claims or a CMS-1500 for professional claims, as the payer requires.
  4. Post payments, compare them to the contracted per diem, and work every denial or underpayment promptly.

Submitting weekly rather than at discharge keeps problems small. If a coding error exists, you find it after five days of claims instead of forty, and your cash flow stays predictable while the patient is still in treatment.

Medicare IOP billing: condition code 92 and G-codes

What Medicare covers and requires

A paper claim form, signed physician certification, and stopwatch on a patient chart atop a desk.

Medicare began paying for intensive outpatient care on January 1, 2024. Hospital outpatient departments, community mental health centers, FQHCs, RHCs, and opioid treatment programs can all bill it. The rules differ from commercial plans in one important way. Medicare expects at least 9 hours of therapeutic services per week, and a physician must certify that the patient needs that level of care. The patient does not have to be at risk of inpatient admission, which is what separates IOP from partial hospitalization.

What goes on the claim

Facility claims go out on the UB-04 or the 837I electronic format. Medicare reads the claim as IOP only when the right flags are present, so condition code 92 belongs in the condition code field on every IOP claim. Use this checklist before you submit.

  • Condition code 92 on the claim
  • A revenue code on each service line, such as 0905 or 0906
  • A HCPCS or CPT code on each line, including G0129 where the program component applies and codes like 90853 for group psychotherapy
  • A behavioral health primary diagnosis
  • The physician certification and plan of care in the chart, ready for audit

Without condition code 92, Medicare may treat your IOP day as ordinary outpatient therapy or reject it outright.

Medicare pays IOP per day, and the payment depends on how many services the patient received that day. That makes line-level documentation essential. Each service needs a start time, a stop time, and a clinician’s signature. Skip any of those and the day may drop to a lower payment tier. These are the IOP billing guidelines auditors check first.

Where G2086 and G2087 fit

G2086 and G2087 are different. They are monthly bundled codes for office-based opioid use disorder treatment, G2086 for the first month and G2087 for later months. They belong to the treating practitioner’s professional claim, not to the facility’s IOP claim. Problems start when both are billed for overlapping services in the same period. Before you submit either one, check the month for overlapping services, and make sure the same counseling time is not counted twice.

Medicaid and commercial payer IOP billing rules

Medicaid: the state sets the rules

Medicaid has no single national IOP policy. Each state publishes its own fee schedule and provider manual, and managed care plans add their own layers on top. Most states use H0015 for substance use IOP, and many accept S9480 for mental health programs. Some bundle IOP into other codes or pay by the hour. Treat the state manual as the authority for your IOP billing codes, not a code list from another state.

For Medicaid, the state provider manual outranks any general coding list, including this one.

Check these items before you bill any Medicaid plan:

  • Whether units are per diem or per hour
  • Required modifiers, such as HF, HG, or a state-specific U modifier
  • Provider type and program licensure the state requires
  • Prior authorization and concurrent review schedule
  • Timely filing limit, which can be as short as 90 days

Commercial plans: contract and medical policy

Commercial payers follow their own medical policy and your contract. Most define IOP as about three hours a day, three days a week. They review medical necessity with criteria such as the ASAM Criteria, where IOP is Level 2.1, for substance use programs. Authorization usually approves a set number of days, and days billed past that limit get denied even when the care was appropriate. Send clinical updates before the approval expires.

Every plan publishes its own IOP billing guidelines, and the provider portal is the first place to look. Ask your contracting rep for the per diem rate in writing, because intensive outpatient program billing often pays differently from the same code under another plan.

Side-by-side comparison

Item Medicaid Commercial
Code choice State fee schedule, often H0015 Contract and policy, H0015 or S9480
Revenue code Often required on the UB-04 Frequently required on facility claims
Authorization State agency or managed care plan Payer utilization management
Filing limit Set by state rule Set by your contract

Build a payer matrix from this table and fill it in for your top ten plans. Staff who handle IOP medical billing can then check the rules in seconds instead of guessing at submission time.

S9480 vs. H0015 and other common coding examples

How to choose between S9480 and H0015

Two file folders side by side, one with a brain cutout and one with a medicine bottle.

The choice comes down to the primary diagnosis and the program type. S9480 describes intensive outpatient psychiatric services, so it fits programs treating depression, anxiety, bipolar disorder, or trauma. H0015 describes alcohol and drug services, so it fits substance use IOP programs. Both are per diem codes, and both assume a structured program of roughly three hours a day, three days a week.

Payers do not always follow that logic. Some commercial plans accept only one of the two for every behavioral health IOP, and some Medicaid programs reject S9480 outright. Check the fee schedule before you choose, not after the denial arrives.

Pick the code that matches the program’s primary diagnosis, then confirm the payer accepts it for that diagnosis.

Worked examples

These four scenarios show how the pieces fit together on real claims. Use them as a template for your own IOP billing codes, and remember that rates and modifiers vary by payer.

Scenario Procedure code Revenue code Key detail
Commercial plan, depression IOP, 3 hours a day S9480 0905 One unit per qualifying day on a UB-04
Medicaid, substance use IOP, 3 hours a day H0015 0906 Add the state’s modifier, such as HF or HG
Medicare hospital outpatient IOP, 9+ hours a week Line-level codes such as 90853 0905 Condition code 92 and physician certification
Commercial plan, alcohol use IOP, authorization for 20 days H0015 0906 Stop billing on day 21 unless the plan extends the approval

Dual diagnosis programs

Many patients arrive with both a mood disorder and a substance use disorder. Bill the per diem for the program the patient is enrolled in, based on the primary diagnosis in the treatment plan. Do not bill S9480 and H0015 for the same patient on the same day, because that looks like duplicate billing for one set of services.

If your program truly runs two tracks, document separate schedules and hours for each. Then get the payer’s permission in writing before you submit both.

Getting IOP claims paid the first time

IOP claims get paid when every element tells the same story. The per diem code, the revenue code, the diagnosis, and the authorization must all agree, and Medicare claims need condition code 92. Correct IOP billing codes are only half the job. The other half is documentation of hours and start and stop times that proves each billed day.

Payers differ, so build your payer matrix, verify benefits before day one, and submit weekly. Catching a coding error after five days of claims is far cheaper than catching it after forty. A front-end check on code and authorization prevents most of the denials we see.

If denials keep stacking up or your staff is stretched thin, you do not have to carry it alone. InfiniteRCM handles eligibility, authorization, claim submission, and denial follow-up for behavioral health programs. See how our medical billing and revenue cycle management services can help your program get paid faster and with fewer denials.