If you've ever looked at an itemized medical bill, you've seen them: rows of 5-digit numbers next to procedure descriptions. They look opaque, almost like internal hospital inventory codes. They're not. They're a public, standardized vocabulary that every US healthcare provider uses to bill, and learning to read them is the single highest-ROI thing a patient can do.
A 10-minute investment in understanding CPT codes pays off the next time you get a medical bill, and every time after that.
What CPT codes actually are
CPT stands for Current Procedural Terminology. It's a code set maintained by the American Medical Association that catalogs essentially every medical procedure performed in the United States. The codes are 5 digits long. There are around 11,000 of them.
When a doctor sees you, the medical record turns into a list of CPT codes before it gets billed. The codes tell the insurer exactly what was done: 99213 is a standard office visit, 36415 is a routine blood draw, 71046 is a two-view chest X-ray, and so on. Each CPT code has a published Medicare allowable rate, which acts as the rough benchmark for what every other insurer pays for that service.
There are two related code sets you'll also see on bills:
HCPCS Level II codes are letter-prefixed (A0428, J0696, etc.) and cover supplies, drugs, and services that CPT doesn't (ambulance rides, prosthetics, durable medical equipment).
DRG (Diagnosis-Related Group) codes are 3-digit and apply to inpatient stays. They bundle an entire admission into one payment category. A hip replacement (DRG 470) is one DRG with one payment regardless of how many CPT-coded procedures happened during the stay.
Why this matters for catching errors
Almost every billing error you might dispute traces back to a coding decision. Some specific patterns to know:
Upcoding
Billing a higher-paying code than the documentation supports. The classic example is evaluation and management office visits: codes 99211 (lowest complexity) through 99215 (highest complexity). A routine "follow-up to check blood pressure" should usually be a 99213, but it gets coded as 99214 or 99215 surprisingly often. The difference is roughly 2x in payment.
Unbundling
Splitting what should be one bundled code into multiple component codes that, summed, cost more. CMS publishes the National Correct Coding Initiative (NCCI), a list of about 1.2 million code pairs that should not be billed together. Most billing software doesn't enforce all of them, which is why this error is everywhere.
Modifier abuse
Modifiers are two-digit suffixes attached to CPT codes (modifier 25, 59, 50, etc.) that signal special circumstances. Modifier 25 says "this E/M service was significant and separately identifiable from the procedure billed on the same day." Modifier 59 says "this is a distinct procedural service, separate from the bundled service it's normally grouped with."
Both of these modifiers are routinely abused to bypass bundling rules. The OIG (HHS Office of Inspector General) has specifically flagged modifier 25 as a top compliance risk for years. If a modifier 25 or 59 appears on your bill, verify the documentation supports the "separate and significant" claim.
Wrong code entirely
Sometimes the wrong code gets entered just by typo or template error. A patient billed for a colonoscopy with biopsy (45380) when the actual procedure was a diagnostic colonoscopy (45378) is a $500+ difference for a single keystroke.
How to verify what a code means
You don't need to memorize anything. Three free tools let you look up any CPT code in about 10 seconds:
The CMS Physician Fee Schedule. Search "[CMS physician fee schedule]" and the year. You can enter any CPT code and see the Medicare allowable rate. This is the public benchmark every other insurer prices against.
The CMS NCCI Edit Tool. Find any two CPT codes that appear on your bill, and the tool tells you whether they're a "bundle pair" that can't be billed together without a modifier.
The AMA's CPT lookup. The AMA gates the full CPT manual behind a paywall, but for any specific code, search "CPT [number] description" and you'll find the standard definition from multiple legitimate sources.
For a quick sanity check on whether a charge is in the normal range, compare the hospital's listed charge against the Medicare allowable on the Fee Schedule. Hospital charges are typically 2 to 10 times Medicare. Anything more than about 15 times Medicare is worth investigating.
A worked example
Say your itemized bill has these three lines:
03/15/2026 Office visit, established patient 99214 $385
03/15/2026 Venipuncture 36415 $42
03/15/2026 Comprehensive metabolic panel 80053 $95
Things you'd verify:
The 99214 office visit code requires "moderate complexity" decision-making and roughly 25 minutes of provider time. If your visit was 10 minutes and primarily a check-in, this should likely be a 99213 (about $150 less).
The venipuncture (36415) charge is one needle stick. If you only had blood drawn once but see 36415 billed twice on the same date, that's a duplicate.
The comprehensive metabolic panel (80053) is a bundled blood test that includes 14 specific analytes. If the bill also separately lists charges for any of those analytes (sodium 84295, glucose 82947, etc.), that's unbundling.
The Medicare allowable for 99214 is around $130; for 36415, about $3; for 80053, about $10. The bill's charges of $385, $42, and $95 are each within typical hospital markups. Not red flags on price alone, but worth verifying the codes match what actually happened.
What about codes you can't find?
Sometimes a bill has codes that don't show up in any public lookup. A few possibilities:
It might be a Category III CPT code, which is for emerging technology and procedures (codes ending in T, like 0089T). These exist but get less attention in standard references.
It might be a revenue code (4-digit number, e.g. 0250 for pharmacy, 0300 for laboratory). Revenue codes group charges into broad categories on hospital bills but don't describe specific procedures. They appear alongside CPT codes, not instead of them.
It might be a HCPCS Level III code, which are state-specific codes used by some Medicaid programs. These are less standardized.
It might be a typo. If a 5-digit code doesn't match anything, ask the billing department to verify.
The bigger picture
You don't have to become a billing expert to push back on a medical bill. But knowing that CPT codes are public, that the rates are public, and that the rules about how they can be combined are public, gives you the framing to ask the right questions.
The next time you get a bill, request the itemized version (see our guide to reading an itemized bill), then spot-check a few codes against CMS's Fee Schedule and the NCCI bundling tool. You'll find something worth pushing back on more often than not.
If you want this done automatically, Audra audits every CPT, HCPCS, and DRG code on your bill against current CMS rates and bundling rules, then drafts an appeal letter that cites the specific NCCI edit or fee schedule discrepancy behind each finding. Your first audit is free.