Guide

Finding Coding Problems

Compare bills, EOBs, medical records, and codes to spot duplicate charges, mismatched diagnoses, questionable modifiers, unbundling, upcoding, and medical necessity issues.

15 min read

Compare documents, not memories

Patients remember how care felt; payers and providers decide what happened using codes on claims. Finding coding problems means lining up the itemized bill, EOB, and available clinical records to see whether the coded story matches the care—and whether billing rules were applied correctly.

You are not conducting a fraud investigation. You are checking for duplicates, mismatched diagnosis links, visit levels that seem too high, improper unbundling, modifier use that does not fit the chart, and lines the patient never received. This guide is part of Medical coding 101; read Key Code Sets first if CPT, ICD-10, modifiers, and place of service are new to you.

What to collect before you start

Build a comparison packet:

  • Itemized bill with CPT/HCPCS (and revenue codes for hospitals)—see Requesting an Itemized Bill
  • EOB(s) for the same dates of service and entities—see Medical Bill vs. EOB
  • Visit summary, discharge paperwork, or patient portal after-visit summary (what was ordered and discussed)
  • Medical records if the dispute depends on what was documented—use records access paths with patient authorization
  • Insurance card and authorization/reference numbers from the date of service

Organize by date of service and billing entity (hospital vs. physician group vs. lab). One ER visit may require three separate comparison tables.

A step-by-step comparison workflow

  1. List each bill line with date, code, description, units, charge, and amount due.
  2. Match each line to an EOB row with the same code and date (note if EOB shows denial or zero allowed).
  3. Pull diagnosis codes from the EOB or ask billing for the submitted ICD-10 list.
  4. Compare to the visit summary or record: Was this test done? Was this a preventive or problem visit? How long or complex was the encounter?
  5. Flag lines that fail any test: duplicate, not in record, dx/procedure conflict on EOB, units impossible, POS inconsistent with where patient went.
  6. Classify each flag: billing posting error, coding/clinical fix, or insurance medical necessity denial—routing differs. See Billing Dispute Roadmap.

Coding problems to look for

Duplicate charges

The same CPT/HCPCS code appears twice on the same date for the same provider without clinical reason—two identical lab panels, duplicate office visit lines, or the same imaging code on hospital and physician bills when only one component should bill. Compare code + date + provider. True duplicates warrant removal or refund; legitimate separate components use modifiers (26/TC) or distinct codes—do not assume every pair is an error.

Mismatched diagnoses

ICD-10 on the claim does not fit the visit the patient describes: preventive exam coded with problem diagnoses that trigger copays; screening mammogram tied to diagnostic codes; injury codes on a routine visit. EOB denials often state diagnosis/procedure incompatibility. Compare submitted ICD-10 to after-visit summary; ask whether primary diagnosis should change or services should split across claims.

Questionable modifiers

Modifiers explain exceptions—see Key Code Sets — Modifiers. Red flags: modifier 25 on every visit with a minor procedure (E/M may not be separately supported); modifier 59 overused to bypass bundling; wrong laterality (LT/RT) vs. procedure side; professional component 26 when the patient only received technical service at one site. EOB remark codes referencing NCCI or "mutually exclusive" edits point here—CMS publishes edit rationale in the NCCI Policy Manual.

Unbundling and improper splits

Unbundling is billing components separately when rules require one combined code (or one payment). Example patterns: every surgical step billed individually when a comprehensive code exists; lab panel components billed line-by-line when a panel code is appropriate. Conversely, bundling errors hide services inside a single code incorrectly. You may not know edit pairs by heart—use EOB denial language and ask billing why lines were split or combined.

Upcoding and visit levels

Upcoding assigns a higher-paying code than documentation supports—often E/M level 99214 or 99215 when the encounter was brief and routine (99213 or preventive code). Compare the billed E/M code to portal visit type, time documented, and complexity the patient recalls. Upcoding is a coding integrity issue; fix requires clinician or coding review, not paying the difference.

Services not documented

Lines for supplies, infusions, monitoring, or procedures absent from the visit summary or record. Hospital bills may include OR supplies, trauma activation, or observation hours the patient does not recognize. Request item detail and nursing notes or operative report excerpts when amounts are large. Absence from the record is not proof of fraud—but it is grounds for a billing inquiry.

Wrong units, dates, or POS

Four units of a drug when one dose was given; date of service on a day the patient was not there; place of service office vs. emergency when the patient knows they went to the ER. These are concrete, verifiable errors. Compare units to medication lists and dates to appointment history in the patient portal.

Medical necessity vs. coding errors

Not every denial is a coding mistake. Insurers may accept the codes but deny coverage as not medically necessary, experimental, or without prior authorization. The chart may support the service clinically while the payer still says no under policy—that is an insurance appeal, not a duplicate-line fix. Conversely, a medical necessity denial sometimes clears after a corrected claim with better documentation or diagnosis linkage—try to learn whether the insurer rejected the codes or the clinical story. Use the Denial Decoder for insurer wording.

Scenarios advocates run into

ER visit with duplicate labs

Itemized ER bill lists comprehensive metabolic panel twice on the same timestamp. EOB paid one line, denied the second as duplicate. Patient owes on the denied duplicate if billing passes it through. Advocate highlights matching codes and times, requests removal of duplicate line and updated statement. If both paid, request refund of overpayment.

Physical with high-level visit code

Annual physical generates 99214 with problem diagnoses and copay. After-visit summary lists preventive visit plus brief medication refill. Compare ICD-10 (Z00.x preventive vs. problem codes) and E/M level. Ask whether services should be split or preventive coding applied; patient may owe less after rebill.

Surgery plus mystery supply lines

Surgical claim includes high-dollar supply and implant lines patient never discussed. Compare operative report implant section to billed HCPCS/CPT device codes. Ask itemized description and whether implants were patient-notified. May be legitimate but warrants verification; may be wrong item or quantity.

EOB cites NCCI or bundling

Second procedure line denied; remark references NCCI. Pull both codes from Key Code Sets and ask billing whether a distinct-service modifier was appropriate or one line should drop. If clinically distinct, the clinician may support a corrected claim; if improper unbundling, the patient should not owe the denied line.

When you find a problem

Document the flagged line with codes and your reason (duplicate, not in record, dx mismatch, etc.). Call provider billing with specifics—not "the bill is too high." Ask whether they will remove a line, submit a corrected claim, or escalate to coding/clinical staff. If insurance denied for coding edits, ask whether rebill or appeal is appropriate.

Written disputes, corrected claims, and insurance paths are covered in Advocacy and Appeals and the Billing Dispute Roadmap. Pause payment on disputed lines while review is open when possible.

Continue the series

The weekly brief

Patient advocacy notes, in your inbox.

One short email a week — policy changes, denial trends, and new guides. Free. No spam.

  • ~1 email / week
  • Plain English
  • Unsubscribe anytime

Join 38,000+ readers. See our privacy policy.