ICD-10 Diagnosis Code Tally Checklist
What this check is for
Compliance, billing and audit teams sometimes must list every ICD-10-CM diagnosis code in a clinical document. They must make sure that each code has a matching written diagnosis next to it. They also count how often each code appears. This checklist does that for physician notes, discharge summaries and similar documents. It is a documentation consistency check. It does not assign codes and it does not decide what to bill. It is not medical advice. A certified coder or the treating clinician must answer each coding question that it raises.
ICD-10-CM is the U.S. clinical modification of ICD-10. The National Center for Health Statistics at the CDC maintains it (CDC). The code set changes every fiscal year, and the FY 2027 codes took effect on October 1, 2026 (CMS). Always compare codes with the code set for the date of service.
Code format rules to check against
These rules come from the ICD-10-CM Official Guidelines for Coding and Reporting, FY 2027:
- Codes have 3, 4, 5, 6 or 7 characters, and each character can be a letter or a number (Section I.A.2).
- Coders report only full codes. A coder uses a three-character code only if the code has no further subdivisions. A code is invalid if it does not have the full number of characters that it requires, including a 7th character where one applies (Sections I.A.3 and I.B.2).
- Some codes use the placeholder character “X,” and these codes are valid only with it. If a code needs a 7th character but has fewer than 6 characters, X fills the empty places (Sections I.A.4 and I.A.5).
- An Excludes1 note means that you must not use the two codes together. The exception is when the two conditions are unrelated (Section I.A.12.a).
- The rule for uncertain diagnoses depends on the setting. In outpatient care, coders do not code a diagnosis that the note calls “probable,” “suspected,” “rule out” or a similar term (Section IV.H). For inpatient admissions to short-term acute, long-term care and psychiatric hospitals, the rule is different. There, coders code an uncertain diagnosis at discharge as if it existed (Section II.H).
The checklist
- Find every code. Look in the problem list, assessment and plan, discharge diagnoses, billing sections, tables, headers and footers.
- Read each code exactly. Look for the letter O in place of the digit 0. Look for the letter I in place of the digit 1. Also look for missing placeholder X characters. These errors occur most often in scanned documents.
- Make sure that the code is complete. It must have the full number of characters that it needs, including any 7th character.
- Make sure that the code exists in the correct code set. Look it up in the CDC ICD-10-CM browser tool or in the CMS code files for the date of service.
- Find the written diagnosis. Each code must have a diagnosis in words, next to the code or in a different part of the note.
- Compare the code and the words. The official code title must match the written diagnosis. This includes details such as the side of the body, the type and the episode of care.
- Look at the certainty of the diagnosis. If the written diagnosis says “probable,” “suspected” or “rule out,” write that down. Also write down the care setting.
- Look for Excludes1 pairs. Two codes are a pair if they appear together and one has an Excludes1 note for the other. Flag each pair (mark it for review).
- Count. Before you start, choose the counting rule: every mention, or once per section. Then count the mentions of each unique code.
Record the result
| Code | Diagnosis as written | Official code title | Mentions | Where found | Status |
|---|---|---|---|---|---|
| Match / Mismatch / No description / Incomplete or invalid / Uncertain diagnosis |
Under the table, add a short summary. Give the number of unique codes, the total mentions and the number of flags of each type. Send the flags to the coder or clinician as questions. For each flag, give the section of the note.
Use this checklist with Claude or ChatGPT
An AI assistant can find codes in a long note and build the first version of the tally. You must be careful with patient data. Use only an AI service that your organization approved for health information. If you use a different service, remove names, dates, record numbers and every other identifying detail before you upload. Read the data settings of your workspace to learn how the service stores and uses uploaded files.
Attach the de-identified document (the copy without identifying details). Then paste this prompt:
Build a diagnosis code tally from the attached clinical document.
This is a documentation consistency check. Do not assign new codes,
do not suggest codes, and do not give medical advice.
1. List every ICD-10-CM code exactly as written, with where it appears.
2. Flag codes that look incomplete or malformed (wrong length,
possible O/0 or I/1 confusion, missing placeholder X).
3. For each code, quote the written diagnosis paired with it, or say
that there is none.
4. Say whether the written diagnosis appears to match the code. Flag
any official code title you are not sure of, so I can check it in
the current code set.
5. Flag diagnoses written as probable, suspected, rule out or similar.
6. Count the mentions of each unique code, counting [every mention /
once per section].
Show your reasoning for each flag. At the end, list everything you
could not read or determine.
AI tools can misread codes, invent a code title from memory, or use an old version of the code set. Look up every code and title yourself in the CDC browser tool or the CMS files. Count the mentions again for each code that you report. A qualified coder or clinician must make sure that the result is correct. The coder or clinician must do this before anyone uses the result for billing, audit findings or any decision about care.
A docs portal with Ask AI
and support tickets
Connect a repository, or describe your product to start. Each docs site has search, Ask AI, an API console, an MCP server and support tickets.
- Publishes from GitHub on every push
- Works with Mintlify repositories
- API console from your OpenAPI file
- MCP server and llms.txt for AI agents
- Ask AI and support tickets
- Analytics for people and AI agents