Every charge on your medical bill has a five-digit code behind it. These are CPT codes — Current Procedural Terminology — and they are the universal language of medical billing. A single incorrect code can cost you hundreds or thousands of dollars. This guide explains how CPT codes work, where the most common errors occur, and how to use them to audit your own bill in under 30 minutes.
1. What CPT codes are and why they exist
Before CPT codes, medical billing was a free-for-all. Providers described services in their own words, insurers interpreted them differently, and payment disputes were constant. The American Medical Association introduced the Current Procedural Terminology system in 1966 to create a standard language for medical billing.
Today, every healthcare encounter in the United States is translated into CPT codes before a claim can be paid. When your doctor examines you, they select an Evaluation and Management (E/M) code based on the complexity of the visit. When a technician draws your blood, the lab selects a code for each test run. When you have surgery, the surgeon selects codes for the procedure, and the hospital selects separate codes for the facility services.
The system creates a paper trail — and that trail can work in your favor. Because every service has a code, you can look up exactly what that code is supposed to represent, what it should cost according to Medicare, and whether the code on your bill matches the service you actually received.
2. The main CPT code categories
CPT codes are organized into sections by type of service. Knowing which section a code comes from tells you what kind of service was being billed.
| Code Range | Category | Examples |
|---|---|---|
| 99202–99499 | Evaluation & Management (E/M) | Office visits, hospital visits, ER visits |
| 00100–01999 | Anesthesia | General anesthesia, regional blocks |
| 10004–69990 | Surgery | All surgical procedures by body system |
| 70010–79999 | Radiology | X-rays, MRIs, CT scans, ultrasounds |
| 80047–89398 | Pathology & Laboratory | Blood panels, urinalysis, biopsies |
| 90281–99607 | Medicine | Vaccines, therapy sessions, infusions |
| 99091–99499 | E/M — outpatient & observation | Includes hospital observation codes |
Within each category, codes are typically ordered from simpler/lower-cost to more complex/higher-cost. In E/M codes, for example, 99202 is a brief new patient office visit and 99205 is the most complex new patient visit. The difference in billing between 99203 and 99205 can be $150–$300 per visit.
3. Common CPT codes and what they cost
These are the codes you’re most likely to see on a routine medical bill, along with the 2026 Medicare national average reimbursement rate (non-facility setting):
| CPT Code | Description | Medicare Rate (2026) | Typical Hospital Charge |
|---|---|---|---|
| 99213 | Office visit, established patient, moderate complexity | $112 | $200–$400 |
| 99214 | Office visit, established patient, high complexity | $167 | $300–$600 |
| 99283 | ER visit, moderate severity | $182 | $500–$1,200 |
| 99285 | ER visit, high severity | $290 | $900–$3,500 |
| 85025 | Complete blood count (CBC) | $11 | $60–$200 |
| 80053 | Comprehensive metabolic panel | $14 | $80–$300 |
| 71046 | Chest X-ray, 2 views | $29 | $150–$600 |
| 73721 | MRI knee w/o contrast | $472 | $800–$3,500 |
| 93000 | Electrocardiogram (ECG/EKG) | $17 | $80–$350 |
| 36415 | Blood draw (venipuncture) | $3 | $15–$75 |
| 99232 | Subsequent hospital visit, moderate complexity | $113 | $200–$500 |
| 43239 | Upper GI endoscopy with biopsy | $405 | $700–$3,000 |
The ratio between Medicare rates and typical hospital charges is often 5–20x. This isn’t necessarily fraud — hospitals negotiate different rates with different insurers, and the “chargemaster” list price is a starting point for negotiation. But for uninsured patients or those with high-deductible plans paying the full billed amount, the gap is very real.
4. The 4 most common CPT billing errors
1. Upcoding
Upcoding is billing a higher-complexity code than the service warranted. The most common example is E/M upcoding: billing a 99215 (most complex office visit, ~$232 Medicare rate) for what was a routine follow-up that should have been coded 99213 (~$112). The OIG estimates that E/M upcoding alone costs Medicare over $1 billion per year.
Signs of upcoding:
- Level 5 E/M codes (99205, 99215, 99285) on every visit regardless of complexity
- High-complexity hospital visit codes (99233) for brief daily check-ins
- Surgical codes that include modifiers suggesting more extensive procedures than you recall
2. Unbundling
Unbundling breaks a single comprehensive code into multiple component codes, increasing total charges. Medicare’s National Correct Coding Initiative (NCCI) defines which codes are “bundled” and cannot be billed separately. Common unbundling examples:
- Billing the 14 individual tests within a comprehensive metabolic panel (80053) as separate line items
- Billing a surgical approach code separately from the surgery itself when the approach is already included
- Billing an E/M visit on the same day as a procedure when the E/M was for the same complaint that led to the procedure
3. Duplicate billing
Duplicate billing means charging twice for the same service. This is often an administrative error — the same claim is submitted twice and both payments go through — but it can also be intentional. Look for the same CPT code appearing twice on the same date, or the same service appearing on both a hospital bill and a physician bill.
4. Phantom procedures
A phantom procedure is a charge for a service that was never performed. This is the most serious billing error because it is straightforward fraud. It can happen due to data entry errors (wrong patient record, wrong date), but it also occurs intentionally. Verify every CPT code on your bill against your own memory of what happened and against your medical records.
5. How to audit your bill with CPT codes
You don’t need a medical background to audit a bill. You need an itemized bill, about 30 minutes, and this process:
- Request an itemized bill. Call the hospital or provider’s billing department and ask for an itemized statement listing each service, the CPT code, the date of service, and the amount charged. You are legally entitled to this. If they resist, cite your right under the No Surprises Act and state hospital billing transparency laws.
- Request your Explanation of Benefits (EOB). If you have insurance, log into your insurer’s portal or call them to get the EOB for the claim. The EOB shows each CPT code, the provider’s charge, the insurer’s allowed amount, and your share. Cross-reference the EOB against the itemized bill — every line item should match.
- Look up each code. For any code you don’t recognize, search for it on CMS’s Medicare Physician Fee Schedule (find it at cms.gov). This tells you the official description and the Medicare rate. If the description doesn’t match what you remember receiving, flag it.
- Check for duplicates. Scan for the same CPT code on the same date. Also look for the same service described differently but with different codes — for example, blood draw code 36415 and a separate “specimen collection” charge.
- Check E/M code levels. If you see a 99215 or 99285 (highest complexity), ask yourself: was the visit really that involved? A brief follow-up or a straightforward ER visit for a minor issue probably shouldn’t be coded at the highest level.
- Request medical records for anything suspicious. Providers are required to give you your medical records within 30 days. If you suspect a code doesn’t match what was done, your medical records are the proof. The clinical documentation should support the CPT code billed.
6. An annotated bill with CPT errors
ER Visit Bill — What the Codes Revealed
Patient: 42-year-old with ankle sprain, treated and released from the ER.
Total recovered after appeal: $543
7. Real-world case studies
Case Study 1: E/M Upcoding — $1,200 Recovered
A patient with a high-deductible health plan received a bill for $1,850 after seeing a specialist for knee pain over three consecutive appointments. All three visits were billed at 99215 (highest complexity). Her deductible applied, so she owed the full amount.
She requested her medical records and compared them to the codes. Her records described each visit as a routine follow-up with no change in treatment plan — classic 99213 territory. She wrote to the billing department citing the documentation mismatch and requested a code review. The practice reclassified all three visits to 99213, reducing her total bill by $1,200.
Lesson: Specialists routinely default to high-complexity codes for established patients. Compare the visit notes to the E/M code level — brief, straightforward visits rarely justify 99215.
Case Study 2: Unbundled Lab Panel — $473 Recovered
A patient received a hospital lab bill showing 14 individual line items for blood tests, each billed separately, totaling $891. The correct billing for a comprehensive metabolic panel (80053) — which includes all 14 tests — was $83 at the Medicare rate.
The patient identified the unbundling by noticing that many tests (sodium, potassium, CO2, etc.) are components of a panel. She cited NCCI bundling rules in her dispute letter. The hospital re-billed as a single panel. Her insurance renegotiated and her share dropped from $312 to $29 — a saving of $283. The insurer recovered $473 in total overcharges.
Lesson: If you see individual component tests billed separately (sodium, potassium, BUN, creatinine, glucose all as line items), check whether they should be bundled into a panel code.
Frequently asked questions
- What is a CPT code?
- CPT stands for Current Procedural Terminology. CPT codes are five-digit numbers that identify every medical procedure, service, and test performed in healthcare. They are maintained by the American Medical Association and used by every doctor, hospital, and insurer in the United States to describe and bill for care.
- Where can I find CPT codes on my bill?
- CPT codes appear on your Explanation of Benefits (EOB) from your insurance company, on an itemized hospital bill, and on the CMS-1500 claim form. If your bill only shows descriptions without codes, request an itemized bill — you are entitled to one.
- What is upcoding and how common is it?
- Upcoding is billing a higher-level CPT code than the service actually provided. The OIG reports that E/M upcoding alone costs Medicare over $1 billion annually. It is one of the most common billing errors in both Medicare and private insurance claims.
- What is unbundling?
- Unbundling is billing separately for procedures that should be billed as a single, lower-priced code. Medicare's NCCI edits define which codes cannot be billed separately. A common example is billing individual lab tests instead of the panel code that includes them all.
- Can I look up what a CPT code means?
- Yes. CMS's Medicare Physician Fee Schedule look-up tool at cms.gov shows the official Medicare rate for any CPT code in your area. Many medical cost transparency tools also provide CPT descriptions and benchmark pricing.
- What should I do if I find a CPT code error?
- Request an itemized bill and your medical records. Compare each CPT code against what was actually done. Write to the billing department citing the specific code and requesting documentation or correction. If the provider disagrees, file an appeal with your insurer. Serious errors can be reported to your state medical board or the OIG hotline (1-800-HHS-TIPS).
Sources
- American Medical Association. CPT® — Current Procedural Terminology. 2026 Edition.
- Centers for Medicare & Medicaid Services. Medicare Physician Fee Schedule Look-Up Tool. 2026.
- CMS. National Correct Coding Initiative (NCCI) Policy Manual for Medicare Services. 2026.
- HHS Office of Inspector General. Inappropriate Payments for Evaluation and Management Services. OEI-04-10-00181. 2014.
- Medical Billing Advocates of America. Medical Billing Error Rate Study. 2023.
- CMS. No Surprises Act: Good Faith Estimates and Itemized Bills. 2022.