United States

US Medical Billing Β· 9 min read

CPT, HCPCS, ICD-10, DRG and Revenue Codes Explained

Almost every billing dispute traces back to a code. Five systems appear on US bills, each answering a different question β€” what was done, with what, why, in which department, and under which payment bundle. Once you can read them, you can audit your own bill.

The five systems at a glance

SystemFormatAnswersNotes
CPT5 digits (e.g. 99213)What the clinician didAMA-maintained procedure and service codes
HCPCS Level IILetter + 4 digits (e.g. J1885)Drugs, supplies, equipment, ambulanceCMS-maintained, used where CPT has no code
ICD-10-CMLetter + digits (e.g. E11.9)Why it was done β€” the diagnosisJustifies medical necessity of the CPT code
MS-DRG3 digits (e.g. 470)How an inpatient stay is paidOne bundled payment for the whole admission
Revenue code4 digits (e.g. 0450)Where in the hospital it happenedDepartment/cost centre on a UB-04 hospital bill

CPT: what was done

Current Procedural Terminology codes are maintained by the American Medical Association and describe procedures and services.[1] Ranges worth recognizing:

  • 99202–99215 β€” office visits, new and established patients.
  • 99281–99285 β€” emergency department visit levels 1–5.
  • 10004–69990 β€” surgery.
  • 70010–79999 β€” radiology.
  • 80047–89398 β€” pathology and laboratory.
  • 90281–99607 β€” medicine, vaccines, infusions.

Office and ER visit levels are driven by complexity and time. A level 4 or 5 attached to a ten-minute visit is the single most checkable error on a bill.

Modifiers change everything

Two-character suffixes attached to a CPT code alter how it's paid:

  • -25 β€” a separate, significant E/M service on the same day as a procedure. Heavily abused; it converts one visit into two charges.
  • -59 β€” distinct procedural service, used to bypass bundling rules.
  • -26 / -TC β€” professional vs. technical component (the radiologist vs. the machine).
  • -50 β€” bilateral procedure.
  • -76 / -77 β€” repeat procedure by same or different provider.
  • -GA β€” a waiver of liability notice is on file.

If you see modifier -25 or -59 on your bill, ask the provider to explain in writing what separate service it represents.

HCPCS Level II: drugs, supplies and equipment

CMS maintains HCPCS Level II for items CPT doesn't cover: injectable drugs (J-codes), durable medical equipment (E-codes), ambulance (A-codes), and supplies.[2] Drug codes are billed by unit, and unit errors are a classic overcharge β€” verify the dose you received against the units billed.

ICD-10-CM: why it was done

Diagnosis codes justify the procedure. If the ICD-10 code doesn't support the CPT code, the claim is denied as not medically necessary β€” and the fix is usually a corrected code, not an appeal about the treatment.[3] Check the diagnosis on your EOB: a wrong diagnosis code can also follow you into future underwriting and records.

DRG: how inpatient stays are paid

For an admitted patient, Medicare and many commercial payers pay a single bundled amount based on the Medicare Severity Diagnosis Related Group, derived from the principal diagnosis, procedures, complications and comorbidities.[4] Two consequences matter to patients: the itemized charges may total far more than the hospital is actually paid, and "DRG creep" β€” coding a stay into a higher-severity group β€” inflates cost sharing on percentage-based plans.

Also check your admission status. "Observation" is outpatient even after an overnight stay, and it is billed under different rules than inpatient admission.

Revenue codes: where it happened

Hospital bills (form UB-04) group charges by four-digit revenue code β€” 0250 pharmacy, 0300 laboratory, 0320 radiology, 0360 operating room, 0450 emergency room, 0636 drugs requiring detailed coding. Revenue codes tell you which department generated a charge, which is how you catch a lab charge on a date you weren't in the hospital.

How to check a code yourself

  1. Request the fully itemized bill β€” summary bills hide codes.
  2. Look up each CPT/HCPCS code's descriptor and confirm it matches what happened.
  3. Compare the charge to Medicare's rate for the same code and locality using the CMS Physician Fee Schedule lookup β€” a defensible benchmark in any negotiation.[5]
  4. Check units and dates on every drug and supply line.
  5. Match the codes on the bill to the codes on your EOB; they must agree.

Coding errors worth hunting

  • Upcoding β€” a higher-level visit or severity than documented.
  • Unbundling β€” billing components separately that have a single combined code.
  • Duplicate lines β€” the same code and date billed twice without a repeat modifier.
  • Unit errors β€” 100 units of a drug where 10 were given.
  • Wrong date of service β€” charges after discharge.
  • Mismatched diagnosis β€” an ICD-10 code unrelated to your care.

Sources

  1. [1]American Medical Association β€” CPT (Current Procedural Terminology) overview
  2. [2]CMS β€” HCPCS Level II coding
  3. [3]CDC / National Center for Health Statistics β€” ICD-10-CM classification of diseases
  4. [4]CMS β€” MS-DRG classification and Inpatient Prospective Payment System
  5. [5]CMS β€” Physician Fee Schedule lookup

Not sure what your bill actually says?

Upload it and get a plain-English breakdown of every charge in about 30 seconds.

Analyze my medical bill
← Back to US Medical Billing

Educational information only. This article is not legal, medical, or financial advice.