What does "billable" mean for an ICD-10 code?
Not every ICD-10-CM code can go on a claim. "Billable" means the code is a leaf — the most specific level the classification supports. Here's how to tell the difference and why headers get rejected.
"Billable" (also called "valid for submission") means an ICD-10-CM code is a leaf in the classification tree — it has no further children, and coding it doesn't require adding more detail. A "header" or "category" code, by contrast, exists to organize a group of more specific codes underneath it and is not accepted on its own for claims or reporting.
Leaf vs header, concretely
Take the E11 category, type 2 diabetes. E11 itself is a header — three characters, no decimal, not billable. Underneath it, E11.9 ("without complications") and E11.65 ("with hyperglycemia") are billable leaf codes — each is as specific as the classification allows for that clinical picture, so nothing further is required. The full ICD-10-CM release has roughly 74,000 billable codes and about 23,000 header codes across its 22 chapters, and the ratio varies a lot by chapter — injury and musculoskeletal chapters, in particular, branch very deep.
Coding to the highest level of specificity
The ICD-10-CM Official Guidelines require assigning codes to the highest level of specificity documented in the record. In practice that means: if the header has children, you must pick one of them (or a further descendant) rather than stopping at the header. This is also why a code with more characters isn't automatically "more billable" than a shorter one — some 3-character categories have no children at all and are billable exactly as-is (there's no universal rule that only long codes are billable; it depends entirely on whether that specific node has descendants).
Patientary marks every single code — not just the ones you search for — as billable or a header, sourced directly from the official CMS ICD-10-CM release, so the flag is never guessed or inferred from code length.
Why claims reject on non-billable headers
Clearinghouses and payer systems validate the diagnosis code against the official code set before a claim is even scored for medical necessity. Submit a header like E11 or a truncated code, and it typically bounces back as an invalid/non-specific diagnosis code — a rejection, not a denial, meaning it never even reached adjudication. This is one of the most common and most avoidable reasons claims get kicked back for correction.
Laterality and the 7th character
Some chapters push specificity further with extra characters beyond the base code. Many musculoskeletal and ophthalmology codes require a laterality digit (right, left, bilateral, or unspecified side). Injury codes in the S00–T88 range (and a handful of others) require a 7th character encounter type — A for initial encounter, D for subsequent encounter, S for sequela — appended after any needed placeholder "X" characters. Leaving these off, or picking the wrong encounter type for a follow-up visit, is a frequent source of both rejections and audit findings.
How to check before you submit
The safest workflow is to validate every code against the current release right before submission, rather than trusting a code you memorized or copied from an old note — the code set changes every October, and codes do get retired or split.
Validate ICD-10 codes before you bill
Open the validatorFor developers and agents
If you're building claim-scrubbing software or an AI coding assistant, don't infer billability from code length or a hardcoded pattern — query it. `GET /api/v1/icd10/{code}` returns the official `billable` flag, parent and full chapter context for any code, and `POST /api/v1/validate` batch-checks a whole claim's worth of codes (and NPIs) in one call before submission.
Anything cited above is general reference, not medical, coding or billing advice. To look something up against live data, run a free NPI lookup, or search the ICD-10-CM code set.
More guides
Look it up, then build on it
Search providers and codes free, then get an API key for your software or your AI agent — no card to start.