Understanding Medical Billing Codes: CPT, ICD-10, and How They Affect Your Bill
Decode your medical bill. Learn CPT codes, ICD-10 diagnosis codes, HCPCS codes, and how Medicare rates work.
Your medical bill is filled with mysterious numbers and abbreviations: 99214, 70450, 80053, E11.9. These are medical billing codes, and they're the foundation of your entire bill. Understanding them is key to catching errors, comparing prices, and negotiating your bill successfully.
Here's the problem: medical coding is intentionally obscure. The healthcare industry has created a labyrinthine system of codes that only insiders understand. It's by design. When patients can't decode their bills, they're less likely to question them.
But you can learn to read these codes. In this guide, we'll decode the most important medical billing codes and show you exactly how they translate to charges on your bill.
The Four Types of Medical Billing Codes
Medical bills use four main types of codes. Here's what each means:
1. CPT Codes (Current Procedural Terminology)
What it is: A five-digit code that describes a specific medical procedure, service, or test.
Examples:
- 99213 = Office visit, established patient, straightforward to moderate complexity
- 70450 = CT scan of head/brain
- 80053 = Comprehensive metabolic panel (blood test)
- 99285 = Emergency room visit, high complexity
Why it matters: The CPT code determines the base charge for a service. More complex codes cost more. Billing you for a more complex code than you received (upcoding) directly increases your bill.
How to use it: Look up the code on Medicare.gov to:
- Understand what the code actually describes
- See what Medicare pays for it nationally
- Compare your charge to the Medicare rate
2. ICD-10 Codes (International Classification of Diseases)
What it is: A diagnostic code that identifies the medical condition being treated.
Examples:
- E11.9 = Type 2 diabetes without complications
- I10 = Essential (primary) hypertension
- M54.5 = Low back pain
- R50.9 = Fever, unspecified
Why it matters: ICD-10 codes don't directly determine your bill (CPT codes do), but they affect:
- Whether certain procedures are medically necessary
- What your insurance will pay
- Whether you're being billed for appropriate services
How to use it: If you question a service, check the ICD-10 code. Does it match your actual diagnosis? If you were charged for treating diabetes but your code is for a heart condition, something's wrong.
3. HCPCS Codes (Healthcare Common Procedure Coding System)
What it is: A billing code for supplies, drugs, and some services not covered by CPT codes.
Examples:
- J1100 = Injection, dexamethasone sodium phosphate
- L3010 = Foot orthosis
- A4253 = Blood glucose test strips
- E1390 = Oxygen concentrator, stationary
Why it matters: HCPCS codes price medical supplies and drugs. If you're being charged for supplies you didn't receive, these codes will reveal it.
How to use it: Look up the code and description. Verify you actually received that supply or drug.
4. Revenue Codes (Hospital Billing Codes)
What it is: A code used by hospitals to categorize where charges come from (facility charges, not procedure charges).
Examples:
- 0100 = Room and board (general)
- 0270 = Operating room
- 0260 = Intensive care unit
- 0300 = Laboratory
- 0400 = Imaging/Radiology
Why it matters: Revenue codes identify facility charges versus provider charges. They help you understand what part of your bill is the physical facility versus the doctor's service.
How to use it: If you see charges under 0270 (OR) but your service didn't involve surgery, that's a red flag.
How to Decode Your Bill
If you need help understanding the overall layout of your bill before diving into codes, start with our guide on how to read a medical bill. Your itemized bill should list, for each charge:
| Item | Code | Code Type | Description | Quantity | Unit Price | Total |
|---|---|---|---|---|---|---|
| Office Visit | 99213 | CPT | Est. patient, moderate | 1 | $150 | $150 |
| Blood Work | 80053 | CPT | Comprehensive panel | 1 | $75 | $75 |
| Diabetes Management | E11.9 | ICD-10 | Type 2 diabetes | — | — | (included) |
Here's how to decode this:
Step 1: Identify the code type (CPT, ICD-10, HCPCS, or Revenue) Step 2: Look up the code (we'll show you how below) Step 3: Verify the description matches what you received Step 4: Compare the charge to fair market rates Step 5: Check if the code is appropriate for your diagnosis (ICD-10)
Looking Up CPT Codes: Your Essential Guide
CPT codes are the most important for your bill. Here's exactly how to look them up:
Method 1: Medicare.gov Physician Fee Schedule
This is the official, free way to look up what Medicare pays for CPT codes.
Steps:
- Go to cms.gov/Medicare/Physician-Fee-Schedule
- Search by CPT code number
- Select your state/region
- View the Medicare reimbursement rate for that code
What you'll see:
- Work RVU (Relative Value Unit) – how complex the service is
- Practice expense RVU – facility and staff costs
- Malpractice RVU – malpractice insurance cost
- Total Medicare Payment – what Medicare actually pays
Example: CPT 99213 (office visit, established patient, moderate complexity) in California might pay Medicare $75. If you're being charged $300, that's 4x the Medicare rate and a red flag.
Method 2: Check Your Insurance Explanation of Benefits (EOB)
If you have insurance, your EOB shows:
- The CPT code used
- What the provider charged (chargemaster price)
- What's allowed for that code
- What insurance paid
- Your responsibility
Compare your bill to the EOB. If there's a discrepancy, that's a negotiating point.
Method 3: Medical Code Lookup Websites
Several websites let you search CPT codes:
- CPTCodeLookup.com – simple search tool
- FindACode.com – searchable database
- AAPC (American Academy of Professional Coders) – comprehensive but requires subscription for full details
Common CPT Codes You'll See and What They Cost
Here are the most common codes you'll encounter on medical bills, with approximate Medicare reimbursement rates. For a broader look at what procedures typically cost across the healthcare system, see our guide on how much healthcare costs in the US.
Office Visits
| Code | Description | Complexity | Typical Medicare Rate |
|---|---|---|---|
| 99201 | New patient, office | Minimal | $50-75 |
| 99203 | New patient, office | Moderate | $100-150 |
| 99205 | New patient, office | High | $200-250 |
| 99213 | Established patient, office | Moderate | $50-80 |
| 99215 | Established patient, office | High | $100-150 |
If you're charged $300 for a routine office visit, that's upcoding.
Emergency Room Visits
| Code | Description | Complexity | Typical Medicare Rate |
|---|---|---|---|
| 99281 | ER visit | Minor | $100-150 |
| 99283 | ER visit | Moderate | $300-500 |
| 99285 | ER visit | High | $800-1,500 |
ER bills are often inflated. Compare your actual complexity to the code used.
Common Lab Tests
| Code | Test | Typical Medicare Rate |
|---|---|---|
| 80053 | Comprehensive metabolic panel | $30-75 |
| 85025 | Complete blood count | $15-30 |
| 80061 | Lipid panel | $20-40 |
| 83615 | Glucose test | $5-10 |
| 82000 | Prothrombin time | $10-15 |
If a single lab test is billed at $500, that's either a markup or an error.
Common Imaging Tests
| Code | Test | Typical Medicare Rate |
|---|---|---|
| 70450 | CT head/brain | $300-600 |
| 71046 | Chest X-ray | $75-150 |
| 73600 | Ankle X-ray | $25-50 |
| 76700 | Abdominal ultrasound | $100-200 |
| 93000 | EKG (12-lead) | $15-30 |
Note: These are technical component costs (the actual test). Interpretation is a separate code.
Surgical Codes
| Code | Procedure | Typical Medicare Rate |
|---|---|---|
| 28296 | Foot surgery, complex | $800-1,200 |
| 47562 | Gallbladder removal, laparoscopic | $1,500-2,500 |
| 66984 | Cataract surgery with implant | $1,000-1,500 |
| 99213 | Post-op office visit | $50-80 |
Note: These are approximate and vary by region. Actual rates are on Medicare.gov.
How Medicare Rates Are Calculated: RVUs Explained
Medicare doesn't pay a flat rate for CPT codes. Instead, it calculates payment based on Relative Value Units (RVUs), which measure the complexity and resource intensity of each service.
Formula:
Medicare Payment = (Work RVU + Practice Expense RVU + Malpractice RVU) × Geographic Adjustment Factor × Conversion Factor
What each component means:
Work RVU
Measures the physician's work:
- Time spent with patient
- Complexity of decision-making
- Stress level
Example: A complex surgery has a higher work RVU than a routine office visit.
Practice Expense RVU
Measures facility and staff costs:
- Rent/facility
- Equipment
- Staff (nurses, techs)
Example: An imaging test has a high practice expense RVU (expensive equipment).
Malpractice RVU
Accounts for malpractice insurance:
- Higher-risk procedures cost more
Example: Surgery has a higher malpractice RVU than an office visit.
Geographic Adjustment Factor
Adjusts for regional cost differences:
- New York City has higher rates than rural areas
- Hospitals have different adjustments than outpatient clinics
Conversion Factor
The multiplier that converts RVU points to dollars. In 2026, it's approximately $33-36 depending on specialty.
Example calculation:
- CPT 99215 (complex office visit) might have 2.5 Work RVU + 1.2 Practice Expense RVU + 0.1 Malpractice RVU = 3.8 Total RVU
- 3.8 RVU × $34 conversion factor = ~$129 Medicare payment
- Your chargemaster charge might be $400, but Medicare only pays $129
This is why finding errors and comparing your charges to fair market rates is so important.
ICD-10 Codes: Why They Matter
While CPT codes determine the price, ICD-10 codes determine whether the service was medically necessary.
Example scenario: Your bill shows:
- CPT 99215: Office visit, high complexity ($150 Medicare rate)
- ICD-10 J45.9: Asthma, unspecified
This makes sense. You had a complex asthma-related visit. But if the ICD-10 was E11.9 (diabetes) and you were charged for an asthma-specific service (like a spirometry test), that's a mismatch.
How to use ICD-10 codes:
- Get your medical records or itemized bill
- Note the ICD-10 codes
- Check if services charged are appropriate for those diagnoses
- If a service doesn't match the diagnosis, question it
Real-World Code Examples from Actual Bills
Example 1: The Upcoded Visit
What was charged:
- CPT 99215 (complex office visit) @ $400
What was appropriate:
- CPT 99213 (moderate complexity office visit) @ $125
Medical record description: "Brief follow-up, stable on current medications"
Issue: The code 99215 is for high-complexity visits requiring extensive decision-making. A routine follow-up should be 99213.
Negotiation point: "According to my records, this was a straightforward follow-up. The code should be 99213, not 99215. The difference is $275."
Example 2: The Bundling Error
What was charged:
- CPT 70450 (CT head) @ $600
- CPT 71010 (Chest X-ray) @ $200
- CPT 76700 (Abdominal ultrasound) @ $300
What was billed: Three separate codes
What should have been bundled: If these were all part of one trauma evaluation, they might be bundled under a global trauma code, not billed separately.
Negotiation point: "These imaging services should be bundled under the trauma protocol code, not billed separately. Please rebill as a bundled service."
Example 3: The Duplicate Code
What was charged:
- CPT 99213 on 3/15 @ $150
- CPT 99213 on 3/15 @ $150 (duplicate)
Issue: Same CPT code, same date, listed twice
Negotiation point: "I see this code billed twice on the same date. I only had one office visit. Please remove the duplicate charge."
HCPCS Codes: Supplies and Drugs
HCPCS codes are less likely to be fraudulent but worth checking.
Example: Your bill shows:
- J1100 Injection, dexamethasone sodium phosphate @ $500
Look up J1100. It's a steroid injection. Did you receive an injection? If not, it shouldn't be on your bill.
Common HCPCS codes for supplies:
- E1390: Oxygen concentrator (stationary)
- L3010: Foot orthosis
- A4253: Blood glucose test strips
- M0075: Neuro-muscular junction testing
How AI Auto-Maps Medical Codes
Understanding codes manually is time-consuming. That's why AI is useful.
AI-powered billing analysis tools like Fix My Bill:
- Automatically extract codes from your itemized bill
- Look up each code in medical coding databases
- Verify against medical records – confirm the code matches what actually happened
- Compare to benchmarks – flag codes that are upcoded or inflated
- Identify bundling violations – spot when codes should be bundled
- Calculate fair rates – show what each code should actually cost
What takes you an hour of manual code lookup takes AI seconds.
The Bottom Line
Medical billing codes are the foundation of your bill. Understanding them puts you in control.
Key takeaways:
- CPT codes describe the procedure/service and determine the base charge
- ICD-10 codes describe the diagnosis and determine medical necessity
- HCPCS codes describe supplies and drugs
- Revenue codes describe facility charges
- You can look up CPT codes on Medicare.gov for free
- Comparing your CPT codes to Medicare rates is one of the best ways to catch overcharges
If you're being charged significantly more than Medicare rates, or if your codes don't match your medical records, you have negotiating leverage. Use our negotiation scripts to reference specific codes when calling the billing department, or send a formal dispute letter with your findings. If the bill is for an ER visit, MRI, or surgery, check our cost guides for typical pricing.
Decode Your Bill Automatically
Manually looking up and comparing every code on your bill is tedious. If you have a bill with 50+ charges, it could take hours.
Fix My Bill uses AI to:
- Extract all codes automatically
- Look up each code's Medicare rate
- Compare your charges to fair market rates
- Identify coding errors and upcoding
- Flag services that don't match your diagnosis
- Provide a clear summary of findings
Upload your bill and get instant code analysis—see exactly what you should be paying for each service.
Analyze your codes now – get your report in seconds.