+1 (214) 432-7568 info@fastoramedicalbilling.com Mon–Fri, business hours (CT)
HIPAA & HITECH-aligned workflows
Billing Basics

CPT vs HCPCS vs ICD-10: What Each Code Set Does in Medical Billing

  • fastoramedicalbillingsolutions@gmail.com
  • 8 min read
CPT vs HCPCS vs ICD-10: What Each Code Set Does in Medical Billing

Every medical claim tells the payer a short story — who the patient is, why they were seen, what was done, what was used — and that story is told in code. A single claim can carry CPT, ICD-10, and HCPCS codes side by side, each doing a different job.

New practice owners often lump them together as “billing codes,” which is understandable but risky. Using the wrong code set for a line item, pairing a procedure with a diagnosis that does not support it, or leaving a separately billable supply off the claim are common ways clean-looking claims turn into denials. This guide explains what each code set does, how they differ, and how they work together on a real claim.

The one-sentence version

Code setAnswers the questionReports
CPTWhat was done?Physician and outpatient services and procedures
ICD-10-CMWhy was it needed?Diagnoses, symptoms, and conditions
HCPCS Level IIWhat was used?Supplies, drugs, equipment, ambulance, and some non-physician services

CPT: what the doctor did

CPT stands for Current Procedural Terminology. Maintained by the American Medical Association, it is the code set payers use to understand the work the provider performed.

CPT codes are five digits, all numeric — 99213 for an established-patient office visit, 20610 for an aspiration of a major joint, 96372 for an office injection. The set covers office visits, surgeries, diagnostic tests, therapies, and most services a physician or qualified provider performs. The three categories are Category I (widely performed procedures — nearly everything on a professional claim), Category II (performance measurement), and Category III (emerging technologies).

CPT updates take effect each January 1, with codes added, revised, and deleted. Deleted codes are a quiet source of denials: a code that paid cleanly in December can be retired in January, and claims that keep using it get rejected. Keeping the charge master and encounter templates current each year is one of the simplest denial-prevention habits a practice can build.

ICD-10-CM: why the visit happened

ICD-10-CM is the diagnosis code set — the clinical modification of the International Classification of Diseases, 10th revision, used in the United States. It is maintained by the CDC’s National Center for Health Statistics together with CMS.

ICD-10-CM codes are three to seven alphanumeric characters: M54.5 for low back pain, E11.65 for type 2 diabetes with hyperglycemia, Z00.00 for a general adult exam without abnormal findings. They capture not just diseases but symptoms, injuries, health-status factors, and reasons for the encounter. The diagnosis establishes medical necessity — the payer’s requirement that the service was appropriate for the patient’s condition.

One point of confusion: ICD-10-PCS, the procedure coding system in the same revision, is used only by hospitals for inpatient procedures — never on a professional claim. In a billing context, “ICD-10” almost always means ICD-10-CM, the diagnosis side.

ICD-10-CM updates take effect each October 1. Like CPT, the set gains and retires codes, so the new code book must be in place before the effective date — not discovered mid-October through rejections.

HCPCS Level II: what was used

HCPCS — the Healthcare Common Procedure Coding System, maintained by CMS — has two levels, which is where the naming gets confusing. HCPCS Level I is simply the CPT code set; when people say “HCPCS codes” they mean HCPCS Level II.

Level II codes are alphanumeric: one letter followed by four digits. They cover what CPT does not — durable medical equipment, prosthetics, orthotics, medical and surgical supplies, ambulance services, certain injectable drugs, and some non-physician services. J1100 for a dexamethasone injection, E0110 for crutches, and A0429 for ambulance transport are familiar examples.

Drugs are the most financially important part of this set for many practices. An in-office injection has two billable pieces: the administration (CPT 96372) and the drug itself (HCPCS J-code J1100). Billing only the administration leaves the drug’s revenue off the claim; billing the drug without the administration code looks incomplete. Both pieces belong on the claim, in the right sets.

HCPCS Level II updates quarterly — which makes it the most frequently changing of the three sets. Units matter too: J-codes bill in defined increments, so the units billed must match the amount actually given.

How the three work together on one claim

One visit with all three code sets at work: a patient comes in with persistent low back pain, and the physician examines her, adjusts her care plan, and gives a dexamethasone injection in the office.

  • The visit itself is coded in CPT: 99213, an established-patient office visit.
  • The reason is coded in ICD-10-CM: M54.5, low back pain — the diagnosis that justifies the visit and the injection.
  • The injection has two parts: the administration in CPT (96372) and the drug in HCPCS Level II (J1100, dexamethasone).
  • M54.5 is attached to each line, telling the payer why each service was medically necessary.

CPT never said why the patient was there, ICD-10 never said what was done, and HCPCS never described the visit. The payer needs all three perspectives — and each line needs the right kind of code, or the line fails.

Where code-set confusion turns into denials

Most code-set mistakes fall into a few patterns:

  • Diagnosis and procedure do not match. The payer checks whether the ICD-10-CM diagnosis supports the CPT/HCPCS procedure as medically necessary — and denies the line when it does not. Coverage policies publish which diagnoses support which procedures, so checking the pair before submission prevents this.
  • The wrong set for the item. Billing a supply under a CPT code, or an office procedure under a HCPCS code, produces a line the payer cannot price — drugs without their J-code, or J-codes without the administration CPT code, are the classic version.
  • PCS codes on professional claims. ICD-10-PCS belongs to inpatient facility billing. It has no place on a professional claim, and lines coded that way will not process.
  • Stale codes after annual updates. A deleted CPT or ICD-10-CM code submitted after its retirement date rejects immediately. The January CPT update and the October ICD-10 update are the two dates every billing calendar should flag.
  • Modifier problems on top of code problems. Even when the code set is right, the line can still need a modifier to tell the payer the full story — a distinct service, a bilateral procedure, a discontinued attempt. Modifiers attach to CPT and HCPCS codes to refine what the base code says.

Deliberately choosing a higher-paying code than the documentation supports is a separate, more serious problem — upcoding carries compliance consequences well beyond a denied claim. The discipline is the same: code what the documentation supports, in the right set, and nothing more.

For the broader denial-prevention routine these habits plug into, see our guide to reducing claim denials.

Keeping the code sets straight in your practice

A few disciplines cover most of the risk: update the charge master and templates for the January CPT changes and the October ICD-10 changes, and spot-check HCPCS additions each quarter if the practice bills drugs or supplies. Make sure documentation states the diagnosis clearly enough to support every procedure — vague notes produce vague coding, and that produces denials. Give coders a direct line to clinicians for ambiguous encounters — a thirty-second question before submission beats a thirty-day appeal. Run a periodic coding review: an outside look at a sample of claims catches the mismatches and stale codes routine misses.

Frequently asked questions

What is the difference between CPT and ICD-10?

CPT codes describe the services and procedures performed; ICD-10-CM codes describe the patient’s diagnoses. Every claim needs both: the procedure code says what was done, and the diagnosis code explains why it was medically necessary. One cannot replace the other.

Are HCPCS and CPT the same thing?

Partly. HCPCS Level I is the CPT code set itself. What people usually mean by “HCPCS codes” is HCPCS Level II — the alphanumeric codes for supplies, drugs, equipment, ambulance, and non-physician services that CPT does not cover.

Who maintains each code set?

The AMA maintains CPT; the CDC’s National Center for Health Statistics and CMS maintain ICD-10-CM; CMS maintains HCPCS Level II. Because three bodies own them, updates land on different schedules: CPT annually in January, ICD-10-CM annually in October, HCPCS Level II quarterly.

Do I need all three code sets on every claim?

Not every claim uses all three. Nearly every claim uses CPT and ICD-10-CM; HCPCS Level II appears only when the visit involved something it covers — an injectable drug, equipment, supplies, or ambulance transport. A visit with no supplies may carry only CPT and ICD-10-CM codes.

What happens if the diagnosis does not support the procedure?

The payer denies the claim for lack of medical necessity — one of the most common denial reasons in outpatient billing. The fix is on the front end: code the diagnosis specifically, verify the diagnosis-procedure pair against the payer’s coverage policies, and make sure the documentation supports what was coded.

The bottom line

CPT, ICD-10, and HCPCS are three separate languages that share one claim form. CPT says what was done, ICD-10 says why it was needed, and HCPCS Level II says what was used. Practices that keep the three straight — current code sets, matched diagnosis-procedure pairs, complete drug and supply billing — submit cleaner claims and spend far less time fighting denials.

If coding mismatches and medical-necessity denials are showing up in your reports, a focused review of a sample of claims usually finds the pattern. Fastora’s free billing assessment looks at exactly that: where revenue is leaking in coding and claims, and what it would take to fix it.

1 comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

Ready to simplify your medical billing?

Talk with Fastora about your billing workflow, revenue cycle challenges, claims, denials and accounts receivable needs.

Call Free Billing Assessment