BlogCoding & CPT
Coding & CPT

Behavioral Health Billing Codes: CPT, ICD-10 & Modifiers Explained

Paul JonasJune 1, 20267 min read

A denied claim rarely feels like a coding problem in the moment. It feels like the payer being difficult. But the truth is that most denials in behavioral health trace back to three things: the wrong CPT for the documented session length, an ICD-10 the payer doesn't cover for that service, or a missing (or extra) modifier.

Behavioral health uses a tighter slice of the code universe than general medical billing. The rules around that slice, though, are arguably stricter. Time thresholds, provider-level modifiers, state Medicaid variations, and telehealth rules that keep shifting.

This guide walks through the behavioral health billing codes therapists actually use, the F-codes and Z-codes that pair with them, the modifiers that change how (and whether) you get paid, and one telehealth rule most other articles still get wrong.

CPT Codes Behavioral Health Practices Use Every Day

Outpatient behavioral health relies on a small, repeatable set of CPT codes for therapy. Most practices touch the same dozen behavioral health billing codes month after month.

Evaluation codes come first. 90791 is a psychiatric diagnostic evaluation without medical services, used by LCSWs, LMFTs, LPCs, and psychologists for intake assessments. 90792 is the version with medical services, reserved for prescribers.

Then there's the time-based psychotherapy ladder:

  • 90832 for 16–37 minutes
  • 90834 for 38–52 minutes
  • 90837 for 53 minutes or longer

This is where most coding denials originate. A 52-minute session is 90834. A 53-minute session is 90837.1 Splitting that hair matters, and "rounding up" a 50-minute session to 90837 is one of the fastest ways to attract a post-payment audit or a recoupment letter. If you're looking for a deeper read on this specific decision, see our guide on 90834 vs 90837.

For sessions that aren't one-on-one, the family and group codes apply. 90846 covers family therapy without the patient present. 90847 is family therapy with the patient in the room. 90853 is group psychotherapy. Different codes, different documentation requirements, different reimbursement, and getting these wrong on a per-session basis is one of the most common reasons for downcoded claims (more on family therapy billing in a separate post).

Crisis sessions use 90839 (first 60 minutes) and 90840 (each additional 30 minutes). Add-on codes round out the set. 90785 captures interactive complexity when documented criteria are met. 90833, 90836, and 90838 are the psychotherapy add-ons prescribers use alongside an E/M visit. We see practices leave 90785 off claims for a year at a time despite documenting every required element. That's clean revenue sitting on the table.

ICD-10 Diagnosis Codes That Justify the Service

Codes don't pay. Diagnoses justify codes, and that's where claims quietly die.

The most-billed F-codes in outpatient behavioral health are familiar: F32 and F33 for major depression (single and recurrent episodes), F41 for anxiety disorders (with F41.1 generalized anxiety leading the pack), F43 for trauma and adjustment (including F43.10 PTSD), F90 for ADHD, and F84 for autism spectrum disorder.2

Specificity matters more than most clinicians realize. Payers prefer F32.1 (moderate, single episode) over F32.9 (unspecified). Unspecified codes are flagged in an increasing number of commercial payer policies, and a year of F32.9 across a caseload is a real audit risk.

Then there are the Z-codes. Z-codes are not stand-alone diagnoses. Submitting a 90847 with Z63.0 (relationship distress) as the primary diagnosis is a fast track to a PR-49 "non-covered" denial.3 Z-codes belong in the secondary position as context, not in the primary position as medical necessity.

A common pattern: a solo therapist starts seeing couples and lists Z63.0 as primary on every claim. After a stack of denials, the fix is to bill the identified patient's relevant F-code (often F43.20, unspecified adjustment disorder) as primary, with Z-codes added as supporting context.

One more thing worth knowing about ICD-10 mental health codes: severity should match service intensity. Pairing F32.0 (mild) with a weekly 90837 every week raises medical necessity flags. The diagnosis and the treatment plan should tell the same story.

Mental Health Billing Modifiers That Change How You Get Paid

Modifiers fall into two buckets. Pricing modifiers change the reimbursement rate. Informational modifiers describe how the service was delivered or by whom.

For mental health billing modifiers, the most consequential are the provider-level Medicaid modifiers:

  • HO for master's-level clinicians (LCSW, LPC, LMFT)
  • HN for bachelor's-level clinicians
  • HP for doctoral-level psychologists
  • AJ for clinical social workers
  • HQ for group settings

State variation makes this harder than it looks. Indiana Medicaid uses HE instead of HO for the same provider level. Missouri uses UD for Licensed Professional Counselors.4 Ohio adds HM, HN, HO, and UK to designate education level. Practices that expand across state lines often discover this only after a clearinghouse rejection or a 30-day silence from the payer (state-specific Medicaid payer policies are a deep topic on their own).

Program-specific modifier requirements add another layer. Minnesota's community-based programs, including Adult Rehabilitative Mental Health Services (ARMHS), Children's Therapeutic Supports and Services (CTSS), Early Intensive Developmental and Behavioral Intervention (EIDBI), and Housing Stabilization Services (HSS), each have their own provider-level and service-type modifier requirements published in the MN DHS provider manual. Other states run analogous programs with their own rule sets.

A few other modifiers come up regularly. Modifier 25 signals a separately identifiable E/M service when a prescriber bills E/M plus psychotherapy on the same day. Modifier 59 is for distinct procedural services on the same date. And sequencing matters: pricing modifiers (25, 59) go before informational modifiers (HO, 95) on the claim line.

Telehealth modifiers get their own section. They deserve it.

Telehealth Modifiers for Therapy: POS Codes, Modifier 95, and the Mistake Almost Every Guide Makes

Telehealth modifiers for therapy are where current guidance and pandemic-era guidance collide.

Start with the place-of-service (POS) codes. Effective January 1, 2024, CMS requires:

  • POS 10 when the patient is in their home during the telehealth session
  • POS 02 when the patient is at another location, such as an office or school5

Reimbursement differs between the two. POS 10 pays at the non-facility rate, equivalent to in-office. POS 02 triggers the facility rate, which is lower. For most therapy practices seeing patients at home, POS 10 is the correct call. We see practices lose meaningful revenue when an EHR template defaults to POS 02 for all telehealth, and nobody notices for months.

Now the part most guides still get wrong. For professional claims (CMS-1500 / 837P), modifier 95 is not required. As of 2024, the POS code itself signals telehealth, and appending modifier 95 to professional behavioral health claims is at best unnecessary and at worst a trigger for denials or processing errors. Some payers' edits assume that if both POS 10 and modifier 95 are present, the claim is malformed.

The history here matters. Modifier 95 was the standard during the public health emergency, when telehealth POS codes hadn't yet been formalized. Many EHR templates still auto-append modifier 95, and many online articles still recommend it because pandemic-era guidance hasn't been updated everywhere. The current authoritative reference is CMS MLN901705.5 Modifier 95 still applies in specific institutional and facility billing contexts on UB-04 / 837I claims, which is not how outpatient behavioral health practices typically file.

Audio-only sessions are their own animal. Most payers want modifier 93 for audio-only, while FQHCs and RHCs use FQ. (We dig into the broader telehealth modifier question in its own post.)

So the practical takeaway: if you're a private practice or group practice billing professional claims, get POS 10 vs POS 02 right, drop modifier 95 from your telehealth defaults, and check your EHR template before your next batch.

Putting It Together: A Behavioral Health Claim That Actually Pays

Every clean behavioral health claim aligns four things:

  1. Rendering provider credentials that match the payer's enrollment file
  2. CPT code that matches documented time and format
  3. ICD-10 diagnosis that's specific, in-policy, and supports medical necessity
  4. Modifiers in the right order, provider-level and telehealth as applicable

A quick pre-submission sanity check answers four questions. Does the session length actually support the CPT? Is the primary diagnosis a covered F-code, not a Z-code? Are the right modifiers on, in the right order? Is the POS code correct for where the patient was sitting?

When denials cluster, the work isn't follow-up. It's a coding review. If one CPT, one payer, or one provider produces an outsized share of your denials, that's a pattern worth diagnosing before you call to appeal another claim. Strong denial tracking makes those patterns visible early instead of three quarters later.

Behavioral health billing codes are the visible part. The rules around them, including the payer-by-payer policies on top of CMS rules, are where most practices get stuck.

Final Thoughts: Codes Are the Visible Part. The Rules Around Them Are Where Practices Get Stuck.

Behavioral health uses a small set of codes. But the time thresholds, the ICD-10 specificity requirements, the provider-level modifiers, and the telehealth POS rules around behavioral health billing codes are where denials actually originate, and they shift state by state and payer by payer.

That's why behavioral-health-specialized billing matters. After ten years inside Minnesota's Medicaid program portfolio and now supporting practices in all 50 states, we know which payer in which state actually wants which modifier combination on the right behavioral health billing codes, including when modifier 95 should not be on a professional claim.

If you'd like a second set of eyes on your code combinations or a closer look at a denial pattern in your practice, BreezyBilling is here to help.

Footnotes

  1. Behavioral Health CPT Codes: The 2026 Clinician's Guide to Accurate, Practical Billing — Supanote, 2026

  2. The Most Common Psychiatry ICD-10 Codes — Headway, 2024

  3. Mental Health Coding Errors That Cause Denials — MedXpert Services, 2024

  4. Mental Health Billing Modifiers: Complete List (HO, AJ, HE) — MedStates, 2024

  5. Telehealth & Remote Monitoring (MLN901705) — Centers for Medicare & Medicaid Services, 2024

Back to Blog
Get Started

Ready to make billing breezy?

Get in touch to learn more about our approach. We’d love to sit down and talk about your practice.