A complete blood count is ordered so often that its diagnosis coding gets little attention, until the denials arrive. Payers want the ICD-10 code to show why the CBC was needed, and Medicare applies a national coverage policy to blood counts. This guide covers the CBC CPT codes, the ICD-10 codes that support them, and the mistakes that cause most CBC denials.
Quick answer: There is no single ICD-10 code for a CBC. Code the reason: a symptom such as R53.83 (fatigue), a condition such as D50.9 (iron deficiency anemia) or D69.6 (thrombocytopenia), Z79.899 for drug monitoring, Z01.812 for preprocedural labs, or Z00.00/Z00.01 for a routine exam. Bill CPT 85025 for a CBC with automated differential or 85027 without one.
Key takeaways
- Pick the right CPT: 85025 includes an automated differential; 85027 does not.
- Code the reason: Symptoms, known blood disorders, drug monitoring or pre-op status.
- Medicare has no CBC screening benefit: A routine CBC needs a covered diagnosis or an ABN.
- One CBC code per draw: Do not add 85004 or 85007 differentials on top of 85025.
What CPT Codes Are Used for a CBC?
| CPT | Description | Notes |
|---|---|---|
| 85025 | Blood count, complete (CBC), automated, with automated differential WBC count | Most common CBC code |
| 85027 | Blood count, complete (CBC), automated, without differential | Use when no differential is run |
| 85004 | Automated differential WBC count | Do not add to 85025 |
| 85007 / 85008 | Manual differential or smear review | Only when separately performed and supported |
Which ICD-10 Codes Support a CBC?
Symptoms and findings
| ICD-10-CM | Description |
|---|---|
| R53.83 | Other fatigue |
| R50.9 | Fever, unspecified |
| D72.829 | Elevated white blood cell count, unspecified |
| R71.8 | Other abnormality of red blood cells |
Known conditions
| ICD-10-CM | Description |
|---|---|
| D50.9 | Iron deficiency anemia, unspecified |
| D64.9 | Anemia, unspecified |
| D69.6 | Thrombocytopenia, unspecified |
| N18.30 | Chronic kidney disease, stage 3 unspecified |
Encounter and monitoring codes
| ICD-10-CM | Description | When to use it |
|---|---|---|
| Z79.899 | Other long term (current) drug therapy | Monitoring drugs that affect blood counts |
| Z01.812 | Encounter for preprocedural laboratory examination | CBC before a procedure |
| Z13.0 | Screening for diseases of the blood and immune mechanism | Anemia screening, no symptoms |
| Z00.00 / Z00.01 | General adult medical exam | CBC at a routine physical |
Specific codes beat unspecified ones when the note supports them. Check each code in the current CDC ICD-10-CM files, and see our guide to the fatigue ICD-10 code for symptom coding.
What Does Medicare Require for a CBC?
Medicare applies a national coverage determination for blood counts (NCD 190.15). It covers a CBC when there are signs, symptoms or conditions that a blood count can help evaluate, such as suspected anemia, infection, bleeding, or monitoring of a disease or drug that affects the blood. Routine screening is not covered. Our guide to lab screening ICD-10 codes explains which screening tests Medicare does pay for.
Repeat CBCs on a stable patient are a common Medicare denial. If the result is stable and nothing changed clinically, the note needs to explain why another count was needed.
Under the official ICD-10-CM coding guidelines, codes for signs and symptoms can be reported when a definitive diagnosis has not been established. Once the provider confirms a diagnosis, code the diagnosis instead of its symptoms.
How to Bill a CBC Correctly
- Check the analyzer output. Bill 85025 only if a differential was produced; otherwise 85027.
- Take the diagnosis from the order. The reason must be documented by the ordering provider.
- Avoid duplicate differentials. Do not add 85004 to 85025 for the same specimen.
- Get an ABN for routine Medicare CBCs. Append modifier GA when one is on file.
- Link each line. Point the CBC line to its supporting diagnosis.
Common CBC Denials and Fixes
| Denial cause | Fix |
|---|---|
| Routine screening billed to Medicare | Code the documented reason, or collect an ABN |
| 85025 and 85004 on the same claim | Bill 85025 alone |
| Unspecified diagnosis when the note is specific | Code to the documented specificity |
| Frequent repeats on a stable patient | Document the clinical reason for the repeat |
For related panels, see our guides to the BMP ICD-10 code and CPT codes for laboratory billing. Our laboratory billing services handle coding and follow-up for practices and labs.
Conclusion
A CBC claim pays when the CPT code matches what the analyzer ran and the ICD-10 code explains why it was ordered. Use symptom codes until a diagnosis is confirmed, the condition code when monitoring, and Z codes for pre-op and routine exams. Medicare covers blood counts only for a clinical reason, so routine CBCs need an ABN.
Need cleaner lab claims?
Dr Biller RCM codes lab services to the documented reason and follows up on every denial.
CBC ICD-10 FAQs
There is no single code. Report the reason for the test, such as a symptom, a known blood disorder, drug monitoring (Z79.899), preprocedural labs (Z01.812) or a routine exam (Z00.00).
85025 is a CBC with automated differential; 85027 is a CBC without a differential.
No. Medicare covers blood counts only for signs, symptoms or conditions under NCD 190.15, so routine CBCs need an ABN.
R53.83, other fatigue, when no definitive diagnosis has been made.
No. The automated differential is already included in 85025.
Z13.0, encounter for screening for diseases of the blood and blood-forming organs, when the patient has no symptoms.




