ICD-10-CM has 98,186 diagnosis codes. Finding the right one isn't guesswork — it's a repeatable process. Whether you're coding for a large practice or handling billing solo, the coders who have the lowest denial rates follow a consistent lookup workflow. This guide breaks it down step by step.
Why "Good Enough" Codes Cost You
The jump from ICD-9 to ICD-10 wasn't just about code syntax — it was a fundamental shift toward clinical specificity. Where ICD-9 had about 14,000 codes, ICD-10-CM has nearly seven times more. That granularity exists for a reason: payers expect it.
When you code M79.3 (Panniculitis, unspecified) instead of the more specific M79.31 (Panniculitis of right shoulder), you're leaving clinical detail on the table that the payer expects to see. On high-complexity claims, that mismatch triggers a denial — or worse, a medical necessity audit.
Using a non-billable "header" code when a more specific child code is required. ICD-10-CM flags these as "not valid for submission" — but many lookup tools don't warn you. MedDex marks non-billable codes clearly so you never submit one by accident.
The 5-Step Lookup Workflow
Follow these steps in order. The process works whether you're using a physical codebook, the CDC browser, or a digital tool like MedDex.
Start with the clinical condition — not the code
Read the documentation first. Identify the main term — the condition, disease, or symptom the provider documented. Resist the urge to type a code number you already know. Start with the diagnosis in plain language.
Search by symptom or condition, not code structure
Natural language search surfaces the right hierarchy faster than browsing category codes. Type "type 2 diabetes with diabetic kidney disease" instead of hunting through E11. A good search tool maps clinical language directly to the correct code family.
Drill down to the most specific billable code
Once you're in the right family, go as specific as the documentation allows. Check laterality (left/right/bilateral), encounter type (initial, subsequent, sequela), causative factors, and comorbidities. Never stop at a 3-character code if a 7-character exists.
Check the Includes, Excludes1, and Excludes2 notes
These instructional notes live at the category level and change what you can and can't bill together. Excludes1 means "never code both" — the conditions are mutually exclusive. Excludes2 means "not included here, but a patient can have both." Missing an Excludes1 violation is a fast track to a denial.
Verify the code is billable before submitting
Confirm the selected code has a "billable" designation — meaning it's valid for claim submission. Non-billable codes (category headers without a specific 4th, 5th, 6th, or 7th character) will reject at the clearinghouse. MedDex's Billable Only filter makes this instant.
Anatomy of an ICD-10-CM Code
Understanding the structure helps you navigate faster and spot when you've landed at the right specificity level.
ICD-10-CM codes are 3–7 characters. The more characters, the more specific the diagnosis. Category codes (3 characters) are almost never billable on their own — they're organizational headers. Billable codes start at 4 characters and go up to 7.
High-Specificity Areas That Trip Up Coders
Laterality
ICD-10 requires left vs. right vs. bilateral for most musculoskeletal, ophthalmologic, and otologic conditions. H40.11 (Primary open-angle glaucoma) requires a 6th character for laterality and a 7th for severity stage. Document it, or leave it blank in the chart and you'll be guessing.
Encounter type
Injuries use 7th character extensions: A (initial encounter), D (subsequent encounter), and S (sequela). "Initial" means the patient is actively receiving treatment — not just the first time they came in. A patient in active cast management at visit 4 is still coded with A. This is one of the most commonly miscoded fields in orthopedic practices.
Diabetes with complications
Type 2 diabetes with complications uses the E11 category with combination codes. E11.65 (Type 2 diabetes mellitus with hyperglycemia) is a single code — you don't separately code the hyperglycemia. The combination code structure in E10–E13 eliminates many of the extra codes you needed under ICD-9. Know which complications have combination codes and which require additional codes.
Mental health
The F codes require documentation of severity (mild, moderate, severe) for conditions like major depressive disorder. F33.0 (Major depressive disorder, recurrent, mild) vs. F33.1 (moderate) vs. F33.2 (severe without psychotic features) — the payer distinction matters for behavioral health coverage.
When you're not sure how specific to go, ask: "What is the most precise clinical description that is documented?" Only code what's documented. Guessing at specificity to avoid an "unspecified" code is just as problematic as coding too broadly — if it's not in the chart, it shouldn't be in the claim.
The Billable-Only Filter: Your Fastest Quality Check
One of the fastest ways to cut submission errors is to filter your search results to billable codes only. This eliminates header codes from view entirely, so every result you're choosing between is a valid submission candidate.
MedDex's search includes a Billable Only toggle that filters all 98,186 codes down to the 74,719 that are valid for claim submission. Use it for every search — it removes an entire class of coding error with a single click. Try it free.
When to Use "Unspecified" — and When Not To
Unspecified codes exist for a reason: sometimes clinical documentation genuinely doesn't contain the specificity required for a more precise code. That's legitimate. What's not legitimate is using an unspecified code because you didn't look far enough.
Use unspecified codes when:
- The documentation genuinely doesn't contain the information needed for specificity
- The provider has been queried and couldn't provide additional detail
- The condition is truly of unknown etiology at the time of the encounter
Don't use unspecified codes when:
- The information is in the chart but you didn't read the full note
- You assumed a more specific code would require a query (check first)
- The payer has a known rejection pattern for that unspecified code
Building a Lookup Habit That Scales
The coders who are fastest aren't faster because they've memorized codes — they're faster because they've internalized the structure. They know that diabetes complications live in E10–E13, that mental health is F01–F99, that musculoskeletal is M00–M99. That topographic knowledge speeds up every search.
Use a tool that supports natural language search (not just code browsing), shows you the full code hierarchy, and distinguishes billable from non-billable codes. The time you spend looking up the wrong code is always more than the time a good tool would have saved you.
Search 98,186 ICD-10-CM Codes Free
Natural language search. Billable-only filter. Full code hierarchy. No login required for your first searches.
Try MedDex Free →Pro plan at $9.99/mo unlocks unlimited searches + iOS app