Superbill CPT and ICD-10 codes by specialty: a working reference
The CPT and ICD-10 codes cash-pay practices put on superbills, by specialty, with time units, modifiers and the five errors that cause denials.
October 28, 2026 · 13 min read
A superbill needs three codes to work: a CPT code for what you did, an ICD-10-CM code for why you did it, and a place of service code for where it happened. Get any of the three wrong and the patient's claim comes back under X12 reason code 16, "Claim/service lacks information or has submission/billing error(s)," or code 50, "These are non-covered services because this is not deemed a 'medical necessity' by the payer" (x12.org). This is a working reference for the codes that show up most often on cash-pay superbills, organized by specialty, with the time units and modifiers that go with them.
Read this warning first, because it is not boilerplate. CPT is copyrighted by the American Medical Association and licensed. The AMA's own licensing page states that "The AMA holds the copyright to the CPT code set and related derivative products" and that any entity using CPT content anywhere in the world needs a license from the AMA or an authorized distributor (ama-assn.org). That is why most practice management systems, including ours, let the practice type its own codes instead of shipping a searchable CPT database. DrinCloud does not include a built-in CPT database. The clinic enters the codes. And this article is orientation, not authority: verify every code and descriptor against the current CPT book or the AMA's own listing, and verify coverage with the payer. Descriptors change, and ICD-10-CM changes every October 1.
How a code line on a superbill is built
One line, five pieces. Miss one and the line is dead.
| Piece | What it answers | Where it goes wrong |
|---|---|---|
| CPT or HCPCS code | What you did | Right family, wrong time tier |
| Units or minutes | How much of it | Blank on a timed code |
| Modifier | Why this combination is legitimate | Missing 25 or 59 on a same-day pair |
| ICD-10-CM code | Why it was medically necessary | A code that does not justify the procedure |
| Place of service | Where it happened | Telehealth billed as office |
CMS defines the place of service set and it takes ten seconds to get right: 11 is Office, 12 is Home, 02 is "Telehealth Provided Other than in Patient's Home," and 10 is "Telehealth Provided in Patient's Home" (cms.gov). A video session with a patient sitting in their own kitchen is 10. Not 11. This single field is one of the most common errors on patient-submitted out-of-network claims. If your charting system carries the place of service forward from the appointment type into the superbill it generates, you will never make this mistake again.
On the diagnosis side, CMS states that the CDC develops and maintains ICD-10-CM, that it "applies to all parties covered by the Health Insurance Portability and Accountability Act (HIPAA)," and that new codes take effect each October 1 (cms.gov). That October cycle is the trap. A diagnosis code sitting in a note template since 2023 can quietly stop being valid, and nothing in your software will tell you.
Mental health and psychotherapy
The psychotherapy codes are time-defined, and the time ranges are published. San Francisco's county behavioral health code sheet sets them out plainly (sf.gov):
| CPT | Service | Billable range for one unit |
|---|---|---|
| 90791 | Psychiatric diagnostic evaluation | 31 to 67 minutes |
| 90832 | Psychotherapy, 30 minutes | 16 to 37 minutes |
| 90834 | Psychotherapy, 45 minutes | 38 to 52 minutes |
| 90837 | Psychotherapy, 60 minutes | 53 to 67 minutes |
| 90847 | Family psychotherapy with patient present, 50 minutes | 26 to 57 minutes |
| 90853 | Group psychotherapy | 23 to 57 minutes |
What goes wrong. A 48 minute session coded 90837 is an error any reviewer can find, because 48 falls in the 90834 band. Clinicians who schedule "an hour" and run 45 to 50 minutes of face to face time should be coding 90834 most weeks. The reverse error is just as expensive: a practice that genuinely does 55 minute sessions and codes 90834 out of habit is understating the service on every superbill, which lowers the patient's reimbursement. Document start and stop times in the note, not a duration you rounded. We go deeper on the time tiers in our notes on software for a psychology practice.
Chiropractic
Chiropractic manipulative treatment is coded by the number of spinal regions treated, with a separate code for extraspinal work.
| CPT | Service |
|---|---|
| 98940 | Chiropractic manipulative treatment, spinal, fewer regions |
| 98941 | Chiropractic manipulative treatment, spinal, more regions |
| 98942 | Chiropractic manipulative treatment, spinal, five regions |
| 98943 | Chiropractic manipulative treatment, extraspinal |
Two things are documented and worth knowing. A CMS contractor coding guide states that codes 98940 to 98942 "do not represent add-on codes wherein more than one is required to report additional regions," and that "to report CMT of five spinal regions you report only code 98942 as this code includes all five regions" (cms.gov). And CMS's billing article for chiropractic services states that Medicare covers only manual manipulation of the spine to correct subluxation, that "Medicare does not cover chiropractic treatments to extraspinal regions (CPT 98943)," and that a chiropractor must add the AT modifier when providing active or corrective treatment, with claims lacking it treated as not medically necessary (cms.gov).
Get the exact region counts for 98940 and 98941 from the current CPT descriptor rather than from memory. That is the line a reviewer looks at first.
What goes wrong. Coding 98941 for every visit regardless of regions documented. Billing 98943 to a plan that excludes extraspinal manipulation. Omitting the AT modifier where the payer expects it. And a diagnosis that does not support manipulation at the region billed.
Acupuncture
The acupuncture codes are 15 minute units, split by whether electrical stimulation was used, with add-on codes for the additional time. CMS's own guidance gives the descriptors (cms.gov):
| CPT | Service |
|---|---|
| 97810 | Acupuncture, one or more needles, without electrical stimulation, initial 15 minutes of one on one contact |
| 97811 | Same, each additional 15 minutes with re-insertion of needles. Add-on code |
| 97813 | Acupuncture with electrical stimulation, initial 15 minutes of one on one contact |
| 97814 | Same, each additional 15 minutes with re-insertion. Add-on code |
That same document sets the Medicare limits for chronic low back pain: 12 visits in 90 days, 8 more for patients showing improvement, no more than 20 a year. You are not billing Medicare, but commercial plans often copy those numbers, so a patient with 30 visits on a superbill should expect a conversation.
What goes wrong. Billing 97810 and 97813 on the same date for one session, when the structure is one initial code plus add-ons. Billing an add-on without its base code. Billing a second unit of 97811 without documenting needle re-insertion, which the descriptor requires. And counting the whole appointment instead of one on one contact time: the time that counts is personal contact, not the twenty minutes the needles are retained while you are out of the room.
Physical therapy
Physical therapy evaluations are tiered by complexity. A Medicare contractor lists them with typical times (noridianmedicare.com):
| CPT | Service | Typical time |
|---|---|---|
| 97161 | Physical therapy evaluation, low complexity | 20 minutes |
| 97162 | Physical therapy evaluation, moderate complexity | 30 minutes |
| 97163 | Physical therapy evaluation, high complexity | 45 minutes |
| 97164 | Physical therapy re-evaluation of an established plan of care | not listed |
| 97165 to 97168 | The same ladder for occupational therapy | 30, 45, 60 minutes, plus re-evaluation |
The same source notes that a formal re-evaluation is performed when there is a documented change in functional status, which is the standard a reviewer applies to 97164.
The treatment codes most cash PT practices use are the timed 15 minute codes: 97110 therapeutic exercise, 97140 manual therapy, 97530 therapeutic activities. Confirm the current descriptors in the CPT book before you put them on a superbill.
What goes wrong. Units. Under Medicare's counting convention a timed 15 minute code needs at least 8 minutes of that specific service before one unit is billable, and each further unit needs roughly another 15. Not every commercial payer follows that convention, so confirm with the plan. Next: billing 97164 as a routine monthly re-check with no documented change in status. Then stacking 97110 and 97140 on the same date with no modifier and no separate documentation of each.
Nutrition and medical nutrition therapy
Medical nutrition therapy has its own small code set, with 15 minute individual units and 30 minute group units (noridianmedicare.com):
| Code | Service | Unit |
|---|---|---|
| 97802 | MNT, initial assessment and intervention, individual, face to face | each 15 minutes |
| 97803 | MNT, reassessment and intervention, individual, face to face | each 15 minutes |
| 97804 | MNT, group of two or more individuals | each 30 minutes |
| G0270 | MNT reassessment after a change in diagnosis, condition or treatment regimen, individual | each 15 minutes |
| G0271 | The same, group of two or more | each 30 minutes |
What goes wrong. Using 97802 for every visit: the initial assessment code is for the initial assessment, follow-ups are 97803. Then unit arithmetic: a 50 minute individual session is three units of 97803, not one, and billing one unit leaves most of the reimbursement on the table for your patient. Then scope: many plans pay MNT only when a registered dietitian delivers it, and a health coach billing 97802 produces a denial under X12 code 185, "The rendering provider is not eligible to perform the service billed."
Functional and integrative medicine
Here the work is usually an evaluation and management visit, and the codes are the standard office visit family: 99202 to 99205 for a new patient and 99211 to 99215 for an established one. Since 2021 these are selected either on medical decision making or on total time spent on the date of the encounter. The AMA defines 99214 as an established patient office visit requiring a medically appropriate history or examination and moderate level medical decision making, with "30-39 minutes of total time is spent on the date of the encounter" when time is the basis for selection (ama-assn.org).
What goes wrong. A practice that spends 75 minutes with a patient and codes 99214 out of habit is underselling the visit by a tier or more. The opposite error is coding by time while documenting none of it: if time is the basis for selection, the total time has to be in the note, review of records and charting included. And that time has to fall on the date of the encounter. Three hours of chart review the following week does not count.
Podiatry
Routine foot care is one of the most audited areas in coding, and the combinations matter more than the individual codes. The American Podiatric Medical Association's coding material lists the family: 11719 nail trimming, 11720 and 11721 debridement of nails, which differ by the number of nails treated, 11055, 11056 and 11057 for paring or cutting of corns and calluses, and G0127 for routine nail trimming (apma.org). The same material notes that combinations are reported with modifier 59 or XS, that 11721 is both heavily billed and a common audit target, and that an established patient evaluation and management code billed on the same day as routine foot care needs modifier 25, with an initial visit to diagnose the condition as the exception.
What goes wrong. Billing 11721 when the documented nail count belongs in 11720. Billing an E/M code and a procedure on the same date with no modifier 25 and no separate documentation of the evaluation. And routine care with no documented condition supporting it, which is the straight road to code 50.
Speech and language
The speech codes split cleanly into untimed session codes and timed codes, which is unusual and easy to get wrong. The American Speech-Language-Hearing Association lists them (asha.org):
| CPT | Service | Timing |
|---|---|---|
| 92507 | Treatment of speech, language, voice, communication or auditory processing disorder, individual | untimed, once per day |
| 92508 | The same treatment, group of two or more | untimed |
| 92521 | Evaluation of speech fluency, for example stuttering | untimed |
| 92522 | Evaluation of speech sound production | untimed |
| 92523 | Speech sound production evaluation plus language comprehension and expression | untimed |
| 92524 | Behavioral and qualitative analysis of voice and resonance | untimed |
| 92526 | Treatment of swallowing dysfunction or oral function for feeding | untimed |
| 97129 / 97130 | Cognitive intervention, initial 15 minutes and each additional 15 | timed |
ASHA adds two rules worth memorizing: 92522 and 92523 are not billed together, and a timed code is billed only when face to face time is at least 51 percent of the designated time, while an untimed code is billed once per day regardless of how long the session ran.
What goes wrong. Billing 92507 twice in a day for two sessions. Billing 92522 and 92523 on the same date. Billing 92523 for a language-only evaluation, where ASHA points to modifier 52 instead.
[CAPTURA: la pantalla de cobro con las líneas de CPT, unidades, ICD-10 y place of service introducidas a mano por la clínica]
The five errors behind most denied superbills
- Time units. The biggest category. A timed code billed as one unit for a 50 minute session, or a 48 minute session coded in the 60 minute tier. Record start and stop times and let the units follow.
- Missing modifiers. Modifier 25 for a same-day evaluation plus procedure, 59 or XS for distinct procedural services, AT on chiropractic manipulation. A correct code with a missing modifier reads as a duplicate.
- A diagnosis that does not justify the procedure. Code 50, and the hardest denial to argue, because the insurer is not saying your code is wrong, it is saying your codes do not match each other. If the note documents cervical work, the diagnosis should name the cervical problem.
- Place of service. Telehealth coded 11 instead of 10 or 02. Thirty seconds to fix before the PDF goes out, unwinnable afterward.
- Add-on codes without a base code, or a base code billed twice. Acupuncture and the timed therapy codes are both one initial code plus add-ons. Two initial codes for one session is a structural error automated edits catch every time.
Frequently asked questions
What CPT codes go on a superbill?
One CPT code per distinct service performed at the visit, with the units or minutes for each. A therapy visit is usually a single code such as 90834 or 90837. An acupuncture visit is an initial code plus add-ons. A podiatry visit may be an evaluation code plus a procedure with modifier 25. Each line needs its charge, and the superbill needs at least one ICD-10-CM diagnosis code.
Does DrinCloud include a CPT code database?
No. CPT is licensed by the AMA, so DrinCloud does not ship a searchable CPT database and the practice types its own codes into the visit. Once a code is on a service in your price list, it carries through to the superbill automatically, so you enter it once rather than every visit. The same applies to ICD-10 codes.
Can I use a superbill template with the codes already filled in?
You can prefill the codes you use every week, and you should, because typing them fresh each time is how typos happen. What you cannot do is leave them unexamined: the time tier changes with the session length, the diagnosis changes with the visit, and ICD-10-CM is revised every October 1. Our breakdown of every field a superbill template needs covers the rest of the structure.
What happens if I put the wrong code on a superbill?
The patient's claim is denied or underpaid, and the patient believes it is your fault, which is worse than a late superbill. Common outcomes are X12 code 16 for a missing or erroneous field, code 50 when the diagnosis does not support the procedure, and code 185 when the rendering provider is not eligible to perform the service billed. Correct the superbill and reissue it inside the plan's timely filing window.
Is a superbill the same as a claim?
No. A superbill is an itemized receipt written in codes. It carries no authority and triggers no adjudication. The patient attaches it to their insurer's member claim form and files it themselves, which is the point: a cash-pay practice stays out of insurance billing without abandoning patients who have out-of-network benefits. The full distinction is in what a superbill is and what patients do with it.
The bottom line
Coding on a superbill is not hard, it is unforgiving. Three codes, the right time units, the right modifier, the right place of service, and a diagnosis that actually explains the procedure. Build each service in your price list once with its code attached, record start and stop times in the note, and check the diagnosis against the procedure before the PDF leaves your office. Then verify everything here against the current CPT book, because this article is a starting point and the AMA's publication is the authority.
Our software holds the codes you type on each service and carries them into the superbill PDF it builds from the visit, along with the NPI, EIN, charges and balance from the payment you took at the counter. We do not interpret the codes for you and we do not submit claims, which is where our responsibility ends and your coder's begins.
DrinCloud is practice management for US cash-pay clinics: charting, scheduling, counter payments and superbill PDFs from $49 a month, with no clearinghouse and no CPT database, because the clinic owns its codes. See how superbills are produced or look through the full feature list.
See it in your own practice
Live in three minutes, no setup fee, cancel anytime.
