ICD-10 Coding for Occupational Therapy
ICD-10 is a coding system used to document patient diagnoses for billing and statistical purposes. Occupational therapists use these codes when submitting claims, which means getting them wrong results in claim denials or delayed payments. The Occupational Therapy Icd 10 Cheat Sheet helps clinicians quickly find the right codes without flipping through hundreds of pages in the ICD-10-CM manual. Here are the codes that come up most often in practice. Neurological conditions
G81.91 – Hemiplegia, unspecified affecting right dominant side G81.92 – Hemiplegia, unspecified affecting left dominant side G81.93 – Hemiplegia, unspecified affecting unspecified dominant side
G81.94 – Hemiplegia, unspecified affecting non-dominant side G80.9 – Cerebral palsy, unspecified G40.909 – Epilepsy, unspecified, not intractable, without status epilepticus
Get the Full Details

Musculoskeletal and connective tissue conditions M81.0 – Age-related osteoporosis without current pathological fracture M81.8 – Other osteoporosis without current pathological fracture
M54.5 – Low back pain M54.6 – Pain in thoracic spine M62.838 – Other muscle spasms
Injury and trauma S06.0X9A – Concussion with loss of consciousness of indeterminate duration, initial encounter S72.001A – Unspecified fracture of right femur, initial encounter for closed fracture
S62.501A – Unspecified fracture of unclassified finger(s) at wrist and hand level, right hand, initial encounter for closed fracture Developmental and functional codes Z00.5 – Encounter for pediatric general examination without abnormal findings
Z00.129 – Encounter for routine child health examination with abnormal findings Z96.671 – Presence of left total hip replacement Z96.672 – Presence of right total hip replacement
Z99.12 – Dependence on disabling equipment, wheelchair

Understanding the Code Structure
ICD-10 codes range from three to seven characters. The first character is always a letter. The second is a number. Characters three through seven can be letters or numbers. Each position adds specificity. A three-character code is a category and is almost never sufficient for billing. Most OT claims require the full seven-character code. The seventh character is where things get tricky. It tells you whether this is an initial encounter, a subsequent encounter, or a sequela. For fractures, the seventh character is critical because it determines whether you're documenting the acute phase, the healing phase, or a late complication. Using the wrong one gets your claim rejected every time. Initial encounter codes apply while the patient is receiving active treatment. Subsequent encounter codes apply during routine care after active treatment has ended. Sequela codes apply for complications or conditions that arise as a direct result of the original injury. I still see therapists mixing these up on a weekly basis.
External Cause Codes You Actually Need
External cause codes provide context about how an injury happened. They are rarely required on every claim but become necessary when a payer asks for them or when the injury resulted from a specific event. Common ones include: V codes (status codes) Z96.1 – Presence of orthopedic joint implants and prosthetics
Z96.2 – Presence of intraocular lens Z96.3 – Presence of vocal larynx replacement External cause codes for injuries

W01.xx – Fall on same level from slipping, tripping, or stumbling Y83.x – Surgical procedure as the cause of abnormal reaction Z12.31 – Encounter for screening mammogram for malignant neoplasm of breast
When Codes Alone Don't Work
One thing that trips people up is that the diagnosis code does not tell you what the patient needs therapy for. The code identifies the condition. The SOAP note and plan describe the actual occupational therapy intervention. A payer will approve the code but deny the service if your documentation doesn't show functional impairment related to that diagnosis. This is the gap between coding accuracy and clinical justification. Another practical problem: some payers require specific modifiers alongside ICD-10 codes. The -25 modifier indicates a significant, separately identifiable evaluation and management service on the same day as a procedure. The -59 modifier distinguishes procedures that are normally not reported together but are appropriate in this specific case. I stopped trying to memorize all the modifiers and kept a small reference card in my badge. Took me about three weeks of daily use before it became second nature.
What This Cheat Sheet Won't Cover
This list is not exhaustive. It covers the codes that appear repeatedly in general outpatient and inpatient occupational therapy practice. It does not cover rare pediatric developmental codes, complex burn recovery codes, or oncology-specific codes unless they overlap with functional impairment. If your caseload leans heavily into one of those areas, you need a more specialized reference. Also, the cheat sheet does not replace the official ICD-10-CM guidelines published annually by the CDC and CMS. Those guidelines explain coding conventions, including instructions about principal diagnosis selection, multiple coding, and laterality requirements. The cheat sheet gives you the codes. The official guidelines tell you how to apply them correctly.

How to Use This Efficiently
Print the most relevant pages and keep them at your workstation. Cross-reference your patient's diagnosis with the code list before finalizing each claim. Do not wait until the end of the month when you are reviewing twenty charts at once. You will miss the subtleties. The seven-character requirement is the most common source of denials in my experience, so I always double-check the seventh character against the encounter type in the patient's record. If you are entering codes electronically, make sure your EHR system auto-populates the full seven-character code and does not truncate it to three. I spent six weeks dealing with denial codes before realizing our system was dropping the last four characters during claim submission. The fix was simple — a configuration change — but identifying the problem took longer than it should have.