Skip to main content
The Practice
Billing operationsAugust 8, 2026

OT CPT Codes, Chosen by What You Were Actually Doing

The occupational therapy CPT codes that cover most outpatient sessions, organized by clinical intent instead of code number: evaluation complexity, the four core treatment codes, and the modifiers that ride along.

Callie Editorial 14 min read
The coding issue
CPT

Action required

Denial recovery queue

01 · Classify

Eligibility, coding, documentation

02 · Correct

Fix the root record

03 · Respond

Resubmit or appeal on time

Reason → owner → deadline → evidence → outcome

At a glance

What you’ll leave with

  • Pick treatment codes by the intent of the intervention, not the activity. The same task can support 97110, 97530, or 97535 depending on what you were training.
  • Evaluation complexity (97165–97167) is decided by the documented components — history, performance deficits, clinical decision-making — not by how long the evaluation took.
  • Modifiers and same-day code-pair edits change; confirm GO, CO, and current NCCI edits against CMS and the payer before the claim goes out.

Most occupational therapy CPT code references are organized the way a fee schedule is organized: by code number. That is exactly backwards from how coding decisions actually happen. At the end of a session you know what you did — you trained a transfer, you built standing tolerance, you taught a compensatory dressing technique — and the question is which code describes that intent. This guide organizes the codes an outpatient OT practice touches most, by the clinical intent that separates them, because that is the distinction reviewers read your note for.

The map

Two kinds of codes, two kinds of decisions

Almost every code in this article falls into one of two families, and each family asks a different question. Evaluation codes (97165–97168) are untimed: they bill as one unit for the day no matter how long the evaluation ran, and the decision they ask for is a complexity level. Treatment codes (97110, 97112, 97530, 97535, and the cognitive pair 97129/97130) are timed in 15-minute units delivered one on one, and the decision they ask for is intent — which skilled thing you were doing with those minutes. Converting timed minutes into billable units is its own discipline, covered in our Medicare 8-minute rule article; this one is about choosing the right code before any unit math starts.

1 unit

per evaluation, untimed

OT evaluation and re-evaluation codes bill once for the day regardless of duration. Their minutes never enter the timed total.

15 min

the timed treatment unit

Core treatment codes are defined in 15-minute increments of direct one-on-one contact.

8 min

before a unit exists

Under Medicare Part B, a timed service billed alone must reach at least 8 minutes (CMS Pub 100-04, Ch. 5, Sec. 20.2).

97165–97168

Evaluation codes: complexity is a documentation decision

Since 2017, OT evaluations have billed at one of three complexity levels. The level is not chosen by how long the evaluation took — the times in the descriptors are labeled typical, not required. It is chosen by three documented components: the depth of the occupational profile and medical/therapy history, the number of performance deficits identified that limit activity or participation, and the level of clinical decision-making the case demanded. CMS is explicit that each component supporting the reported level must appear in the record.

OT evaluation complexity levels (CPT 97165–97168)

CodePerformance deficitsProfile and historyClinical decision-makingTypical time
97165 — low complexity1–3Brief history; occupational profile with problem-focused assessmentLow complexity: limited treatment options considered, no comorbidities affecting occupational performance, and no task modification or assistance needed to complete the assessments30 minutes
97166 — moderate complexity3–5Expanded review of physical, cognitive, or psychosocial historyModerate complexity: several treatment options considered; comorbidities may be present, and minimal-to-moderate modification or assistance is needed to complete the assessments45 minutes
97167 — high complexity5 or moreExtensive review across physical, cognitive, and psychosocial domainsHigh complexity: multiple treatment options considered, comorbidities affect occupational performance, and significant modification or assistance is necessary to complete the assessments60 minutes
97168 — re-evaluationDocumented change in status or responseUpdate to the profile and revised findingsRevised plan of care30 minutes

The criteria are cumulative: a level is reportable only when every component in its descriptor — the history depth, the deficit count, and each element of the decision-making column — is met and documented, so the level is capped by the weakest component, not carried by the strongest. The practical failure mode is under-documenting rather than under-performing: an evaluation that genuinely weighed five deficits and multiple comorbidities, written up so briefly that the note only supports a lower code. Count the deficits you identified, name them as deficits that limit activities or participation, and let the note carry the level. A re-evaluation (97168) is not a progress note on a schedule — it is triggered by a documented change in status, or a response to therapy that warrants revising the plan.

The core four

97110, 97112, 97530, 97535: name the intent first

Four timed codes cover the bulk of OT treatment minutes, and they are genuinely hard to tell apart by watching the session. All four can involve the same objects, the same room, and even the same activity. What separates them is what the therapist was clinically working on — the parameter, the movement, the function, or the occupation itself. Ask the question in that order and the code usually announces itself.

The four core OT treatment codes, by clinical intent

CodeWhat you were actually doingHow it sounds in the note
97110 — Therapeutic exerciseTraining a body-level parameter: strength, endurance, range of motion, or flexibility.“Graded resistive reaching program to increase shoulder flexion range and endurance for overhead activity.”
97112 — Neuromuscular re-educationRetraining the quality of movement: balance, coordination, posture, proprioception, or kinesthetic sense.“Weight-shift and proprioceptive training in sitting to improve postural control following CVA.”
97530 — Therapeutic activitiesUsing a dynamic, whole-task functional activity to improve functional performance across multiple parameters at once.“Multi-step lifting and carrying tasks graded for load and distance to improve tolerance for job demands.”
97535 — Self-care/home management trainingTraining the occupation itself: ADL/IADL performance, compensatory techniques, safety procedures, or use of adaptive equipment.“Instructed in one-handed dressing technique and adaptive button hook; patient returned demonstration with setup cues.”

The kitchen makes a good test case because one setting can host all three treatment intents. Standing at the counter to build standing tolerance is 97110 — the target is endurance, and the counter is scenery. Reaching into cabinets with graded loads to improve dynamic reaching and carrying for home tasks is 97530 — the target is functional performance of a dynamic task. Preparing a simple meal while learning energy-conservation and safety techniques is 97535 — the target is the IADL itself, trained with compensatory strategies. Same room, three different skilled services, three different codes.

97129 and 97130

Cognitive interventions bill as a base-plus-add-on pair

Interventions targeting cognitive function — attention, memory, reasoning, executive function, problem solving — use a structure the other treatment codes do not. CPT 97129 covers the initial 15 minutes and is reported once per day; add-on code 97130 covers each additional 15 minutes and is only reported alongside 97129. The pair replaced the untimed code 97127 and Medicare’s G0515 in 2020, so references that predate that change point at codes that no longer exist for billing. Sessions blending cognitive work with self-care training need the minutes for each intent tracked separately.

One session, coded

A 45-minute session, mapped intent by intent

Worked application

Outpatient session after a fall, coded from the note

A fictional illustration, not a real patient: a 45-minute outpatient session with an older adult recovering from a fall, with three distinct interventions documented — 15 minutes of standing balance work, 20 minutes of meal-preparation training with energy-conservation techniques, and 10 minutes of graded resistive exercise for hip strength.

Name each intent

Standing weight-shift and reactive balance training targets postural control — 97112. Meal-preparation training using compensatory energy-conservation strategies targets the IADL itself — 97535. Graded resistive hip strengthening targets a body-level parameter — 97110. Three intents, three codes, and the note documents minutes for each.

Then, and only then, do the unit math

All three services are timed, so the day’s 45 timed minutes support 3 units under the Medicare methodology. Each code contains at most one full 15-minute block: 97112 earns one and 97535 earns one, and the remaining unit goes to the largest leftover remainder — the 10 minutes of 97110. The claim reads 1 unit each of 97112, 97535, and 97110.

What makes this defensible

The note separates the minutes by intervention and names the skilled intent of each, so the codes, the minutes, and the narrative agree. If the note had recorded only “45 minutes: balance, cooking, strengthening,” the same session would be nearly impossible to defend at this level of detail.

The common miscode

Billing the meal-preparation block as 97530 because it was “an activity.” The intervention trained an IADL with compensatory techniques, which is the 97535 descriptor almost word for word. 97530 would describe a dynamic task used to build underlying functional performance — a different clinical story than the one this note tells.

On the claim line

The modifiers that ride along with OT codes

Choosing the right code is half the claim line; the other half is the modifiers Medicare and many other payers expect. The GO modifier marks a service furnished under an outpatient occupational therapy plan of care, and it belongs on every service on CMS’s therapy code list billed under an OT plan — including the evaluation codes. The CO modifier is narrower than “an OTA was involved”: under Medicare’s de minimis standard it applies when an occupational therapy assistant independently furnishes more than 10 percent of a service, with unit-by-unit rules for timed codes — including full-unit and final-unit cases — worked through in CMS’s published billing examples. Services billed with CO are paid at 85 percent of the otherwise applicable Part B amount, which is exactly why applying it more broadly than the policy requires leaves money on the table. CMS publishes the therapy code list and the OTA billing examples, and both are worth bookmarking rather than memorizing.

Before the claim goes out

The pre-claim check for an OT visit

None of the distinctions above survive an audit unless the note carries them. This checklist is the article in operational form — the same questions a payer reviewer will ask of the chart, asked before the claim leaves the building.

Field checklist

08 items

Code-selection checklist for an OT claim

  • Every timed code on the claim maps to an intervention whose skilled intent is named in the note.
  • Minutes are documented per intervention, plus total timed minutes and total treatment time for the visit.
  • Evaluation claims report the complexity level the documented components support — profile and history depth, counted performance deficits, and clinical decision-making.
  • A re-evaluation (97168) is supported by a documented change in status or response to therapy, not just the calendar.
  • Cognitive intervention time is reported as 97129 once per day plus 97130 add-ons, with minutes tracked separately from other intents.
  • The GO modifier is on every service furnished under the OT plan of care, and CO is applied only where an OTA independently furnished more than the 10 percent de minimis share of a service, checked against CMS’s current billing examples.
  • Same-day code pairs were checked against the current CMS NCCI edit files, and any bypass modifier is backed by documentation of distinct services.
  • Units reconcile with the payer’s counting method — Medicare’s 8-minute rule or the CPT midpoint convention — confirmed per payer, not assumed.

The activity is what the session looked like. The code is what the session was for — and the note is the only place that difference exists.

Quick answers

Occupational therapy CPT codes FAQ

What is the difference between 97110 and 97530?

97110 trains a body-level parameter — strength, endurance, range of motion, or flexibility — while 97530 uses a dynamic, whole-task functional activity to improve functional performance across several parameters at once. The setting does not decide it; the documented intent does. Reaching drills to build shoulder range are 97110 even if a cabinet is involved, and graded lifting-and-carrying tasks for job tolerance are 97530 even though lifting also builds strength.

When should an OT use 97535 instead of 97530?

97535 is for training the occupation itself: ADL or IADL performance, compensatory techniques, safety procedures, or use of adaptive equipment, delivered one on one. If the patient is learning to perform a daily task — dressing with a button hook, preparing a meal with energy conservation — the descriptor points to 97535. If a functional task is being used as the vehicle to build underlying performance, the story is 97530.

How do I choose between 97165, 97166, and 97167 for an OT evaluation?

By the documented components, not the clock: the depth of the occupational profile and history review, the number of identified performance deficits limiting activity or participation (1–3 low, 3–5 moderate, 5 or more high), and the complexity of clinical decision-making. The 30, 45, and 60 minutes in the descriptors are typical times, not thresholds, and CMS expects each component supporting the reported level to appear in the record.

Are OT evaluation codes timed?

No. 97165–97168 are untimed codes that bill as one unit for the date of service regardless of duration, and their minutes stay out of the timed total. The timed treatment codes furnished the same day still go through the unit math separately, so an evaluation plus 25 minutes of therapeutic exercise bills as the evaluation plus two units of 97110 under Medicare counting.

Can 97110 and 97530 be billed in the same session?

Often yes, when the note documents each service’s distinct skilled intent and separate minutes — but same-day combinations are subject to National Correct Coding Initiative edits that change quarterly, and some pairs require a bypass modifier supported by documentation. Check the current NCCI procedure-to-procedure files on CMS.gov and the payer’s own policy rather than relying on a remembered rule.

What happened to CPT 97127 for cognitive treatment?

It was replaced for most billing purposes in 2020, along with Medicare’s G0515, by the timed pair 97129 and 97130: 97129 covers the initial 15 minutes and is reported once per day, and add-on 97130 covers each additional 15 minutes on the same date. References that still recommend 97127 or G0515 predate that change.

Primary sources

Bibliography / 10
  1. 01Billing and Coding: Outpatient Physical and Occupational Therapy Services (A57067)Centers for Medicare & Medicaid Services, Medicare Coverage Database
  2. 02Billing and Coding: Therapy Evaluation Coding (A55367)Centers for Medicare & Medicaid Services, Medicare Coverage Database
  3. 03Medicare Claims Processing Manual, Chapter 5 (Pub 100-04)Centers for Medicare & Medicaid Services
  4. 04Therapy Services: Billing Examples Using CQ/CO Modifiers for Services Furnished by PTAs and OTAsCenters for Medicare & Medicaid Services
  5. 05National Correct Coding Initiative (NCCI) EditsCenters for Medicare & Medicaid Services
  6. 06CPT Code 97110: Therapy Procedure Using Exercise, Each 15 MinutesAmerican Medical Association
  7. 07New Occupational Therapy Evaluation Coding OverviewAmerican Occupational Therapy Association
  8. 08Frequently Used CPT and HCPCS Codes for Occupational Therapy (2026)American Occupational Therapy Association
  9. 09New Cognitive Function Intervention Code for 2020American Occupational Therapy Association
  10. 10ModifiersAmerican Occupational Therapy Association

Written by Callie Editorial

Published August 8, 2026

Educational content, not legal, billing, or patient-specific clinical advice.