Lab ICD-10 codes are the ICD-10-CM diagnosis codes that explain why a laboratory test was ordered. Every lab claim pairs a procedure code, such as a CPT code, with at least one diagnosis code. Payers use that diagnosis to decide whether the test was medically necessary.
A correct CPT code still gets denied when the diagnosis does not support it. Medicare compares each diagnosis against its National Coverage Determinations (NCDs) and Local Coverage Determinations (LCDs). Commercial payers apply their own coverage lists for each test.
This guide lists common lab ICD-10 codes by test type, from diabetes and lipid testing to toxicology and genetic tests. It also covers Medicare screening rules, official coding guidelines, the FY 2027 code changes, and the errors that cause most diagnosis denials. For the full revenue cycle behind these codes, see our laboratory billing guide.
Table of Contents
ToggleWhat Are Lab ICD-10 Codes?
Lab ICD-10 codes are diagnosis codes from ICD-10-CM, the International Classification of Diseases, 10th Revision, Clinical Modification. The CDC’s National Center for Health Statistics (NCHS) and CMS maintain the code set. New codes take effect every October 1.
ICD-10-CM codes describe diagnoses, symptoms, and reasons for an encounter. They do not describe the test itself. That job belongs to CPT, HCPCS, and PLA codes.
ICD-10-CM vs CPT on a Lab Claim
A lab claim needs both code types: CPT for the test and ICD-10-CM for the reason. Each CPT line must point to the diagnosis that supports it. On the CMS-1500, this link happens through the diagnosis pointer in Item 24E.
| Factor | ICD-10-CM Codes | CPT Codes |
|---|---|---|
| What it describes | Why the test was ordered | What test was performed |
| Format | 3 to 7 characters, starting with a letter | 5 digits, or 4 digits plus “U” for PLA |
| Maintained by | CDC (NCHS) and CMS | American Medical Association (AMA) |
| Update cycle | Every October 1, plus some April updates | Every January 1, plus quarterly PLA updates |
| Example | E11.9, type 2 diabetes without complications | 83036, hemoglobin A1c |
For the procedure side of lab claims, see our guide to laboratory CPT codes.
Why Do Lab Claims Need ICD-10 Codes?
Lab claims need ICD-10 codes to prove medical necessity. Payers only pay for tests that a covered diagnosis supports. Without a matching diagnosis, the test is treated as not medically necessary.
Lab diagnosis errors lead to three common denial types:
| Denial Code | What It Means | Typical Diagnosis Problem |
|---|---|---|
| CO-11 | Diagnosis inconsistent with the procedure | Diagnosis does not match the test billed |
| CO-50 | Not medically necessary | Diagnosis is not on the NCD or LCD covered list |
| CO-16 | Claim lacks information | Missing, invalid, or non-billable diagnosis code |
Frequency limits add another layer. Some diagnoses support a test only a set number of times per year. A lab can bill the same test with the same diagnosis and still get denied for frequency.
How Are ICD-10-CM Codes Structured?
ICD-10-CM codes have 3 to 7 characters, starting with a letter. The first three characters set the category. Characters four through seven add detail, such as type, site, laterality, or severity.
A code is billable only when it reaches its highest level of detail. For example, R97.2 is a non-billable header, while R97.20 (elevated PSA) is billable. Billing a header code triggers a rejection.
Most lab diagnoses come from a handful of chapters:
| Chapter Letter | Chapter | Lab Examples |
|---|---|---|
| A and B | Infectious diseases | A49.9, bacterial infection, unspecified |
| C and D00 to D49 | Neoplasms | C61, prostate cancer |
| D50 to D89 | Blood disorders | D64.9, anemia, unspecified |
| E | Endocrine and metabolic | E11.9, type 2 diabetes |
| F | Mental and behavioral, including substance use | F11.20, opioid dependence |
| N | Genitourinary | N18.30, chronic kidney disease, stage 3 |
| O | Pregnancy | O24.419, gestational diabetes |
| R | Symptoms and abnormal findings | R53.83, other fatigue |
| Z | Health status and encounters | Z79.01, long-term use of anticoagulants |
What Are the Most Common ICD-10 Codes for Lab Tests?
The most common lab ICD-10 codes cover diabetes, lipids, thyroid, anemia, kidney, and infection. The tables below group codes by the lab tests they most often support. Always confirm coverage against the payer’s policy for the specific test.
Diabetes and Glucose Testing
These codes commonly support HbA1c (83036) and glucose (82947) tests. Long-term medication codes help justify ongoing monitoring.
| ICD-10-CM Code | Description |
|---|---|
| E11.9 | Type 2 diabetes mellitus without complications |
| E11.65 | Type 2 diabetes mellitus with hyperglycemia |
| E10.9 | Type 1 diabetes mellitus without complications |
| R73.03 | Prediabetes |
| R73.09 | Other abnormal glucose |
| Z79.4 | Long-term (current) use of insulin |
| Z79.84 | Long-term (current) use of oral hypoglycemic drugs |
| Z13.1 | Encounter for screening for diabetes mellitus |
Lipid Testing
These codes commonly support the lipid panel (80061) and direct LDL tests. Screening and diagnostic lipid tests follow different coverage rules.
| ICD-10-CM Code | Description |
|---|---|
| E78.5 | Hyperlipidemia, unspecified |
| E78.00 | Pure hypercholesterolemia, unspecified |
| E78.1 | Pure hyperglyceridemia |
| E78.2 | Mixed hyperlipidemia |
| Z13.220 | Encounter for screening for lipoid disorders |
| Z13.6 | Encounter for screening for cardiovascular disorders |
Thyroid Testing
These codes commonly support TSH (84443) and free T4 (84439) tests.
| ICD-10-CM Code | Description |
|---|---|
| E03.9 | Hypothyroidism, unspecified |
| E05.90 | Thyrotoxicosis, unspecified, without thyrotoxic crisis or storm |
| E89.0 | Postprocedural hypothyroidism |
| R94.6 | Abnormal results of thyroid function studies |
CBC and Blood Disorders
These codes commonly support the CBC (85025 and 85027). Symptom codes work when no diagnosis is confirmed yet.
| ICD-10-CM Code | Description |
|---|---|
| D64.9 | Anemia, unspecified |
| D50.9 | Iron deficiency anemia, unspecified |
| D69.6 | Thrombocytopenia, unspecified |
| D70.9 | Neutropenia, unspecified |
| D72.829 | Elevated white blood cell count, unspecified |
| R53.83 | Other fatigue |
| R50.9 | Fever, unspecified |
Kidney Function Testing
These codes commonly support the CMP (80053), renal panel (80069), and creatinine tests. CKD codes need the stage to be billable.
| ICD-10-CM Code | Description |
|---|---|
| N18.30 | Chronic kidney disease, stage 3 unspecified |
| N18.4 | Chronic kidney disease, stage 4 |
| N18.6 | End-stage renal disease |
| N17.9 | Acute kidney failure, unspecified |
| I12.9 | Hypertensive chronic kidney disease, stage 1 to 4 or unspecified |
| R80.9 | Proteinuria, unspecified |
| R94.4 | Abnormal results of kidney function studies |
Liver Function Testing
These codes commonly support the hepatic function panel (80076) and liver enzyme tests.
| ICD-10-CM Code | Description |
|---|---|
| R74.01 | Elevation of levels of liver transaminase levels |
| R74.8 | Abnormal levels of other serum enzymes |
| R94.5 | Abnormal results of liver function studies |
| K76.0 | Fatty (change of) liver, not elsewhere classified |
| K74.60 | Unspecified cirrhosis of liver |
Vitamin, Iron, and Mineral Testing
These codes commonly support vitamin D (82306), B12 (82607), and ferritin (82728) tests. Vitamin D is one of the most frequency-limited tests in lab billing.
| ICD-10-CM Code | Description |
|---|---|
| E55.9 | Vitamin D deficiency, unspecified |
| M81.0 | Age-related osteoporosis without current pathological fracture |
| D51.9 | Vitamin B12 deficiency anemia, unspecified |
| E53.8 | Deficiency of other specified B group vitamins |
| E61.1 | Iron deficiency |
| E21.3 | Hyperparathyroidism, unspecified |
Urinalysis and Urine Culture
These codes commonly support urinalysis (81001 to 81003) and urine culture (87086).
| ICD-10-CM Code | Description |
|---|---|
| N39.0 | Urinary tract infection, site not specified |
| N30.00 | Acute cystitis without hematuria |
| R30.0 | Dysuria |
| R31.9 | Hematuria, unspecified |
| R35.0 | Frequency of micturition |
| R82.71 | Bacteriuria |
Infectious Disease Testing
These codes commonly support rapid antigen tests, cultures, and NAAT panels.
| ICD-10-CM Code | Description |
|---|---|
| J02.0 | Streptococcal pharyngitis |
| J02.9 | Acute pharyngitis, unspecified |
| J06.9 | Acute upper respiratory infection, unspecified |
| J11.1 | Influenza due to unidentified influenza virus with other respiratory manifestations |
| U07.1 | COVID-19 |
| Z20.822 | Contact with and (suspected) exposure to COVID-19 |
| Z11.3 | Encounter for screening for infections with a predominantly sexual mode of transmission |
| Z11.4 | Encounter for screening for HIV |
Toxicology and Drug Monitoring
These codes commonly support presumptive (80305 to 80307) and definitive drug tests. Pair Z51.81 with a matching Z79 code when monitoring therapeutic drug levels.
| ICD-10-CM Code | Description |
|---|---|
| Z79.891 | Long-term (current) use of opiate analgesic |
| Z79.899 | Other long-term (current) drug therapy |
| Z51.81 | Encounter for therapeutic drug level monitoring |
| F11.20 | Opioid dependence, uncomplicated |
| F10.20 | Alcohol dependence, uncomplicated |
| F14.20 | Cocaine dependence, uncomplicated |
| F19.20 | Other psychoactive substance dependence, uncomplicated |
Cardiac Marker Testing
These codes commonly support troponin (84484) and BNP (83880) tests.
| ICD-10-CM Code | Description |
|---|---|
| R07.9 | Chest pain, unspecified |
| I21.9 | Acute myocardial infarction, unspecified |
| I50.9 | Heart failure, unspecified |
| R06.02 | Shortness of breath |
| R00.2 | Palpitations |
PSA and Prostate Testing
These codes commonly support PSA testing (84153 and G0103).
| ICD-10-CM Code | Description |
|---|---|
| R97.20 | Elevated prostate-specific antigen (PSA) |
| R97.21 | Rising PSA following treatment for malignant neoplasm of prostate |
| Z12.5 | Encounter for screening for malignant neoplasm of prostate |
| C61 | Malignant neoplasm of prostate |
| N40.1 | Benign prostatic hyperplasia with lower urinary tract symptoms |
| Z85.46 | Personal history of malignant neoplasm of prostate |
Anticoagulation Monitoring
These codes commonly support PT/INR (85610) and PTT (85730) tests.
| ICD-10-CM Code | Description |
|---|---|
| Z79.01 | Long-term (current) use of anticoagulants |
| I48.91 | Unspecified atrial fibrillation |
| Z86.718 | Personal history of other venous thrombosis and embolism |
| Z95.2 | Presence of prosthetic heart valve |
| D68.9 | Coagulation defect, unspecified |
Genetic and Pharmacogenomic Testing
These codes commonly support hereditary cancer panels, carrier screening, and PGx tests. Genetic tests often need prior authorization along with a supporting diagnosis.
| ICD-10-CM Code | Description |
|---|---|
| Z15.01 | Genetic susceptibility to malignant neoplasm of breast |
| Z80.3 | Family history of malignant neoplasm of breast |
| Z80.0 | Family history of malignant neoplasm of digestive organs |
| Z84.81 | Family history of carrier of genetic disease |
| Z31.430 | Encounter of female for testing for genetic disease carrier status for procreative management |
| Z79.02 | Long-term (current) use of antithrombotics and antiplatelets |
Z79.02 often supports CYP2C19 testing (81225) for patients on clopidogrel. PGx coverage depends on the specific drug and the payer’s policy.
Pregnancy and Prenatal Testing
These codes commonly support the obstetric panel (80055) and prenatal glucose tests.
| ICD-10-CM Code | Description |
|---|---|
| Z34.00 | Encounter for supervision of normal first pregnancy, unspecified trimester |
| Z34.80 | Encounter for supervision of other normal pregnancy, unspecified trimester |
| O24.419 | Gestational diabetes mellitus in pregnancy, unspecified control |
| Z33.1 | Pregnant state, incidental |
Preoperative and Other Encounter Codes
These Z codes describe the reason for the encounter, not a disease.
| ICD-10-CM Code | Description |
|---|---|
| Z01.812 | Encounter for preprocedural laboratory examination |
| Z01.83 | Encounter for blood typing |
| Z00.00 | Encounter for general adult medical examination without abnormal findings |
| Z00.01 | Encounter for general adult medical examination with abnormal findings |
| Z02.83 | Encounter for blood-alcohol and blood-drug test |
How Does Medicare Handle Screening Lab Codes?
Medicare does not cover routine screening labs unless a specific preventive benefit applies. Codes such as Z00.00 and Z00.01 appear on CMS’s list of non-covered diagnosis codes for all lab NCDs. A lab test billed with only these codes is denied.
Medicare does cover a set of preventive lab tests, each with its own code, diagnosis, and frequency:
| Preventive Test | Procedure Codes | Diagnosis Code | Medicare Frequency |
|---|---|---|---|
| Cardiovascular screening blood tests | 80061, 82465, 83718, 84478 | Z13.6 | Once every 5 years |
| Diabetes screening | 82947, 82950, 82951 | Z13.1 | Up to twice a year for eligible patients |
| Prostate cancer screening (PSA) | G0103 | Z12.5 | Once a year, men 50 and older |
| HIV screening | G0475 | Z11.4 | Once a year for eligible patients |
| Hepatitis C screening | G0472 | Z11.59, plus risk factor codes when needed | Once for most adults, yearly for high risk |
| Colorectal screening, stool DNA | 81528 | Z12.11 or Z12.12 | Once every 3 years, ages 45 to 85 |
| Colorectal screening, FIT | 82274 or G0328 | Z12.11 or Z12.12 | Once a year |
In practice, the most common mistake is billing a screening test with diagnostic CPT codes. Screening PSA, for example, must go to Medicare as G0103, not 84153.
When a test may not meet Medicare coverage, the lab needs a signed Advance Beneficiary Notice (ABN) before collection. Without one, the lab cannot bill the patient for the denied test.
What Are the Official ICD-10 Coding Rules for Lab Tests?
Outpatient lab coding follows Section IV of the ICD-10-CM Official Guidelines for Coding and Reporting. These rules decide which diagnosis goes on the claim. They differ from inpatient rules in several key ways.
Code Only What the Ordering Provider Documents
Labs must use the diagnosis the ordering provider supplies on the requisition. A lab cannot add a diagnosis on its own, even when results suggest one. When the requisition lacks a diagnosis, the lab must go back to the ordering office.
Do Not Code Uncertain Diagnoses
Outpatient claims cannot use “rule out,” “probable,” or “suspected” diagnoses. Code the signs, symptoms, or abnormal findings that led to the test instead. For example, a test to rule out anemia uses R53.83 (fatigue), not D64.9.
Code Confirmed Diagnoses From Interpreted Tests
When a physician has interpreted a test and the final report is available, code the confirmed diagnosis. Do not add the related signs and symptoms as extra diagnoses. This rule mostly applies to pathology and other interpreted tests.
Code to the Highest Level of Detail
Always use the most specific billable code available. Header codes such as N18.3 and R97.2 are not billable. Unspecified codes are allowed, but payers increasingly question them when a specific code fits.
What Changed in the FY 2027 ICD-10-CM Update?
The FY 2027 ICD-10-CM update took effect on October 1, 2026, with 190 new codes, 30 deletions, and four revisions. It applies to dates of service from October 1, 2026, through September 30, 2027. There is no grace period for deleted codes.
A few new codes touch common lab testing:
- Z86.17: Personal history of Clostridioides difficile infection, relevant to C. diff testing
- E89.830 and E89.838: Hypoglycemia after bariatric and other surgeries, relevant to glucose testing
- K74.0A: Hepatic fibrosis, moderate (stage F2), relevant to liver testing
- Z68.18 and Z68.19: New low-end adult BMI codes
Labs should load the FY 2027 code files and check requisition templates for any deleted codes. Ordering offices often keep old codes on paper requisitions long after they stop being valid.
What Are the Most Common Lab ICD-10 Coding Errors?
Most lab diagnosis errors start on the requisition, long before billing sees the claim. Each one has a clear fix.
| Error | What Goes Wrong | Fix |
|---|---|---|
| Non-billable header codes | Code like R97.2 or N18.3 billed | Use the full billable code, such as R97.20 or N18.30 |
| Rule-out diagnoses | “Rule out anemia” coded as D64.9 | Code the symptom or finding instead |
| Routine Z codes to Medicare | Z00.00 used as the only diagnosis | Use a covered preventive benefit or get an ABN |
| Diagnosis not linked | CPT line points to the wrong diagnosis | Check diagnosis pointers in Item 24E |
| Deleted codes | Old codes used after October 1 | Load new code files and update requisitions |
| Missing medication codes | Drug monitoring billed without Z79 codes | Add Z79.899, Z79.01, or Z51.81 as needed |
| Lab-assigned diagnoses | Lab adds a diagnosis from results | Query the ordering provider instead |
How Can Labs Improve Diagnosis Coding Accuracy?
Accurate lab diagnosis coding starts with the requisition. Requisitions should require a diagnosis code for every test ordered. Electronic orders should block deleted or non-billable codes before they reach the lab.
Coders should check each diagnosis against the NCD or LCD for that test before submission. When a test likely falls outside coverage, staff should collect an ABN at specimen collection. Denial data should also feed back to ordering offices, so the same errors stop repeating.
Many labs rely on experienced laboratory billing partners to manage these checks at scale. A strong partner tracks ICD-10, NCD, and LCD updates and applies them before claims go out.
Transcure’s laboratory billing services pair certified lab coders with lab-specific claim scrubbing. Every diagnosis is checked for billability, coverage, and frequency before submission.
Lab ICD-10 Code FAQs
What Is the ICD-10 Code for Routine Lab Work?
Z00.00 or Z00.01 is used for routine lab work done as part of a general adult exam. Medicare does not cover lab tests billed with only these codes. Commercial plans often cover them under preventive benefits.
What ICD-10 Code Covers a CBC?
No single code covers a CBC in every case. Common supporting codes include D64.9 (anemia), R53.83 (fatigue), and R50.9 (fever). The right code depends on why the provider ordered the test.
Which are the Top Laboratory Billing Companies in the U.S.?
Transcure, Lighthouse Lab Services, and PGM Billing are among the top laboratory billing companies in the U.S. Transcure ranks first for its certified lab coders, AI-powered claim scrubbing, and 4% to 5% pricing.
Can a Lab Assign Its Own Diagnosis Code?
No, a lab must use the diagnosis supplied by the ordering provider. If the requisition lacks a diagnosis, the lab must query the ordering office before billing.
What Is the ICD-10 Code for Preoperative Lab Tests?
Z01.812 is the code for an encounter for preprocedural laboratory examination. Add a second code for the condition that requires the procedure.
When Do New ICD-10 Codes Take Effect?
New ICD-10-CM codes take effect every October 1. The FY 2027 update took effect on October 1, 2026. Some years also include a smaller April update.
What ICD-10 Code Is Used for Drug Level Monitoring?
Z51.81 is the code for an encounter for therapeutic drug level monitoring. Pair it with a long-term drug use code, such as Z79.899 or Z79.01.



