Denials

The seven denial codes that cost medical practices the most

Sam September 1, 2026 5 min read

Most practices read their denial report as a single number. That number tells you almost nothing. What matters is the shape of it, because in nearly every practice we onboard, a short list of reason codes produces the majority of the loss.

Below are the seven codes that show up most often, what each one actually means, and the change that stops it coming back. Work through them in order and you will usually find that the top three account for more than half your denied dollars.

1. CO-16: claim lacks information or has a submission error

The broadest code on the list, and the most common. The payer received the claim but could not adjudicate it, usually because a required field was blank, malformed or contradicted another field.

  • What it usually is. A missing referring provider NPI, an absent modifier, a diagnosis pointer that does not match the line, or a subscriber ID entered with a space in it.
  • Why it repeats. The clearinghouse default edit set does not include payer-specific requirements, so the claim passes your scrub and fails at the payer.
  • The fix. Build payer-specific edits into your pre-submission scrub. Almost every CO-16 is preventable before the claim leaves.

2. CO-97: the benefit is included in another service

This is a bundling denial. The payer considers the procedure part of another service billed on the same day, so it pays once and denies the rest.

Sometimes the payer is right and the claim was genuinely unbundled in error. Often it is not, and the service was distinct, separately identifiable and legitimately payable. The difference is whether the documentation supports it and whether the correct modifier was applied.

  • Check the NCCI edit pair. If the two codes are in a Column 1 and Column 2 relationship, look at whether a modifier is allowed.
  • Apply 59, or the more specific X modifiers where the service really was separate by encounter, anatomic site, practitioner or structure.
  • Never apply a modifier to force payment. If the note does not support it, the claim is not appealable, it is a compliance problem.

3. CO-45: charge exceeds the fee schedule

Strictly this is an adjustment rather than a denial, and many practices ignore it for that reason. That is a mistake. A persistent CO-45 pattern is telling you something about your contracts.

If your billed charges sit far above the allowed amount across most payers, that is normal. If one payer is paying materially below what your contract says, the fee schedule loaded in your system is either out of date or was never loaded at all.

Underpayment is the quietest form of revenue loss, because the claim is marked paid and nobody looks at it again.

4. CO-197: pre-certification or authorisation absent

Painful because the service has already been delivered. The patient has been treated and the payer will not pay because nobody obtained an authorisation, or the authorisation obtained did not cover the procedure that was actually performed.

  • Front-load it. Authorisation should be requested at scheduling, not at check-in.
  • Track expiry. Many authorisations cover a date range and a visit count. Both run out.
  • Match the code. An authorisation for one CPT does not cover a different one performed on the day.

5. CO-29: the time limit for filing has expired

Fully avoidable and fully unappealable in most cases. Timely filing windows run from 90 days to a year depending on the payer, and the clock starts at the date of service, not the date you noticed the claim was sitting there.

This code is a symptom rather than a cause. If you are seeing CO-29 at all, the underlying problem is that claims are sitting somewhere unworked: in a hold queue, in a rejection list nobody monitors, or in an A/R bucket that is only reviewed at quarter end.

6. CO-11: the diagnosis is inconsistent with the procedure

The linked diagnosis does not support medical necessity for the procedure billed, at least in the payer’s view.

  • Check the LCD or NCD. Medicare publishes covered diagnosis lists for many procedures. Commercial payers often mirror them.
  • Check the pointer, not just the code. The right diagnosis being on the claim is not enough if it is not pointed at the right line.
  • Check specificity. An unspecified code where a specific one exists is a frequent trigger.

7. CO-18: duplicate claim or service

Usually not a real duplicate. It is commonly a legitimate repeat service on the same day that was submitted without the modifier that tells the payer so, or a corrected claim submitted as a fresh claim rather than as a replacement.

  • Use modifier 76 or 77 for a genuine repeat procedure.
  • Submit corrections as corrected claims with the original claim number, not as new ones.
  • Check whether your clearinghouse is resending automatically after a rejection.

Reading your own denial report properly

Pull the last ninety days and group by reason code, then sort by dollars rather than by count. Most practices are surprised by the result: the code they see most often is rarely the one costing the most.

CodeWhat it meansThe fix that lasts
CO-16Missing or malformed informationPayer-specific pre-submission edits
CO-97Bundled into another serviceNCCI check plus correct modifier use
CO-45Charge exceeds allowed amountReload and audit contracted rates
CO-197Authorisation absentRequest at scheduling, track expiry
CO-29Timely filing expiredDaily work queues, no unworked buckets
CO-11Diagnosis does not support procedureLCD check and correct pointers
CO-18Duplicate serviceRepeat modifiers, corrected claim flow

The part most practices skip

Working a denial recovers one claim. Root-causing it stops the next fifty. After every appeal, the question worth asking is simple: what would have had to be different for this claim to pay first time? Then change that thing in the system, in the template or in the scrub rule.

A practice that appeals well but never root-causes will have the same denial report next quarter, just with different claim numbers on it.

Key takeaways

  • Group denials by reason code and sort by dollars, not by count.
  • Most CO-16 denials are preventable with payer-specific scrub rules.
  • CO-45 is not noise. A pattern means a contract or a fee schedule problem.
  • CO-29 is never really about filing. It is about claims sitting unworked.
  • Fix the cause in the system, not just the claim in front of you.

If you would like this analysis run on your own data, our team does it as a written review. See how our medical billing service handles denials, or request a free revenue audit.

Find out what your billing is leaving on the table

Send us a snapshot of your current performance. Within a week you get a written breakdown of what is being missed and what it is worth.

Get a free revenue audit