A free guide from Cima EHR
Per diem billing for IOP and PHP
The short answer: a per diem pays one flat rate for each day a client attends a program, billed as one unit of a day code (H0015 or S9480 for IOP, S0201 or H0035 for PHP). A day is billable only when it meets the hours the payer requires, commonly at least 3 hours for an IOP day and 4 to 6 hours for a PHP day, and when signed notes for that client and that day prove those hours. Below: the thresholds by payer, the documentation that holds up in an audit, what happens to individual sessions inside the day, and why per diem claims get denied or taken back. Written by people who run a licensed Texas PHP, IOP and outpatient program and reconcile its billing against the notes.
Updated October 24, 2026. General information, not billing or legal advice: your contracts and each payer's manual decide what a billable day is.
How a per diem works
- One day, one unit, one rate. The payer pays the contracted daily rate whether the day ran 3 hours or 5. A week of IOP is one claim line per day attended, never one line with several units.
- The rate covers the day's services. Groups, the counselor's check-in, education and crisis work inside the day are part of the per diem. That's why the code descriptor for H0015 lists assessment, counseling, crisis intervention and activity therapy together.
- A day that falls short isn't billable at a lower rate. It's simply not billable as that level (some contracts allow a separate session code instead; most don't).
- The authorization is counted in days. A plan approves a number of PHP or IOP days over a date range. Each billed day uses one, so a day billed on a short attendance day wastes an authorized day too.
The codes and their pairings are in IOP and PHP billing codes; which claim form a contract wants is in UB-04 vs CMS-1500.
Hours that make a day billable
There's no single national rule for commercial plans. The threshold comes from the code descriptor, the payer's medical policy, the state Medicaid manual or the contract, and the strictest one that applies to you wins. Examples, as published:
| Source | Level | What it requires |
|---|---|---|
| HCPCS H0015 descriptor | SUD IOP | A program of at least 3 hours a day, at least 3 days a week |
| The ASAM Criteria | 2.1 IOP / 2.5 PHP | Adults: 9 or more hours of services a week for IOP, 20 or more for partial hospitalization |
| Medicare, 42 CFR 410.43 | PHP | A client who needs at least 20 hours a week of therapeutic services, certified by a physician and re-certified (first as of the 18th day) |
| New Mexico Medicaid | IOP (H0015, S9480) | At least 3 hours of service for the daily rate |
| Mississippi Medicaid | IOP | At least 9 hours a week on the plan of care, and at least 3 hours a day on at least 3 days a week |
| Virginia Medicaid (ARTS) | ASAM 2.1 | At least 3 service hours per service day for adults |
| Blue Cross Blue Shield of Minnesota policy | PHP | Care 4 or more hours a day, 3 to 5 days a week |
| A Medicaid plan's fee schedule (CareSource) | PHP revenue codes | 0912 for a less intensive day of 3 to 5 hours, 0913 for an intensive day of 6 hours or more |
| Your contract | Every level | Read its definition of a "day" or "unit" for each level, and write it into your program's billing policy |
Texas Medicaid and its managed care plans set their own definitions for the services they cover; look each code up in the Texas Medicaid Provider Procedures Manual at TMHP and in each plan's billing guide before you assume it matches a commercial contract.
Watch the week as well as the day. A client who meets 3 hours on two days a week has two billable days but isn't getting the 9 hours of IOP the treatment plan and the authorization were written for. Reviewers ask about it at the next continued-stay review.
What counts as an hour
- Documented clinical time, start to finish. Each note carries its start and end time. Lunch, breaks, transport and waiting don't count.
- Time actually attended. A client who left a 3-hour block after 90 minutes has 1.5 hours for that block. Write the time they left.
- Services the payer counts. Most count groups and individual counseling inside the program day; many don't count a drug screen, paperwork or a medication visit toward program hours. Check the contract.
- Only signed notes. An unsigned draft is not documentation. In the program we run, a large share of apparent short days turn out to be sessions that happened and were written up but never signed. Sign first, then measure.
A worked example: one IOP week
A made-up adult IOP client, contract threshold 3 hours a day, treatment plan 9 hours a week, three 3-hour group blocks a week:
| Day | Signed notes | Hours | Billable? |
|---|---|---|---|
| Monday | Group, left early at the time noted | 2 | No: under 3 hours |
| Tuesday | Full group block | 3 | Yes: 1 unit of H0015 |
| Wednesday | None (not scheduled) | 0 | No |
| Thursday | Full group block | 3 | Yes: 1 unit of H0015 |
| Week | 3 attended days | 8 of 9 | 2 days billed; the shortfall goes to the counselor and into the next review |
What doesn't happen: Monday isn't "rounded up," and nobody writes a note afterward for time the client wasn't there. If Monday's shortfall is a missing note for a session that really happened, write it now as a dated late entry; if the client really left, the day stays unbilled. The fix for recurring short days is the schedule and the client's engagement, which belongs in the treatment plan.
Documentation that supports the day
A per diem claim is a statement that a medically necessary day of treatment happened at that level. A payer auditor checks each billed day against:
- A signed note for every session that day, with start and end times and the client's own entry: present or left early, how they participated, how they responded and which treatment-plan goal the session worked on. A group note with one copied paragraph for everyone is a classic recoupment.
- A current treatment plan whose goals the day's notes point to, updated on the schedule your rules and payers require.
- An authorization that covers the date and the level billed, with days left.
- Medical necessity for that level: the assessment and the latest continued-stay review, citing the ASAM dimensions or the payer's criteria. The prior authorization guide covers what reviewers ask for.
- For Medicare PHP, the physician's certification that the client needs at least 20 hours a week, and the re-certifications.
- Attendance that agrees with itself: sign-in sheets, the schedule and the notes tell the same story. Don't backfill a note for a day you can't show the client attended. A missing note is fixable; a note for a day the client wasn't there is a false record and a false claim.
Comply's chart audit checklist is the same review, done quarterly, before a payer does it for you.
Individual sessions inside the per diem
- Usually bundled. Most contracts treat an individual session on a program day as part of the per diem. Billing 90834 on top of H0015 for the same day is a duplicate payment request, and it's an easy one for an auditor to find.
- Sometimes paid separately. Some contracts pay an individual or family session, or a psychiatric evaluation, on top of the per diem. Get that in writing. Then the session doesn't also count toward the day's hours, or you've been paid twice for the same hour.
- Prescriber visits are often billed separately under the prescriber's own NPI with an E/M code, when the plan allows it.
- Days the client isn't in program (an individual session on a non-group day for an IOP client) are billed as outpatient sessions only if the contract allows it during an IOP authorization.
Common denials and recoupments
Remittances explain each denial with a claim adjustment reason code (CARC) from the X12 code list. The ones per diem billers see most:
| What happened | Typical reason code | How to prevent it |
|---|---|---|
| No authorization for the date or level | 197 (precertification or authorization absent) | Check that an authorization covers each day and level before billing; request the continued stay about 5 days before it ends. |
| Not medically necessary at this level | 50 | Notes and reviews that show why a lower level isn't enough; step down when the client is ready. |
| Individual session bundled into the per diem | 97 (included in another service) | Don't bill sessions the contract bundles. |
| Day billed twice or with more than one unit | 18 (duplicate) or 151 (more services than supported) | One claim line per client per day, one unit. |
| Missing or invalid claim data | 16 | Scrub NPIs, taxonomy, member ID, diagnosis and revenue code before sending. |
| Filed too late | 29 | Bill weekly. In Texas, in-network claims to a fully insured preferred provider plan are due by the 95th day after service; self-funded plans set their own limits. |
Recoupments come later. A payer audits paid days against the notes and takes back the ones that fail: days under the hours, notes signed long after the day, copied group entries, a level the authorization didn't cover, days with no note at all. Texas sets notice rules for how a fully insured plan recovers an overpayment (Insurance Code 1301.132); self-funded employer plans follow their own terms. Check the current rule with the Texas Department of Insurance or your attorney when a demand letter arrives.
Reconciling claims against notes
This is the monthly check we run on the program we operate, and the one that finds money and risk fastest. Match every per diem day by client and date, not by hours, then sort the mismatches into four buckets:
- Never submitted: charges that are in the billing system but never went out. Fastest money; check the oldest date of service against the filing limit first.
- Documented but never billed: days with signed notes and no claim. Bill the ones with an authorization; days with no authorization rarely get one after the fact.
- At the payer or denied: look for concentration. Many denials on one client at one payer usually share one fixable reason.
- Billed with no note: refund exposure, not revenue. Finalize unsigned notes first, then re-run, because many of these disappear once drafts are signed.
Two habits keep the reconciliation honest. Work out each client's level by date (a client who stepped down from PHP to IOP has PHP days and IOP days), because a report that stamps today's level across the whole stay makes PHP days look like over-delivered IOP days. And state every figure as expected cash at contracted rates, not charges: the gap between the two is contractual adjustment, not lost revenue.
How attendance becomes billing in Cima
In Cima's Program plan for IOP and PHP, the per diem comes from the notes, not from a sign-in sheet or a biller's spreadsheet:
- Group notes per client. The facilitator writes the topic and summary once; each client present gets their own entry on their own chart: attendance (present, or left early with the time), participation, response and the plan goal. Entries that read alike are refused before signing, and the facilitator signs them all at once with a PIN.
- Hours from signed notes. Each client-day's hours are summed from signed group entries: a full session for present, up to the time they left for left early. Individual sessions count too when they're part of the per diem.
- Rules per level. Each level has its day and week hours and its code. Defaults: PHP 4 hours a day and 20 a week with S0201, IOP 3 hours a day and 9 a week with H0015. Set them to your contracts.
- The attendance screen shows every client's hours by day, green where the day meets its level and red where it's short, with the week's total against the weekly hours.
- The biller's list of program days says which are ready and why the rest aren't: "2 h documented; IOP needs 3," "No authorization covers this day," or no diagnosis on the chart. Ready days are charged in one step, as one unit of the level's code.
- One claim per client per day, on an 837P or an 837I, checked before sending (authorization days left, NPIs, filing limit) and never deleted, only voided with a reason.
- Individual sessions on a PHP or IOP day are part of the per diem by default and make no separate charge. If your contracts pay them separately, switch that on: then they're billed on their own and no longer count toward the day's hours, so the same hour is never paid twice.
- Reports show attendance by week and level (hours met against hours required), per diem revenue, and authorizations whose continued-stay review is due 5 days before they end.

Bill the days your notes prove, and only those
Cima's Program plan turns signed group notes into hours, hours into billable days, and days into checked claims. $399 a month for up to 25 clients in the program.
See the EHR for IOP and PHP programs, compare plans or take the tour. Setting up a new program's billing? Cima Consulting's billing set-up ($1,500) covers the fee schedule, clearinghouse, ERA and EFT, and a first-month claim review, and the IOP and PHP billing checklist lays out the whole cycle.
Questions
What is per diem billing in behavioral health?
Billing one flat daily rate for each day a client attends a program such as PHP or IOP, instead of billing each session. The day is one unit of a day code like H0015, S9480, S0201 or H0035, billed only when the day meets the payer's required hours.
How many hours make an IOP day billable?
Commonly at least 3 hours, which is what the H0015 descriptor and several Medicaid programs require, with about 9 hours a week for adults under the ASAM Criteria. Your contract's definition controls, so read it for each payer.
How many hours is a PHP day?
Payers commonly define it as 4 to 6 hours or more. Some split a less intensive half day (revenue code 0912, often 3 to 5 hours) from an intensive full day (0913, often 6 hours or more). Medicare requires a client who needs at least 20 hours a week.
Can we bill individual therapy on an IOP day?
Usually not: most contracts bundle it into the per diem. If a contract pays it separately, get that in writing, and don't count that session toward the day's program hours.
What if a client leaves early?
Record the time they left. Count only the time attended. If that leaves the day under the threshold, the day isn't billable at that level.
Can we bill a day if the note is signed late?
A late note for a session that really happened can be signed as a dated late entry, never backdated. Some payers treat notes signed long after the day as unreliable, so sign the same day whenever you can.
Sources
- HCPCS.codes, H0015 (descriptor: at least 3 hours a day, 3 days a week).
- 42 CFR §410.43 (PHP: at least 20 hours a week, as amended November 22, 2023) and the 2024 OPPS final rule excerpt (physician certification; first re-certification as of the 18th day).
- American Society of Addiction Medicine, The ASAM Criteria.
- New Mexico HSD, IOP rate letter of direction; Mississippi, 23 Miss. Code R. 202-2.6; Virginia DMAS, ARTS Level 2.1.
- Blue Cross Blue Shield of Minnesota, partial hospitalization policy; CareSource, SUD fee schedule.
- X12, claim adjustment reason codes.
- Texas Insurance Code §1301.102 (95-day claim filing) and §1301.132 (overpayments).
This guide is general information, not billing or legal advice. Cima isn't a law firm or a billing company; ask your attorney about audits, demand letters and refunds.
Every billable day, backed by a signed note.
Cima counts each client's hours from signed group notes and bills the day only when it qualifies. See Cima for programs.
Get early access