Dispute My Medical Bill
Back to Blog
Understanding Bills 10 min read

Medical Billing Codes Explained: CPT, ICD-10, and HCPCS Demystified

Understanding billing codes is the key to catching overcharges. Learn what CPT, ICD-10, and HCPCS codes mean and how to use them to verify your bill.

Dispute My Medical Bill Editorial Team

Reviewed by patient advocacy professionals · About Us

Educational Content: This article is for informational purposes only and does not constitute legal or medical advice. Laws and regulations may have changed since publication. Consult a qualified professional for your specific situation.

The Secret Language of Your Medical Bill

Medical billing codes are the language that hospitals, doctors, and insurance companies use to describe and price every medical service. There are over 80,000 diagnosis codes and 10,000 procedure codes in use today. Understanding even a fraction of them gives you an enormous advantage when reviewing your bill — because billing errors almost always involve incorrect codes, and if you can identify the wrong code, you can prove the overcharge.

I think of billing codes as the DNA of your medical bill. Every charge on your itemized statement has a code attached to it, and that code determines what you are being charged for and how much. When I review a client's bill, the codes are the first thing I look at. They tell me whether the bill is accurate, inflated, or outright fraudulent.

You do not need to memorize thousands of codes. You just need to understand the three main coding systems and know how to look up the codes on your own bill.

The Three Main Coding Systems

CPT Codes (Current Procedural Terminology)

CPT codes are the most important codes on your bill. They describe the specific medical procedures and services you received. CPT codes are five-digit numbers maintained by the American Medical Association (AMA).

CPT Code RangeCategoryExamples
99201-99499Evaluation & Management (E/M)Office visits, ER visits, hospital stays
10000-69999SurgeryAll surgical procedures
70000-79999RadiologyX-rays, CT scans, MRIs, ultrasounds
80000-89999Pathology & LaboratoryBlood tests, urinalysis, biopsies
90000-99199MedicineInjections, immunizations, infusions

The E/M codes (99201-99499) are where most billing errors occur. These codes describe the complexity of your visit, and they are tiered by level. For example:

99281 — Level 1 ER visit (minor problem, minimal exam)

99282 — Level 2 ER visit (low complexity)

99283 — Level 3 ER visit (moderate complexity)

99284 — Level 4 ER visit (high complexity)

99285 — Level 5 ER visit (critical, life-threatening)

The difference in cost between a Level 3 and Level 5 ER visit can be $2,000 or more. Upcoding — billing for a higher level than warranted — is one of the most common and expensive billing errors.

ICD-10 Codes (International Classification of Diseases, 10th Revision)

ICD-10 codes describe your diagnosis — the medical reason for your visit. These are alphanumeric codes that can be very specific. For example:

J06.9 — Acute upper respiratory infection (common cold)

S93.401A — Sprain of unspecified ligament of right ankle, initial encounter

I21.0 — Acute ST elevation myocardial infarction of anterior wall (heart attack)

W61.33XA — Pecked by a chicken, initial encounter (yes, this is a real code)

ICD-10 codes matter for billing because they justify the medical necessity of the services you received. If the diagnosis code does not match the procedure code, your insurance may deny the claim. For example, if your diagnosis is "common cold" but you were billed for a CT scan of the chest, the insurance company may question whether the CT scan was medically necessary.

How ICD-10 codes affect your bill:

An incorrect diagnosis code can cause your claim to be denied

A more severe diagnosis code can be used to justify higher-level (more expensive) procedure codes

Some diagnosis codes trigger automatic coverage by insurance, while others do not

HCPCS Codes (Healthcare Common Procedure Coding System)

HCPCS codes (pronounced "hick-picks") cover items not included in CPT codes, primarily:

Durable medical equipment — (wheelchairs, crutches, oxygen equipment)

Medications and drugs — administered in a clinical setting

Ambulance services

Medical supplies — (bandages, splints, IV supplies)

HCPCS codes start with a letter followed by four digits (e.g., A4253 for blood glucose test strips, J0129 for an injection of abatacept).

Where HCPCS overcharges hide: Supply and medication markups are often extreme. A hospital might charge $500 for a bag of IV saline (HCPCS code J7050) that costs them about $1. Knowing the HCPCS code allows you to look up the Medicare reimbursement rate and compare it to what you were charged.

How to Use Billing Codes to Check Your Bill

Step 1: Get Your Itemized Bill With Codes

Call the billing department and request an itemized bill that includes all CPT, ICD-10, and HCPCS codes. The summary statement you received does not include this information.

Step 2: Look Up Each CPT Code

You can look up CPT codes on several free resources:

CMS Physician Fee Schedule — (cms.gov) — shows what Medicare pays for each code

Fair Health Consumer — (fairhealthconsumer.org) — shows average costs by ZIP code

AAPC Code Lookup — (aapc.com) — provides code descriptions

For each code on your bill, note:

What the code describes (does it match what you remember?)

What Medicare pays for that code in your area

How your charge compares to the Medicare rate

Step 3: Check for Common Code-Based Errors

Upcoding: Is the E/M level appropriate for your visit? A routine office visit should be Level 2-3 (99212-99213), not Level 4-5 (99214-99215). An ER visit for a minor issue should be Level 2-3 (99282-99283), not Level 4-5 (99284-99285).

Unbundling: Some procedures should be billed together under a single code. If you see multiple codes for what seems like one procedure, check the National Correct Coding Initiative (NCCI) edits to see if those codes should be bundled.

Incorrect modifiers: CPT codes can have two-digit modifiers that change their meaning. For example, modifier -50 indicates a bilateral procedure (performed on both sides). If you had surgery on one knee but the code has a bilateral modifier, you are being charged double.

Wrong code entirely: Sometimes the wrong CPT code is entered due to a typo or clerical error. A code for a complex surgical procedure might be entered when you had a simple office visit. Always verify that the code description matches the service you received.

Step 4: Verify the Diagnosis Codes

Check that the ICD-10 diagnosis codes on your bill match your actual condition. If you went to the doctor for a sore throat and the bill lists a diagnosis code for a cardiac condition, something is wrong. Incorrect diagnosis codes can also affect your medical record and future insurance coverage.

Real-World Example: How Codes Revealed a $6,000 Overcharge

A client came to me with a $9,200 bill for outpatient shoulder surgery. Here is what the itemized bill showed:

CPT CodeDescriptionCharge
29827Arthroscopic rotator cuff repair$4,500
29826Arthroscopic acromioplasty$2,200
29822Arthroscopic debridement, limited$1,800
99284Level 4 E/M (pre-op evaluation)$700

When I looked up these codes, I found two problems:

1.

**Unbundling:** CPT codes 29826 and 29822 are commonly bundled with 29827 when performed during the same surgical session. The NCCI edits confirm that these codes should not be billed separately when the rotator cuff repair is the primary procedure. This was a $4,000 overcharge.

2.

**Upcoding the pre-op evaluation:** A routine pre-operative evaluation for a scheduled surgery is typically Level 2-3, not Level 4. The Level 4 code added approximately $300 to the bill.

After disputing these codes with the hospital, the bill was reduced from $9,200 to $5,100 — a $4,100 reduction based entirely on coding errors.

Resources for Looking Up Codes

CMS Physician Fee Schedule Lookup: — Search for any CPT code and see what Medicare pays in your area

AAPC Code Lookup Tool: — Free descriptions of CPT and ICD-10 codes

Fair Health Consumer: — Cost estimates by ZIP code and procedure

ICD10Data.com: — Searchable database of all ICD-10 diagnosis codes

NCCI Coding Edits: — Check which CPT code pairs should be bundled

Key Takeaways

Three coding systems matter: — CPT (procedures), ICD-10 (diagnoses), and HCPCS (supplies and drugs)

Upcoding is the most common billing error — verify that the E/M level matches the complexity of your visit

Unbundling inflates bills — by charging separately for procedures that should be billed together

Always request an itemized bill with codes — the summary statement does not include this critical information

Look up your CPT codes — on the CMS fee schedule to see what Medicare pays — this is your fair price benchmark

Verify diagnosis codes — match your actual condition — incorrect codes can cause claim denials

You do not need to be a coding expert — just knowing the basics can save you thousands

Coding errors account for a significant portion of the 80% of bills that contain mistakes

Ready to Take Action?

Use our free tools to fight your medical bill today.