CO-146: The diagnosis was invalid for the date of service
CO-146 is the diagnosis-side twin of an invalid procedure code, and it behaves the same way: the code set turns over on a fixed schedule and claims are adjudicated against the version in force on the date of service. Diagnosis sets change annually with additions, deletions, and expansions in specificity, so the denial clusters at the turnover date and hits any claim built long after the encounter it describes.
- What it means
- The diagnosis code submitted was not in effect on the date the service was delivered.
- Who pays the balance
- Contractual - coding to the set in force on the date of service is a billing responsibility.
- Group code CO
- Contractual Obligation - the provider absorbs the balance and cannot bill the patient
Why CO-146 happens
- The diagnosis code was deleted or replaced in the annual update covering the date of service.
- A newly created diagnosis code was used for a date before its effective date.
- A code was expanded into more specific children and the now-invalid parent was submitted.
- The claim was built from a stored problem list carrying codes that have since been retired.
- A backlogged claim was coded against the current set rather than the one in force at the encounter.
How to fix a CO-146 denial
- 1
Check the code's validity window against the date of service
Diagnosis codes carry effective and termination dates. Comparing them to the service date identifies whether the code was too new or too old in a single step.
- 2
Select the valid code for that period from the documentation
Where a code was expanded into more specific children, choose the child the record supports rather than defaulting to an unspecified option that may deny for a different reason.
- 3
Resubmit as a corrected claim
Use the payer's corrected-claim indicator so the original is amended rather than duplicated, which would add a duplicate denial to the original problem.
- 4
Clean the source of the stale code
If it came from a problem list or a template, correct it there. Otherwise the same retired code reappears on every subsequent claim for that patient.
Preventing CO-146 denials
- Update diagnosis code sets on their effective date and reconcile stored problem lists against the new set.
- Add a validity-window edit comparing each diagnosis code's effective dates to the date of service before submission.
- Work the claim backlog down before an annual code set turnover so held claims do not straddle it.
CO-146 frequently asked questions
- What does denial code CO-146 mean?
- CO-146 means the diagnosis code on the claim was not valid on the date the service was delivered. Diagnosis code sets change annually, and claims are adjudicated against the version in force on the service date rather than the submission date.
- How do I fix a CO-146 denial?
- Check the diagnosis code's effective and termination dates against the date of service, pick the code that was valid in that period and is supported by the documentation, and resubmit as a corrected claim. Then clean the stale code out of any problem list or template it came from.
Related denial codes
Last reviewed .
Denial code explanations are original plain-English summaries written for reference and are not the official X12 code descriptions. Payer handling of any code varies by contract - always verify against the remittance advice and your payer agreement before adjusting a claim.