
A PHP day packs individual therapy, groups, and medication management into six-plus hours of care then collapses into a single per-diem line. Get the code, condition code, or physician certification wrong and the whole day pays nothing. We bill PHP the way each payer expects, so your program collects what it earns.
Wrong code for the payer, missing certification, or a lapsed authorization → $0 for a full day of care.
Partial hospitalization sits in a narrow band of the behavioral health continuum, and the billing rules reflect exactly how specific that band is. A program might run six to eight hours a day, four or five days a week, yet the entire day usually becomes one line on a UB-04.
That gap between the clinical work a program delivers and the money it actually collects is where most PHPs quietly lose revenue. Almost every new client we take on is leaving money somewhere in that gap. Usually it traces back to a handful of rules that behavioral health billing shares with no other specialty.
We run the full revenue cycle so your clinical team can stay clinical: eligibility and authorization up front, accurate coding every day, clean claims, worked denials, posted payments, and receivables that get chased down instead of aging out.
Miss any one of these and a clean clinical day still gets denied. This is where a generalist biller loses your program money.
PHP is a facility service billed on the UB-04 (CMS-1450), not the CMS-1500 a solo therapist uses. Hospital outpatient departments file under type of bill 13X; CMHCs file under 76X.
Most of the day is bundled. One structured day equals one unit, and payers reject any quantity greater than one on a partial hospitalization line outright.
Condition code 41 identifies the claim as partial hospitalization. Revenue level depends on intensity.
Medicare won't accept a single per-diem HCPCS code. It wants each component service reported under its own revenue code, reflecting the day's real mix of therapy and testing.
Physician certification at admission, recertification on day 18, then every 30 days each stating the patient would otherwise need inpatient care. A signature without that language fails on audit.
Freestanding arrangements that work fine for commercial contracts can fall outside Medicare coverage entirely. Setting drives eligibility before a single code is entered.
These mistakes repeat themselves whether a program runs one PHP or a full continuum of care.
H0035 is the per diem most state Medicaid programs recognize; S0201 is the commercial S-code Medicare and Medicaid don't accept at all. Send the wrong one and the day pays zero even with perfect documentation.
Most commercial payers authorize a short initial window, then require concurrent review to keep it alive. Miss a continued-stay review and the back half of a stay becomes uncollectible.
The first recertification is due on the 18th calendar day, then no less than every 30 days. Each must actually state the patient would still need inpatient care otherwise.
Some Blue Cross plans auto-deny when a mental health condition isn't the principal diagnosis, or a "code first" diagnosis lands in the principal position. F-codes have to be sequenced correctly.
A single group note that doesn't address each patient individually won't support billing for those patients. Every attendee needs a separate, individualized progress note tied to the plan.
When a patient steps down to intensive outpatient, the billing code family changes completely. Continuing to bill PHP for what is now IOP invites recoupment.
Every step exists to protect a payable day from the authorization that has to be secured before admission to the receivable that can't be allowed to age out.
Eligibility and benefits confirmed, prior authorization secured before admission, every concurrent-review date tracked.
Daily charges pulled from attendance and clinical records so what's billed matches what was delivered.
Each day coded to the exact model that payer uses per diem, component, or per service.
Type of bill, condition code, revenue codes, units, and diagnosis sequencing checked before the claim leaves.
Each denial read for its real cause, corrected or appealed, and the front-end issue closed so it stops recurring.
Payments reconciled against the contracted rate, with short-pays and downcoded days flagged for follow-up.
Aging worked by age and dollar value, oldest and largest first, with timely-filing deadlines kept in view.
Collections, denial trends, and authorization status in a view a program director can actually manage against.
Coding a PHP day well means knowing which model a given payer uses then applying it precisely. Mix them up and the day doesn't pay.
H0035 or S0201 as the payer dictates, one unit per day, on the UB-04 with the right revenue code and condition code 41.
Each service reported under its own revenue code individual, group, family therapy, and testing — with the matching CPT or HCPCS code.
The day built from individual codes: group and individual therapy, family therapy, and the right evaluation and management codes for medication management.
We sequence ICD-10 so a mental health condition holds the principal position and the record supports the level of care, and we apply modifiers with the same attention modifier 59 for a genuinely distinct service, provider-credential modifiers where Medicaid requires them, and telehealth modifiers when part of the program runs virtually.
Every claim is scrubbed for type of bill, condition code, revenue codes, units, and diagnosis order before it leaves. Catching a problem here is far cheaper than appealing it sixty days later.
Each denial is read for its actual reason, not the category code. We correct and resubmit what's fixable, appeal with the certification and clinical record that support the stay, and close the front-end cause.
Payments are reconciled against what the contract actually allowed. Underpayments on a per diem are easy to miss, so short-pays and downcoded days get flagged instead of accepted.
Aging is worked by age and dollar value, oldest and largest first. Claims that stall in payer systems get chased, documentation requests answered quickly, and timely-filing deadlines kept in view.
The note is what proves the day was payable. We give specific feedback on certification timing, individualized group notes, treatment plans tied to measurable goals, and attendance that supports the weekly-hours threshold.
We work inside the behavioral health EHR and practice management platforms you already use, plus the major clearinghouses — no rip-and-replace, and no staff rekeying charges by hand.
Behavioral health billing is narrow, and PHP is narrower still. A biller who's excellent at family-practice claims can still lose a program money by not knowing that S0201 dies at Medicare, or that recertification is due on day 18.
We aren't learning the difference between PHP and IOP on your dime, and we aren't guessing at which per-diem code a payer wants. We treat certification timing, concurrent review, and diagnosis sequencing as the core of the work — because in this specialty, that's what gets a program paid.
Coding and authorization errors caught before submission, not written off after.
Claims that clear on the first pass because the front-end edits were built in.
Concurrent-review dates tracked so coverage doesn't lapse mid-treatment.
Your team stays focused on patients instead of chasing claims and payers.
Reporting that turns collections and denials into something you can manage against.
Whether you run a single PHP or a full continuum from partial hospitalization through intensive outpatient and standard outpatient care, and whether you treat mental health conditions, substance use disorders, or both.
If your program is writing off denials, waiting too long on payments, or watching authorizations lapse, those are solvable problems. Send us your current numbers and a sample of recent denials, and we'll show you where the revenue is leaking and what it would take to close the gaps.