Off Script 14 min read

ICD-10 Coding for Psych: The Crash Course Nobody Gave You

One clinician's honest takeNot peer-reviewed, but peer-livedThe thing not in the textbookNo HR filter

Here is something nobody told you in grad school, residency, or your post-grad fellowship: the diagnostic codes you slap on a claim are not a clinical…

Sections
  1. What ICD-10 actually is, and why you are stuck with it
  2. How an ICD-10 code is built
  3. Why specificity actually matters (it isn’t just bureaucracy)
  4. The high-volume psych codes you should have memorized
  5. Quick-reference table: top 20 psych codes
  6. The Z-code situation: when to bill one and when not to
  7. Multiple-diagnosis coding: order matters
  8. DSM-5-TR versus ICD-10-CM: where the mismatch bites
  9. Specificity decision tree for picking severity specifiers
  10. Common mistakes that wreck claims

Here is something nobody told you in grad school, residency, or your post-grad fellowship: the diagnostic codes you slap on a claim aren’t a clinical footnote. They are the entire claim. Get the code wrong and the work you did, the hour you spent in the room, the careful differential you ran in your head, all of it gets denied or downcoded or pended into the kind of administrative limbo that eats six months and a chunk of your billing person’s sanity. And the kicker is, the rules for getting it right aren’t hard. They are just genuinely not taught, which is why this is the crash course nobody gave you.

If you’re coding F33.9 because it’s the one you remember, or you’re billing every panic-anxious-trauma-ish patient as F41.1 because the dropdown is right there, or you’re still not sure whether Z51.81 is a real billable thing or a folk myth, this is for you. We are going to go through the structure, the high-volume psych codes you should have memorized, the Z-code situation, multiple-diagnosis ordering, the DSM-5-TR mismatch, and the small list of mistakes that account for most denials. Plain English. No filler.

What ICD-10 actually is, and why you are stuck with it

ICD-10 stands for International Classification of Diseases, tenth revision. It is maintained by the World Health Organization and the US has its own clinical modification called ICD-10-CM, which is what you actually use on claims in this country. The Centers for Medicare and Medicaid Services, which everyone calls CMS, requires it. Every commercial insurer requires it. If you’re submitting a CMS-1500 or a claim through a clearinghouse, the diagnosis line on that claim is ICD-10-CM.

This isn’t the same as the DSM, which a lot of clinicians conflate, and we’ll get into that conflation later because it’s responsible for a surprising amount of bad coding. The DSM is the diagnostic manual you use in the room. ICD-10-CM is the code set you use on the bill. They overlap heavily in psychiatry but they aren’t identical, and the places where they drift apart are exactly the places where claims get denied.

The other thing to know is that ICD-10-CM updates every October. New codes get added, old codes get retired, specifier rules shift. If your EHR hasn’t been updated and you’re picking from a stale list, you’re going to bill codes that no longer exist. This is a real thing that happens. Check that your system is current at least once a year, ideally right after the October 1 changeover.

How an ICD-10 code is built

The structure is more logical than it looks. Every ICD-10-CM code starts with a 3-character category, then a decimal, then up to 4 more characters for specificity. So you get something between 3 and 7 characters total. In psych, almost everything you bill lives in the F-codes, which is Chapter 5, Mental, Behavioral and Neurodevelopmental Disorders. The F is the chapter, the next two digits are the category, and everything after the decimal is the specifier.

Example. F33.1 breaks down like this. F is the mental health chapter. F33 is the category for Major Depressive Disorder, recurrent. The .1 says moderate severity, current episode. So F33.1 is “MDD, recurrent, moderate, current episode.” That whole clinical sentence is packed into four characters.

The longer the code, the more specific. Insurers want specific. CMS wants specific. If you submit a 3-character category code when a more granular code exists, the claim is technically wrong and is increasingly being rejected by smarter clearinghouses. The default assumption from a reviewer reading a non-specific code is that you didn’t do the diagnostic work. Which brings us to the next point.

Why specificity actually matters (it isn’t just bureaucracy)

Here is the thing about coding F33.9, “Major depressive disorder, recurrent, unspecified.” It tells the payer one of two things. Either you genuinely can’t tell what severity this episode is, which is fine in an acute first encounter where you have an hour and incomplete history, or you didn’t bother to assess severity, which is the assumption everyone defaults to after the first visit. Same thing with F32.9, F41.9, F43.9, F90.9, all the .9s. They are flags. They are saying, “I didn’t do the work.”

F33.1, on the other hand, says, “I evaluated this patient, the episode is recurrent, and the current severity is moderate.” That is the same patient, same diagnosis, same visit. But the specific code reads as a clinician who actually did a workup, and the unspecified code reads as a clinician who clicked the first option in the dropdown. Reviewers and auditors notice. Algorithms notice. Pattern across a panel of patients and you’re looking at a soft audit flag.

This isn’t me being dramatic. Unspecified codes are one of the most common reasons psych claims get pended or downcoded for medical necessity review, especially for higher-level E/M codes. If you billed a 99214 or a 90837 and the only diagnosis on the claim is F41.9, you’re inviting the payer to ask why a 30-plus-minute visit was needed for “anxiety, unspecified.”

The unspecified code is not a neutral choice. It’s a clinical statement that says you didn’t finish the workup. Once you see it that way, you stop reaching for it.

The high-volume psych codes you should have memorized

Most psych clinicians use maybe 25 to 40 codes in any given month, and the top 15 cover most of the panel. Here is the working set you should be able to pull from memory.

F32.x: Major Depressive Disorder, single episode. The suffix pattern is the same one you’ll see in F33 and most other mood categories, so memorize the suffix pattern once and you have the whole substance use disorder chapter covered. .0 is mild, .1 is moderate, .2 is severe without psychotic features, .3 is severe with psychotic features, .4 is in partial remission, .5 is in full remission, .9 is unspecified. Avoid the .9. If you really don’t know severity, say so in the note and pick the closest specific code, but don’t default to .9.

F33.x: Major Depressive Disorder, recurrent. Same suffix logic as F32. The .0 through .5 line up exactly. F33.1 is your bread and butter for the recurrent-moderate patient you see on a Tuesday for a med check. If you’re seeing the same patient over time and they have had more than one episode, you should be in F33, not F32. A lot of clinicians keep coding F32 because they coded it at the first visit and never moved off it. Move off it.

F41.1: Generalized Anxiety Disorder. The everyday GAD code. No severity specifiers in F41.1 itself, which is a quirk. F41.0: Panic disorder without agoraphobia. F40.00: Agoraphobia, unspecified. F40.10: Social anxiety disorder, generalized. F40.218: Other animal type phobia, and so on through the F40 phobia subcategories.

F42.x: OCD. F42.2 is mixed obsessional thoughts and acts, F42.3 is hoarding disorder, F42.8 is other OCD, F42.9 is unspecified. Stop using F42.9 if you have actually evaluated the patient.

F90.x: ADHD. .0 inattentive presentation, .1 hyperactive-impulsive presentation, .2 combined presentation, .8 other, .9 unspecified. The .2 is the most common adult ADHD code. The .0 is heavily used for women and quiet inattentive men who don’t present with the hyperactive signs.

F43.x: Trauma- and stressor-related. This is where a lot of coding goes sideways. F43.10 is PTSD, unspecified. F43.11 is PTSD, acute. F43.12 is PTSD, chronic. The acute versus chronic distinction is duration, not severity. F43.20 is adjustment disorder, unspecified. F43.21 is adjustment disorder with depressed mood. F43.22 is with anxiety. F43.23 is with mixed anxiety and depressed mood. F43.24 is with disturbance of conduct. F43.25 is with mixed disturbance of emotions and conduct. Adjustment disorders aren’t PTSD-lite. They are their own category with a different stressor profile, and miscoding one as the other is a common mistake we’ll get back to.

F31.x: Bipolar. This is the longest specifier chain in common psych use. F31.0 is current hypomanic episode. F31.10 through F31.13 are current manic episode without psychosis, with severity from mild to severe. F31.2 is current manic episode with psychotic features. F31.30 and F31.31 are current depressed episode, mild or moderate. F31.4 is current depressed episode, severe, without psychosis. F31.5 is current depressed episode, severe, with psychosis. F31.60 through F31.64 are mixed episode codes. F31.81 is bipolar II. F31.9 is unspecified, and again, don’t.

F10 through F19: Substance use disorders. Each two-digit category is a substance. F10 is alcohol, F11 is opioids, F12 is cannabis, F13 is sedatives and hypnotics, F14 is cocaine, F15 is other stimulants including amphetamines and caffeine, F16 is hallucinogens, F17 is tobacco, F18 is inhalants, F19 is other or unknown psychoactive substance. The suffix logic is where people get confused. The .10 series is abuse. The .20 series is dependence. The .9 series is unspecified use. So F10.20 is alcohol dependence, uncomplicated. F10.21 is alcohol dependence in remission. F11.20 is opioid dependence, uncomplicated. The pattern holds across all the substance categories. Memorize the suffix pattern once and you can code any substance use disorder.

Z-codes you should know. Z51.81 is encounter for therapeutic drug level monitoring, which is the code most people are thinking of when they say “medication management code” but it’s not exactly that, and we’ll get into the Z-code situation in a minute. Z71.1 is person with feared health complaint in whom no diagnosis is made, which sounds like a niche code but it’s actually the one for evaluation visits where you haven’t yet made a diagnosis. Z79.899 is long-term current use of other medications, which sometimes gets added as a secondary code on med-management visits.

Quick-reference table: top 20 psych codes

Code Description Typical use
F32.1 MDD, single episode, moderate First-episode depression, moderate severity
F32.2 MDD, single episode, severe without psychosis First episode, severe, no psychotic features
F33.1 MDD, recurrent, moderate Most common recurrent MDD visit
F33.2 MDD, recurrent, severe without psychosis Recurrent severe depression
F33.42 MDD, recurrent, in full remission Stable maintenance patient
F41.1 Generalized Anxiety Disorder Day-to-day GAD code
F41.0 Panic disorder without agoraphobia Panic without avoidance pattern
F40.10 Social anxiety disorder, generalized Social phobia, broad type
F42.2 Mixed obsessional thoughts and acts Standard OCD presentation
F43.10 PTSD, unspecified Use only at intake before acute/chronic clear
F43.12 PTSD, chronic Symptoms over 3 months duration
F43.23 Adjustment disorder with mixed anxiety and depressed mood Stressor-bound mood disturbance
F90.0 ADHD, predominantly inattentive Inattentive presentation
F90.2 ADHD, combined presentation Most common adult ADHD code
F31.81 Bipolar II disorder Hypomania plus depressive episodes
F31.32 Bipolar I, current depressed, moderate Bipolar I in depressive phase, moderate
F10.20 Alcohol dependence, uncomplicated AUD without remission or complication
F11.20 Opioid dependence, uncomplicated OUD without remission or complication
F60.3 Borderline personality disorder Confirmed BPD diagnosis
Z51.81 Encounter for therapeutic drug monitoring Med-monitoring-only visits (payer dependent)

The Z-code situation: when to bill one and when not to

Z-codes are a different chapter of ICD-10-CM. Z codes describe factors influencing health status and contact with health services. They aren’t disorders. They are reasons for the encounter that aren’t themselves a diagnosable condition. Z51.81 is the one psych clinicians fight about most, and the question is: when do you bill it as primary?

The conservative position. Z51.81 is for visits that are genuinely about monitoring a drug, lithium levels, lamotrigine titration, clozapine ANC monitoring, and the patient doesn’t have active symptoms of the underlying condition. The underlying condition gets coded as a secondary diagnosis. In that case, Z51.81 primary, F31.81 secondary is defensible.

The aggressive position. Some clinicians bill Z51.81 primary on every med-management-only visit, no matter how active the patient’s symptoms are, because they read “encounter for therapeutic drug monitoring” literally. Payers vary on whether they’ll pay for this. Medicare generally doesn’t pay a Z-code as primary for routine med-management visits. Many commercial payers will deny it. Some will pay it without issue. There is no national rule.

The practical position. Code the active disorder as primary if there’s an active disorder. F33.1 with Z51.81 as a secondary diagnosis is almost always a safer claim than Z51.81 with F33.1 secondary. Only put Z51.81 first if the patient is in full remission and the visit is genuinely just labs and a check-in. Z71.1 is even more limited and most payers won’t pay it as primary on a psych claim. Use it sparingly and only in true pre-diagnostic evaluation visits.

Multiple-diagnosis coding: order matters

You can put up to 12 diagnosis codes on a CMS-1500 these days, but the order matters. The first one, the primary, is the one driving today’s visit. Not the one that’s most clinically severe, not the one the patient has had longest, the one that’s the reason they’re in your office on this date.

So a patient with bipolar II, GAD, and an opioid use disorder in remission, who comes in today because their anxiety has spiked, gets F41.1 as primary today, with F31.81 and F11.21 as secondary. Next month, when the same patient comes in for a bipolar med adjustment because mood is destabilizing, the primary flips to F31.81 and F41.1 drops to secondary.

How many secondaries to add. Add every diagnosis that’s being addressed or considered in today’s visit and is clinically relevant to the management plan. Do not pad. Adding F17.200 (nicotine dependence) on every claim because the patient smokes is a denial risk if you can’t show you actually addressed it. The standard is, if it’s in your plan today, it goes on the claim today.

DSM-5-TR versus ICD-10-CM: where the mismatch bites

The DSM-5-TR is the diagnostic manual you used to make the diagnosis. ICD-10-CM is what you put on the claim. The DSM-5-TR provides ICD-10-CM crosswalks for every diagnosis, which is helpful, but the crosswalks aren’t always one-to-one and the specifier language sometimes differs.

The clearest mismatch is in PTSD. DSM-5-TR has specifiers for dissociative symptoms and delayed expression. ICD-10-CM doesn’t have a specific code for dissociative-subtype PTSD. You end up coding F43.10 or F43.12 and noting the dissociative features in the documentation. The specifier exists clinically but not in the billable code.

Another one. The DSM-5-TR added prolonged grief disorder. The ICD-10-CM code, F43.81, was finalized for US use in October 2022. If your EHR wasn’t updated, you may not have access to it in the dropdown. Check.

And the substance use disorder severity specifiers. DSM-5-TR uses mild, moderate, severe based on number of criteria met. ICD-10-CM uses abuse versus dependence (the .10 versus .20 split). A DSM-mild SUD is closer to ICD abuse, and DSM-moderate-to-severe is closer to ICD dependence, but it’s not a clean mapping. The note should reflect the DSM-5-TR criteria count and the code should reflect the closest ICD-10-CM match.

Two abbreviations you’ll see in code descriptions. NEC means Not Elsewhere Classified, which means “this is a real thing but it doesn’t have its own code, so it goes here.” NOS means Not Otherwise Specified, which is the older language for “unspecified.” Both are flags for low-specificity coding.

Specificity decision tree for picking severity specifiers

Here is the working logic. Walk it every time until it becomes automatic.

Step 1. Is the diagnosis confirmed? If yes, go to Step 2. If no, code Z71.1 or the closest symptom code, document the workup in progress.

Step 2. Is this a first episode or recurrent? For MDD, single episode is F32, recurrent is F33. For bipolar, the equivalent is the current-episode specifier in F31. Pick the right category before picking the suffix.

Step 3. What is the current severity? Use the DSM-5-TR criteria count and clinical judgment. Mild is .0, moderate is .1, severe without psychosis is .2, severe with psychosis is .3 in F32 and F33. Bipolar uses a longer chain but the logic of mild-to-severe-to-with-psychosis is the same.

Step 4. Is the patient in remission? Partial remission is .4 (some symptoms persist, full criteria no longer met). Full remission is .5 (no significant symptoms for a clinically relevant period). Remission codes are billable and appropriate for maintenance visits with stable patients.

Step 5. Document the severity in the note. The code on the claim should match the documented severity. If the note says “moderate depressive symptoms” and the code is F32.2 (severe), that’s a chart-audit problem waiting to happen.

Common mistakes that wreck claims

The five most common coding mistakes in psych practice:

  1. Defaulting to .9 (unspecified). If you have seen this patient more than once, you can almost always pick a more specific code. The .9 should be rare after the first visit.
  2. Billing PTSD when the diagnosis is actually adjustment disorder. PTSD requires a Criterion A traumatic event meeting DSM-5-TR threshold. A bad breakup isn’t a Criterion A event. An adjustment disorder is the right code. Miscoding adjustment as PTSD is a denial risk and a chart-audit risk.
  3. Coding F32 (single episode) for a patient who has clearly had prior episodes. Once recurrence is established, the code is F33 forever (unless you transition to a remission specifier). Update the chart.
  4. Code-set mismatch on multi-diagnosis claims. Putting a Z-code first when the visit was clearly driven by an active F-code disorder. Or putting a substance use disorder primary on a visit that was really about depression with comorbid substance use.
  5. Outdated codes. If your EHR hasn’t been updated since October 1, you’re picking from a stale list. Some codes you used to use no longer exist, and some new ones (like F43.81 for prolonged grief) are missing from your dropdown.

One last thing. The coding and the clinical thinking are the same thing, basically. The reason for picking F33.1 over F33.9 is the same reason you went to grad school: to do the diagnostic thinking that gets a patient the right care. The code is the artifact of that thinking. Treat it as bureaucratic noise and you stop doing the diagnostic thinking, and the claims start bouncing, and eventually the work gets sloppy in ways that are hard to trace back to the coding. That is the whole pitch, and now you’re caught up.

More on Off Script

Insomnia Treatment
Treatment
Insomnia Treatment
8 min read
Online ADHD clinics & the regulatory crackdown
Treatment
Online ADHD clinics & the regulatory crackdown
8 min read
Guanfacine (Intuniv)
Medications
Guanfacine (Intuniv)
10 min read
Motivation Is Overrated
Off Script
Motivation Is Overrated
9 min read
Anxiety Isn’t the Enemy
Conditions
Anxiety Isn’t the Enemy
8 min read
Consequences Aren’t Punishment
Off Script
Consequences Aren’t Punishment
8 min read
It’s Just a White Lie. So What?
Off Script
It’s Just a White Lie. So What?
6 min read
Depression Looks Different in Men
Conditions
Depression Looks Different in Men
9 min read
Vyvanse
Medications
Vyvanse
11 min read
How to Transfer Your ADHD Prescription to a New Provider
Treatment
How to Transfer Your ADHD Prescription to a New Provider
10 min read
Adhd Treatment
Treatment
Adhd Treatment
13 min read
ADHD in Men: Why It Gets Missed
Conditions
ADHD in Men: Why It Gets Missed
10 min read