Off Script 14 min read

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

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 is not 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 are not 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 are not hard. They are just genuinely not taught, which is why this is the crash course nobody gave you.

If you are coding F33.9 because it is the one you remember, or you are billing every panic-anxious-trauma-ish patient as F41.1 because the dropdown is right there, or you are 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 are submitting a CMS-1500 or a claim through a clearinghouse, the diagnosis line on that claim is ICD-10-CM.

This is not the same as the DSM, which a lot of clinicians conflate, and we will get into that conflation later because it is 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 are not 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 has not been updated and you are picking from a stale list, you are 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 did not do the diagnostic work. Which brings us to the next point.

Why specificity actually matters (it is not 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 cannot tell what severity this episode is, which is fine in an acute first encounter where you have an hour and incomplete history, or you did not 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 did not 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 are looking at a soft audit flag.

This is not 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 are 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 is a clinical statement that says you did not 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 will 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 do not know severity, say so in the note and pick the closest specific code, but do not 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 are 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 do not 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 are not PTSD-lite. They are their own category with a different stressor profile, and miscoding one as the other is a common mistake we will 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, do not.

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 is not exactly that, and we will 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 is actually the one for evaluation visits where you have not 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 are not disorders. They are reasons for the encounter that are not 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 does not 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 will pay for this. Medicare generally does not 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 is 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 will not 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 is most clinically severe, not the one the patient has had longest, the one that is the reason they are 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 is 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 cannot show you actually addressed it. The standard is, if it is 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 are not 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 does not 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 was not 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 is 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 will see in code descriptions. NEC means Not Elsewhere Classified, which means “this is a real thing but it does not 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 is 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 is not 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 has not been updated since October 1, you are 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 are 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