Anemia shows up everywhere in healthcare—primary care, internal medicine, OB/GYN, oncology, nephrology, pediatrics, and even urgent care. Some patients walk in complaining they feel “drained,” others say they get dizzy when they stand up, and a few learn about it only because a routine CBC caught it before the symptoms did.
Clinically, anemia is simple to spot. Billing it correctly? Not always.
Insurance companies expect precise coding. They want to know what type of anemia the patient has, why it happened, and whether another condition caused it. If your documentation leaves any of those answers floating in the air, the payer happily bounces your claim back for “medical necessity not supported.”
This guide walks you through every major Anemia ICD-10 code, how to use them properly, common pitfalls, documentation examples, and real-life scenarios.
Stick with me—this will save you denials, rework, and plenty of headaches.
How ICD-10 Categorizes Anemia
Before we jump into specific codes, let’s take a quick look at how ICD-10 arranges anemia.
All anemia codes are grouped under D50–D64.
These codes organize anemia based on its cause:
- Iron Deficiency (D50)
- B12 & Folate Deficiency (D51–D53)
- Hemolytic Anemias (D55–D59)
- Aplastic & Bone Marrow Failure (D60–D61)
- Anemia of Chronic Disease (D63)
- Other & Unspecified Anemia (D64)
- Pregnancy-related Anemia (O99.0xx)
- Neonatal & Infant Anemia (P61.2)
Insurance companies expect you to be as specific as possible. Choosing the wrong category—or something “unspecified”—can reduce your reimbursement or flag your claims for review.
Let’s break them down properly.
Iron Deficiency Anemia ICD-10 Codes (D50 Series)
Iron deficiency anemia is the star of the show—providers see it every day. It affects teens with heavy menstrual cycles, older adults with GI bleeding, and anyone with a poor diet or malabsorption issues.
D50.0 — Iron Deficiency Anemia Due to Chronic Blood Loss
This code applies to long-term bleeding scenarios in which the patient loses small amounts of blood over weeks or months.
You use it when the chart mentions:
- Long-term menorrhagia
- Gastric ulcers
- Hemorrhoids that bleed during every bowel movement
- Colon cancer or polyps
- Chronic NSAID-related gastritis
- Post-surgery bleeding
Example Scenario:
A 42-year-old woman reports heavy cycles for six months. Her ferritin is 11, and she feels short of breath climbing stairs. The provider notes “iron deficiency anemia due to chronic menstrual loss.”
That is a clean D50.0 case.
D50.8 — Other Iron Deficiency Anemia
This applies when the patient has a precise, identified cause that doesn’t fit neatly into “blood loss” or “unspecified.”
For example, malabsorption after gastric bypass, but without intrinsic factor issues.
D50.9 — Iron Deficiency Anemia, Unspecified
This is the “we don’t know the cause yet” code.
It’s okay to use this briefly—like the first visit—when the patient is still under workup. But if you use it for months, payers start questioning the medical necessity of labs, infusions, and even E/M visits.
How to Document Iron Deficiency Anemia
Documentation should clearly answer:
- What caused it?
- What did the labs show?
- How severe is it?
- What’s your plan—oral iron, IV iron, or endoscopy referral?
If you don’t document the cause, the payer automatically assumes you didn’t identify one—and they downcode your claim.
Vitamin B12 and Folate Deficiency Anemia ICD-10 Codes (D51–D53)
These anemias behave differently. Instead of low iron stores, these patients exhibit macrocytosis, numbness and tingling, memory issues, and sometimes balance problems.
D51.0 — Pernicious Anemia (Intrinsic Factor Deficiency)
This code should only be used when the provider documents:
- Intrinsic factor deficiency
- Autoimmune gastritis
- History of gastric bypass
- Proven malabsorption
If the provider writes “low B12,” don’t use D51.0—that’s overcoding and could trigger audits.
D51.9 — Vitamin B12 Deficiency Anemia, Unspecified
This is the safe choice when the patient has documented low B12, but you don’t yet know the underlying cause.
D52.x — Folate Deficiency Anemia
Use this for patients who experience anemia from:
- Poor diet
- Chronic alcohol use
- Overcooked food lacking folate
- Pregnancy
- Celiac or Crohn’s disease
Documentation Tips for B12/Folate Anemia
The chart should mention:
- B12 level
- Folate level
- Neurological symptoms
- GI history
- Whether injections or supplements are planned
Payers look for these details before approving long-term B12 injections.
Hemolytic Anemia ICD-10 Codes (D55–D59)
Hemolytic anemia is a complex family of disorders in which the body breaks down red blood cells prematurely.
These codes require careful selection.
D55.x — Anemia Due to Enzyme Disorders
These include rare conditions like G6PD deficiency.
Use them only when diagnosed, not “suspected.”
D56.x — Thalassemia
Common in certain ethnic groups.
Always document the specific type:
- Alpha thalassemia
- Beta thalassemia
- Thalassemia major
D57.x — Sickle-Cell Disorders
These codes are very detailed, and for good reason.
You must code:
- Whether the patient has a crisis
- The exact type of Crisis
- Any associated conditions
For example:
- D57.01 — Sickle-cell disease with acute chest syndrome
- D57.03 — With splenic sequestration
- D57.00 — Without Crisis
If the patient is NOT in Crisis, say it clearly in the note.
If they ARE, describe it accurately.
D59.x — Immune Hemolytic Anemia
This includes:
- Autoimmune hemolytic anemia
- Drug-induced hemolytic anemia
- Hemolysis from transfusion reactions
These require strong documentation because payers look for clinical proof—LDH, bilirubin, haptoglobin levels, and positive Coombs tests.
Aplastic Anemia & Bone Marrow Failure ICD-10 Codes (D60–D61)
This category covers serious disorders that reduce or shut down red blood cell production.
D60.9 — Aplastic Anemia, Unspecified
Use when the patient has pancytopenia or bone marrow dysfunction without a confirmed cause. Many cases start here until the workup is complete.
D61.3 — Idiopathic Aplastic Anemia
Use only when providers state it clearly.
D61.81 — Pancytopenia
This code is prevalent and often misused.
Use it only when all three cell lines are low:
- RBC
- WBC
- Platelets
If it’s only anemia and low platelets, it’s NOT pancytopenia.
Documentation Clues
Payers want:
- Bone marrow biopsy results
- CBC values
- Notes from hematology
- Treatment plan (transfusion, immunosuppressants)
Anemia of Chronic Disease ICD-10 Codes (D63 Series)
This is the trickiest section because you must always code TWO things:
- The underlying chronic disease
- The anemia linked to it
CMS loves denying these claims if you forget to link the codes correctly.
D63.0 — Anemia in Neoplastic Disease (Cancer)
Use when cancer—or its treatment—causes anemia.
D63.1 — Anemia in Chronic Kidney Disease
Pair it with:
- N18.1–N18.6 (CKD stage)
- N18.9 (CKD unspecified)
D63.8 — Anemia in Other Chronic Diseases
This one is a catch-all for conditions like:
- Heart failure
- Rheumatoid arthritis
- Chronic infections
Example: A patient with CKD stage 3 has anemia from low iron, not the kidney disease.
Correct coding:
- D50.9 (iron deficiency anemia)
- N18.3 (CKD Stage 3)
Incorrect coding:
- D63.1 (this would be denied)
Other & Unspecified Anemia ICD-10 Codes (D64 Series)
This category picks up all the leftovers, but you shouldn’t use it casually.
D64.0 — Anemia Due to Chronic Blood Loss (Non-Iron Deficiency)
Use if bleeding is documented, but iron studies are normal.
D64.81 — Anemia Due to Chemotherapy
This is an essential code because it justifies:
- Extra office visits
- Transfusions
- Growth factor injections
D64.9 — Anemia, Unspecified
This is the emergency-only ICD-10 code.
Use it if:
- The patient is new
- Labs are pending
- You don’t yet know the exact cause
Do NOT use it long-term.
Payers view unspecified codes as if you didn’t try to diagnose.
Pregnancy-Related Anemia ICD-10 Codes (O99.00–O99.03)
Pregnancy anemia needs three codes in every clean claim:
- The pregnancy-related anemia code
- The underlying anemia code
- The gestational age (Z3A.xx)
For example, A woman at 18 weeks of gestation with iron deficiency anemia:
- O99.012 — Anemia in pregnancy, second trimester
- D50.9 — Iron deficiency anemia, unspecified
- Z3A.18 — 18 weeks of gestation
Missing the Z3A code is the #1 reason OB anemia claims get denied.
Neonatal & Pediatric Anemia ICD-10 Code (P61.2)
P61.2 — Anemia of Prematurity
Use for premature infants who develop anemia from:
- Low iron stores
- Rapid growth
- Blood draws
- Feeding challenges
Documentation should include:
- Birth weight
- Gestational age
- Hemoglobin trends
- NICU treatments
How to Document Anemia for Clean Claims

Payers look for a story that makes sense.
Your note must answer:
- What type of anemia is it?
- What caused it?
- What did the labs show?
- How severe is it?
- What’s the plan?
- Are other chronic diseases involved?
The more specific you are, the faster the claim gets paid.
Common Provider Mistakes When Billing Anemia ICD-10 Codes
Billing anemia isn’t hard, but it becomes hard when minor errors slip into documentation or coding choices. And because most anemia claims tie directly to labs, chronic conditions, or infusion services, any mistake can snowball into denials, payment delays, or even payer audits.
Let’s walk through the most common mistakes providers make when billing anemia ICD-10 codes—and, more importantly, how to avoid them with simple, repeatable steps.
Using D64.9 (Anemia, unspecified) Too Often
Every payer hates this code. And honestly, they have a point. It tells them nothing about the cause, severity, or clinical direction of the patient’s anemia. So insurers often respond with: “Denied. Insufficient specificity.”
- It signals a lack of clinical detail.
- Many anemia types have more specific codes: iron deficiency (D50.9), B12 deficiency (D51.x), folate deficiency (D52.x), anemia of chronic disease (D63.8), anemia due to CKD (D63.1), etc.
- Using it frequently can flag a documentation pattern that payers don’t like.
How to Avoid This Mistake
- Always document the suspected cause when possible.
- Update the code once labs confirm the diagnosis.
- Build a simple workflow: “If anemia → check ferritin, iron panel, B12, folate, reticulocyte count → update final dx.”
Forgetting to Code the Underlying Condition
Anemia rarely exists on its own. It almost always ties back to an underlying problem.
But one of the biggest coding pitfalls happens when providers bill the anemia code but forget the chronic condition that caused it — especially in CKD, oncology, and inflammatory disease patients.
CMS and private payers need to see the causal relationship.
For example:
| Condition | Correct ICD-10 Link |
| CKD-related anemia | D63.1 + N18.x (stage of CKD) |
| Cancer-related anemia | D63.0 + cancer code (Cxx.x) |
| Chronic inflammatory disease | D63.8 + underlying disease code |
If you submit anemia alone, payers often deny infusion therapy or ESA injections because the claim looks incomplete.
How to Avoid This Mistake
- Train staff to always ask: “What is causing the anemia?”
- Link the anemia code to the underlying disease code.
- Document the relationship clearly:
- “Anemia due to CKD stage 4.”
- “Anemia secondary to chemotherapy.”
- Create templates in the EHR that prompt the provider to identify the underlying cause.
Coding “Without Crisis” in Sickle Cell Anemia When the Chart Doesn’t Support It
Sickle cell coding has one important rule:
If the provider doesn’t clearly write “without crisis,” you cannot code it that way.
Many practices make the mistake of assuming the patient is “without crisis” simply because they aren’t in severe pain or hospitalized. But payers don’t accept assumptions—they want documented language.
- ICD-10 sickle cell codes are separated into Crisis and Non-Crisis.
- If the documentation doesn’t state “no crisis,” the payer may assume a crisis could be present.
- Claims get flagged for a mismatch or insufficient detail.
How to Avoid This Mistake
- Add a required field in the EHR for sickle cell encounters:
→ “Crisis present today? Yes/No.” - Educate providers: one missing sentence can cost hundreds of dollars.
- Never assume “no crisis.” If it’s not written down, it doesn’t exist for billing purposes.
Missing Lab Documentation for Anemia Claims
This one is prevalent, especially when billing for iron infusions, B12 injections, or ESA therapies.
Most insurers want proof that the anemia is real and properly evaluated. That usually means attaching or referencing key labs.
The Labs Payers Expect
Different payers vary slightly, but most want at least:
- Ferritin
- Iron/TIBC
- Hemoglobin/Hematocrit
- Vitamin B12 & Folate (if deficiency suspected)
- Reticulocyte count (for hemolysis or bone marrow suppression)
For iron infusion claims (Venofer, Injectafer, Feraheme), ferritin is almost always required.
How to Avoid This Mistake
- Build a “lab checklist” inside your infusion workflow.
- Upload labs directly into the claim notes section.
- Document the anemia findings in the progress note:
- “Ferritin 11, Hb 9.4 — consistent with iron deficiency.”
- Train staff to double-check lab availability before submitting claims.
Conclusion
Anemia billing looks simple on the surface, but the details decide whether you get paid or denied. Overusing D64.9, forgetting to link underlying conditions, mis-coding sickle cell crises, or leaving out lab documentation are the most common—and avoidable—mistakes.
If you take anything away from this guide, let it be this:
Anemia billing isn’t about picking a code. It’s about telling the patient’s story clearly—what type of anemia it is, what caused it, and what evidence supports your plan.
A few minor tweaks to documentation and coding can dramatically reduce denials, especially for CKD anemia, cancer-related anemia, and iron infusion claims. With the correct workflow, your anemia claims stay clean, supported, and paid the first time.
Secure faster payments and stress-free billing—partner with SwiftCare Billing today!