CO-146 CO · Contractual Obligation

CO-146 Denial Code: Diagnosis code not valid on the date of service

The diagnosis code on the claim was not a valid, billable ICD-10 code for that date of service - usually a deleted, not-yet-effective, or truncated code. Correct the code and resubmit.

Group code
CO - Contractual Obligation
Code type
CARC
Billable to patient?
No - contractual write-off
Appealable?
Fix and resubmit instead
Category
Coding Consistency
Common pairing
M76
On a remittanceCAS*CO*146*125.00On a paper EOB it shows as CO-146.

What CO-146 means

CO-146 flags a diagnosis code the payer could not accept for the specific date of service. ICD-10-CM updates every October 1: codes get deleted, split into more specific ones, or newly added, and a code that was fine in September can be invalid in October. The same denial fires for truncated codes billed at a non-billable header level (missing required characters) or for plain typos. This is almost always a correct-and-resubmit fix rather than an appeal - once a valid code that matches the documentation is on the claim, it should process normally.

Common causes

  • The ICD-10 code was deleted or replaced in the annual October 1 update, but the claim used the old code.
  • The code is new and the date of service predates its effective date.
  • The code was truncated - billed at a category level that requires more characters to be billable.
  • A typo or transposition turned a valid code into a nonexistent one.
  • The EHR or billing system's code set was out of date and carried a retired code onto the claim.

How to fix it

  • Look up the code's effective and end dates in the current ICD-10-CM files and confirm whether it was valid on the date of service.
  • Replace deleted or truncated codes with the current, fully specified code supported by the documentation.
  • If the encoder or EHR produced the bad code, update its ICD-10 code set before rebilling.
  • Resubmit as a corrected claim - an appeal is rarely needed once the code is fixed.
  • If the code genuinely was valid on the DOS, contact the payer with the official ICD-10-CM effective dates and request reprocessing.

How to prevent it

  • Load the annual ICD-10-CM update into your EHR and billing system before each October 1.
  • Run claim scrubber edits that check diagnosis validity against the date of service, not just today's code set.
  • Re-check active problem-list codes each fall - long-standing patients often carry retired codes forward.
  • Train coders to code to full specificity so truncated header-level codes never reach a claim.

Appeal potential

Fix and resubmit insteadThis denial is corrected, not argued - swap in a code that was valid on the date of service and resubmit. The rare exception is when the payer's own code set is stale and the diagnosis really was valid on the DOS; handle that with a reprocessing request citing the official ICD-10-CM effective dates rather than a formal appeal.
Linked CMS edit: ICD-10-CM annual updateICD-10-CM annual code update (new and deleted codes effective each October 1)

Plain-English explanation authored by Medmio. The CO-146 code meaning reflects the standard CARC/RARC set maintained by X12 and CMS; Medmio does not reproduce X12's official descriptor text verbatim. Codes change up to three times per year — verify active status against the latest X12/CMS release. For official Medicare remittance-code guidance, see CMS. Educational guidance only, provided as-is with no guarantee of accuracy or outcome — not a substitute for professional billing, coding, or legal advice.
Last reviewed: July 2026

Prevent denials like CO-146 before they happen.

Medmio pairs AI-powered coding with full revenue-cycle visibility, so coding-driven denials get caught before the claim goes out. See what that looks like for your practice.