CPT Codes Explained: How to Read Your Medical Bill

Quick Answer: CPT codes are five-digit numbers assigned to every medical service. They determine how much your provider charges and how much your insurer pays. Knowing the CPT codes on your bill lets you look up Medicare benchmark rates, verify you were billed for what you actually received, and catch upcoding — where a provider bills a higher-complexity code than warranted.

What CPT Codes Are

Current Procedural Terminology (CPT) codes are a standardized system published by the American Medical Association (AMA). Every service a doctor or hospital can bill has a CPT code. Insurers and Medicare use these codes to determine payment amounts, so the code on your bill directly determines what you and your insurer owe.

CPT codes are five digits long. They fall into three main categories:

  • Category I (00100–99499): Standard medical, surgical, and diagnostic procedures. These are the codes you'll see on almost every bill.
  • Category II: Performance tracking codes — rarely seen on patient bills.
  • Category III: Emerging technology codes, used for newer procedures not yet mainstream.

How CPT Codes Determine Your Bill

When your provider submits a claim, they list the CPT codes for services provided alongside diagnosis codes (ICD-10). The insurer looks up each CPT code in their fee schedule and pays an agreed-upon amount (the "allowed amount"). You pay your share — deductible, copay, or coinsurance — based on that allowed amount, not the provider's sticker price.

Medicare's payment rate for each CPT code is public and is the most useful benchmark for patients. A provider charging 5× the Medicare rate for a routine service is worth questioning.

10 Common CPT Codes Patients See

Got a bill for this? Check it free.

Upload your medical bill and we'll compare every line against Medicare rates — flagging overcharges in 30 seconds. 1 in 4 bills has an error.

Scan My Bill Free →
CPT Code Service Medicare Rate (approx.) Notes
99213 Office visit, established patient, low complexity $75–$95 Routine follow-up, minor issues. Most common outpatient code.
99214 Office visit, established patient, moderate complexity $110–$140 Managing 2+ chronic conditions or new problem with workup. Often upcoded.
99215 Office visit, established patient, high complexity $150–$180 Reserved for complex, high-risk decision-making. Rarely appropriate for routine visits.
93000 Electrocardiogram (EKG) with interpretation $18–$25 Commonly billed alongside office visits. Verify you actually received an EKG.
36415 Routine venipuncture (blood draw) $3–$5 The draw itself is separate from lab analysis. Should not be billed at high rates.
80048 Basic metabolic panel (BMP) $12–$18 8-test blood panel. Make sure it isn't billed alongside a comprehensive panel (80053).
80053 Comprehensive metabolic panel (CMP) $14–$20 14-test panel. Should not be billed alongside BMP — that's unbundling.
71046 Chest X-ray, 2 views $35–$50 Standard 2-view chest X-ray. If billed as 71048 (4 views), verify you needed it.
99283 Emergency department visit, moderate severity $130–$175 Mid-level ER visit. ER visits commonly upcoded to 99285 (highest complexity).
99285 Emergency department visit, high severity $195–$240 Reserved for high-complexity emergencies. Accounts for majority of ER billing complaints.

Medicare rates vary by geographic locality. Figures above are approximate national averages for non-facility settings (2025 fee schedule).

How to Look Up Medicare Rates

The fastest way to check what Medicare pays for any CPT code:

  1. Go to the CMS Medicare Physician Fee Schedule lookup at cms.gov/medicare/physician-fee-schedule/search.
  2. Enter the CPT code and your state or locality (Medicare uses geographic payment localities).
  3. Look at the "non-facility" rate for outpatient services (office visits, labs) and the "facility" rate for services performed in a hospital or ASC.
  4. Compare the Medicare rate to what your provider charged. A provider charging 3× Medicare is common; 10× Medicare is worth disputing.

Upcoding: What to Watch For

Upcoding means billing a higher-complexity or higher-value code than the service provided. It is the most common form of medical billing fraud and frequently occurs in gray areas where the billing code selection involves some judgment.

Common upcoding patterns:

  • Office visit levels: Billing 99215 (highest complexity) for a routine visit. The code requires documentation of high-complexity medical decision-making — a 10-minute follow-up for blood pressure medication does not qualify.
  • ER visit levels: 99285 (the highest ER code) accounts for a disproportionate share of ER bills. Ask for the visit documentation to verify complexity.
  • Procedure complexity: Billing a complex wound repair code for a simple laceration closure.
  • Inpatient vs. outpatient: Billing an inpatient admission (99221–99223) for observation or outpatient status significantly increases your cost-sharing under Medicare.

If you suspect upcoding, request the clinical documentation (office notes, procedure notes) for the date of service. Compare what the documentation says to the code's official requirements in the AMA's CPT manual or in CMS's documentation guidelines.

Modifier Codes

Modifier codes are two-character suffixes added to a CPT code to give context. They affect payment and are frequently misused:

  • Modifier 25: Indicates a significant, separately identifiable evaluation happened on the same day as a procedure. Commonly appended to add an E&M charge to a procedure visit — verify the evaluation was genuinely separate.
  • Modifier 59: Marks services as distinct and independent from other services on the same claim. Overuse of modifier 59 is a known fraud vector.
  • Modifier 50: Bilateral procedure — allows a slightly higher payment for procedures performed on both sides. Should only appear if you actually had a bilateral procedure.
  • Modifier 51: Multiple procedures — reduces payment for secondary procedures on the same day. If this modifier is missing when multiple procedures were performed, you may have been overbilled.

Steps to Audit Your Bill Using CPT Codes

  1. Request your itemized bill — not just the summary statement. It should list every CPT code with a description and charge amount.
  2. Cross-reference each CPT code with your Explanation of Benefits. Every code on the bill should appear on your EOB.
  3. Look up the Medicare rate for each code. Flag any service where the charge exceeds 4× Medicare.
  4. Verify you actually received each service. A blood draw code with no corresponding lab test is a red flag. An EKG code on a visit where no EKG was mentioned needs explanation.
  5. Check for unbundling: two codes billed together that are normally combined into one (BMP + individual electrolyte codes, for example).
  6. If you find errors, contact the provider's billing department in writing and request a corrected claim. If the error was submitted to insurance, ask for a corrected claim to be resubmitted.