You've just opened your first IOP. You hired great clinicians, got your state license, and credentialed with every major payer in your market. Then your biller submits the first batch of claims, and half of them come back denied for "invalid procedure code."
The problem? You billed Medicaid using CPT codes when they wanted H-codes. Or you billed Aetna with H-codes when they only accept CPT. This is the most common billing mistake new behavioral health operators make, and it's completely avoidable once you understand when to use which code set.
Let's break down H-codes vs CPT codes behavioral health billing in a way that actually makes sense for your day-to-day operations.
What HCPCS H-Codes Are and Why They Exist
HCPCS (Healthcare Common Procedure Coding System) is a standardized coding system used primarily to identify products, supplies, and services not included in the CPT codes. The H-code subset was created specifically for state Medicaid agencies to bill substance use disorder (SUD) and mental health services that didn't fit neatly into the existing CPT framework.
Here's why that matters: CPT codes were designed by the American Medical Association primarily for physician services. But behavioral health treatment, especially at the IOP and PHP level, often involves non-physician counselors delivering group and individual sessions in formats that don't match traditional psychotherapy billing.
CMS created H-codes to give states flexibility in how they define and pay for these services. That's why H-codes tend to be time-based bundles (like H0015 for a 3-hour IOP session) rather than the 30- or 60-minute increments you see in CPT psychotherapy codes.
The Core Distinction: When to Use H-Codes vs CPT Codes
Here's the rule that will save you thousands in denied claims: H-codes are primarily Medicaid and state program codes. CPT codes are the standard for commercial insurance and Medicare.
This is not a suggestion. HCPCS codes classify medical and diagnostic procedures and services to Medicare and Medicaid, while CPT codes describe healthcare procedures and are more commonly used by healthcare providers for billing both private and public health insurance plans. Mixing them up is the single most common cause of avoidable denials in behavioral health billing.
Most Medicaid managed care plans (Sunshine Health, Molina, Wellcare) require H-codes for outpatient behavioral health services. Most commercial payers (BCBS, Aetna, Cigna, UnitedHealthcare) require CPT codes. Medicare also uses CPT codes for traditional psychotherapy and specific HCPCS G-codes for behavioral health integration services.
But here's where it gets tricky: some Medicaid plans accept both. Some commercial plans accept H-codes if you're contracted as a specialty provider. And some states have their own variations. You cannot assume. You must verify with each payer before you bill.
The Most Important H-Codes for IOP and PHP Operators
If you're running an outpatient behavioral health program, these are the HCPCS H-codes you'll use most often:
H0015: Intensive Outpatient Program (IOP)
This is the big one. H0015 represents a minimum 3-hour block of structured programming that typically includes group therapy, individual counseling, and psychoeducation. Most Medicaid plans pay between $80 and $150 per unit, depending on your state and contract. Documentation must show the start and stop time, services provided, and clinical notes justifying medical necessity.
H0004: Individual Counseling
Used for one-on-one behavioral health counseling by a licensed or certified counselor. This is not the same as psychotherapy under CPT codes. H0004 is typically billed in 15-minute increments and pays significantly less than CPT 90837. Expect $15 to $30 per unit depending on your Medicaid contract.
H0005: Group Counseling
Group therapy or psychoeducation delivered to multiple clients. Also billed in 15-minute increments. Payment ranges from $8 to $20 per unit per client. You must document each participant and the group size to stay compliant.
H0010: Residential Detox (per diem)
Daily rate for medically monitored detoxification services. This is a per-day code, not per-session. Rates vary widely by state, from $150 to $500 per day. If you're operating a residential detox program, understanding residential billing codes like H0017, H0018, and H0019 is critical.
H0020: Methadone Administration
Used by opioid treatment programs (OTPs) for the actual administration of methadone. This does not include counseling or medical services, which are billed separately. Payment is typically $10 to $25 per dose.
Each of these codes requires specific documentation. Missing start/stop times, provider credentials, or clinical justification will trigger denials even if you used the correct code.
The Most Important CPT Codes for Behavioral Health Programs
When you're billing commercial insurance or Medicare, you'll use CPT codes like 90832-90838 for psychotherapy and 90853 for group therapy. Here are the ones you need to know:
90832: Psychotherapy, 30 minutes
Individual psychotherapy session lasting 16-37 minutes. Must be delivered by a licensed psychologist, clinical social worker, or licensed mental health counselor (depending on your state scope of practice laws). Commercial payers typically reimburse $60 to $90.
90834: Psychotherapy, 45 minutes
The most commonly billed psychotherapy code. Represents 38-52 minutes of face-to-face time. Reimbursement ranges from $90 to $140 depending on payer and geographic location.
90837: Psychotherapy, 60 minutes
Individual therapy session lasting 53 minutes or longer. This is your highest-reimbursing outpatient therapy code, typically paying $120 to $180. It requires thorough documentation and cannot be billed alongside H0015 for the same time period without triggering a duplicate service denial.
90853: Group Psychotherapy
Group therapy delivered by a licensed therapist. Unlike H0005, this is not billed in 15-minute increments. It's a single unit per session per client, regardless of session length (though most payers expect 45-90 minutes). Reimbursement is typically $30 to $60 per client.
99213 and 99214: Evaluation and Management (E&M)
Used for medication management visits with a psychiatrist or psychiatric nurse practitioner. 99213 is a level 3 visit (moderate complexity), and 99214 is level 4 (moderate to high complexity). These are critical for MAT programs and any PHP or IOP with a prescriber on staff.
The key difference between CPT psychotherapy codes and H-codes is specificity. CPT codes require you to document exact time, clinical interventions, and treatment plan updates. H-codes are more flexible but pay less.
How to Determine Which Code Set to Use by Payer Type
This is where most new operators get stuck. The answer is not intuitive, and it varies by contract. Here's the decision tree:
Medicaid Managed Care Plans: Start with H-codes. Most Medicaid plans in Florida, Texas, California, and other major markets require H0015 for IOP and H0004/H0005 for individual and group counseling. Check your provider manual or call the payer's provider line to confirm. If you're operating in Florida, you'll want to understand state-specific billing requirements for addiction treatment.
Commercial Insurance (BCBS, Aetna, Cigna, UnitedHealthcare): Use CPT codes. These payers expect 90837, 90853, and E&M codes. They will deny H-codes unless you have a specialty contract that explicitly allows them. I've seen operators lose months of revenue because they assumed commercial payers would accept H-codes.
Medicare: Use CPT codes for traditional psychotherapy. Medicare does not recognize most H-codes for outpatient mental health services. For behavioral health integration or collaborative care, you'll use G-codes like G2214, not H-codes.
State-Funded Programs: These often require H-codes and may have additional state-specific codes. Check with your state's behavioral health authority.
The mistake that costs operators the most money? Assuming all Medicaid plans work the same way. They don't. Medicaid in Florida is different from Medicaid in Ohio, and even within a state, different managed care plans have different code preferences.
When You Can Bill H-Codes and CPT Codes Together (and When You Can't)
This is the compliance minefield. Can you bill H0015 and 90837 on the same day? What about H0005 and 90853?
The short answer: it depends on whether the services are truly separate and distinct, and whether your payer allows it.
Same Service, Different Codes = Denial. If you bill H0015 (3-hour IOP block) and then try to bill 90837 (60-minute individual therapy) for time that was already included in the IOP block, that's duplicate billing. The claim will be denied, and if it's not caught, it could trigger an audit.
Different Services, Same Day = Maybe. If your client attends a 3-hour IOP session (H0015) in the morning and then has a separate 60-minute individual therapy session (90837) in the afternoon with a different provider, that might be billable. But many payers have same-day billing edits that automatically deny this combination. You need to use modifiers (like 59 or XE) to indicate the services were distinct, and you need documentation that proves it.
H-Code to One Payer, CPT to Another = Fine. If a client has dual coverage (Medicaid and commercial), you can bill H0015 to Medicaid as primary and 90837 to the commercial plan as secondary, as long as the services match what each payer expects. But you cannot bill the same service twice.
This is one of the most common coding errors treatment centers make, and it's entirely preventable with proper billing software and payer verification.
How Modifier HF Works in Behavioral Health Billing
Modifier HF indicates that a service was provided by a substance abuse counselor or other non-licensed provider. Some Medicaid plans require it when billing H-codes if the provider is not a fully licensed clinician.
For example, if a certified addiction counselor (CAC) delivers an H0005 group session, you might need to append modifier HF to indicate the provider's credential level. Some states pay differently based on whether the service was delivered by a licensed clinician or a certified counselor.
Check your payer contracts. Not all plans use HF, and some have their own state-specific modifiers. Billing without the required modifier can result in a denial or a reduced payment.
What Happens If You Bill the Wrong Code Set
Let's say you billed Aetna using H0015 instead of CPT codes. Here's what happens:
The claim is denied with a remark code like "invalid procedure code" or "code not covered for this provider type." You have to rebill using the correct CPT codes. But now you're 30 to 60 days behind on payment, and your cash flow takes a hit.
If you billed Medicaid using 90837 when they wanted H0004, same result. Denied claim, delayed payment, and your biller has to resubmit.
Worse, if you consistently bill the wrong codes, some payers will flag your account for review. I've seen operators get put on prepayment review (where every claim is manually audited before payment) because their billing was so inconsistent.
The fix is simple: verify code requirements before you submit. Use a clearinghouse that validates codes against payer rules. And train your billing staff to know the difference.
How to Verify Which Codes a Payer Accepts
Don't guess. Here's how to verify:
Check Your Provider Manual: Every payer publishes a provider manual or billing guide. It will list accepted procedure codes by service type. Download it and keep it handy.
Call the Payer's Provider Line: Ask specifically, "For IOP services, do you require H0015 or CPT codes like 90853?" Get the rep's name and reference number. Document the call.
Run a Test Claim: If you're unsure, submit a small test claim and see what happens. It's better to test with one claim than to submit 50 and have them all denied.
Use a Billing Partner: If this sounds like too much work, that's because it is. Most operators don't have time to track payer-specific code requirements across 10+ contracts. That's where a billing partner comes in.
How ForwardCare Manages Code Selection for Behavioral Health Billing
At ForwardCare, we've processed thousands of behavioral health claims across both H-codes and CPT codes. We know which payers require which codes, and we've built our billing workflows to automatically select the correct code set based on the payer and service type.
When you work with us, you don't have to guess. We verify code requirements during credentialing, configure your billing system to match payer rules, and monitor denials to catch code-related issues before they become patterns. If you're tired of code-related denials eating into your revenue, we can help.
If you want to understand more about the full landscape of behavioral health billing codes, check out our complete billing reference guide for HCPCS codes.
FAQ: H-Codes vs CPT Codes Behavioral Health Billing
Can you bill H0015 and 90837 on the same day?
Only if they represent truly separate services provided at different times by different providers, and only if your payer allows same-day billing with appropriate modifiers. Most payers will deny this as duplicate billing.
What happens if I bill the wrong code set?
Your claim will be denied with an invalid code or non-covered service remark. You'll need to rebill using the correct codes, which delays payment by 30-60 days.
Do all Medicaid plans accept H-codes?
Most do, but not all. Some Medicaid plans accept CPT codes, and some accept both. You must verify with each plan.
Can I use H-codes for commercial insurance?
Rarely. Most commercial payers require CPT codes. Using H-codes will result in denials unless you have a specialty contract that explicitly allows them.
How do I know which codes my payer accepts?
Check your provider manual, call the payer's provider line, or work with a billing partner who already knows the payer's requirements.
What is modifier HF used for?
Modifier HF indicates that a service was provided by a substance abuse counselor or other non-licensed provider. Some Medicaid plans require it for H-codes when the provider is not fully licensed.
Get Your Billing Right the First Time
Understanding H-codes vs CPT codes behavioral health billing is not optional. It's the difference between getting paid on time and chasing denials for months. If you're a new treatment center operator or you're struggling with code-related denials, you don't have to figure this out alone.
ForwardCare specializes in behavioral health revenue cycle management. We handle credentialing, billing, and denial management for IOPs, PHPs, and residential programs across the country. If you want a billing partner who actually understands the difference between H0015 and 90837, let's talk.
Visit ForwardCare to learn how we can help you get paid faster and avoid the coding mistakes that cost treatment centers thousands every month.
