Lab ICD-10 Codes: Diagnosis Codes for Laboratory Tests and Medical Necessity

Lab ICD-10 Codes Diagnosis Codes for Laboratory Tests and Medical Necessity
Lab ICD-10 codes by test: diabetes, lipid, thyroid, CBC, urine, toxicology, and genetic tests, plus Medicare screening rules and FY 2027 code changes.

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.

Losing lab claims to CO-11 and CO-50 diagnosis denials?

Transcure Logo

What 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.

FactorICD-10-CM CodesCPT Codes
What it describesWhy the test was orderedWhat test was performed
Format3 to 7 characters, starting with a letter5 digits, or 4 digits plus “U” for PLA
Maintained byCDC (NCHS) and CMSAmerican Medical Association (AMA)
Update cycleEvery October 1, plus some April updatesEvery January 1, plus quarterly PLA updates
ExampleE11.9, type 2 diabetes without complications83036, 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 CodeWhat It MeansTypical Diagnosis Problem
CO-11Diagnosis inconsistent with the procedureDiagnosis does not match the test billed
CO-50Not medically necessaryDiagnosis is not on the NCD or LCD covered list
CO-16Claim lacks informationMissing, 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 LetterChapterLab Examples
A and BInfectious diseasesA49.9, bacterial infection, unspecified
C and D00 to D49NeoplasmsC61, prostate cancer
D50 to D89Blood disordersD64.9, anemia, unspecified
EEndocrine and metabolicE11.9, type 2 diabetes
FMental and behavioral, including substance useF11.20, opioid dependence
NGenitourinaryN18.30, chronic kidney disease, stage 3
OPregnancyO24.419, gestational diabetes
RSymptoms and abnormal findingsR53.83, other fatigue
ZHealth status and encountersZ79.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 CodeDescription
E11.9Type 2 diabetes mellitus without complications
E11.65Type 2 diabetes mellitus with hyperglycemia
E10.9Type 1 diabetes mellitus without complications
R73.03Prediabetes
R73.09Other abnormal glucose
Z79.4Long-term (current) use of insulin
Z79.84Long-term (current) use of oral hypoglycemic drugs
Z13.1Encounter 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 CodeDescription
E78.5Hyperlipidemia, unspecified
E78.00Pure hypercholesterolemia, unspecified
E78.1Pure hyperglyceridemia
E78.2Mixed hyperlipidemia
Z13.220Encounter for screening for lipoid disorders
Z13.6Encounter for screening for cardiovascular disorders

Thyroid Testing

These codes commonly support TSH (84443) and free T4 (84439) tests.

ICD-10-CM CodeDescription
E03.9Hypothyroidism, unspecified
E05.90Thyrotoxicosis, unspecified, without thyrotoxic crisis or storm
E89.0Postprocedural hypothyroidism
R94.6Abnormal 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 CodeDescription
D64.9Anemia, unspecified
D50.9Iron deficiency anemia, unspecified
D69.6Thrombocytopenia, unspecified
D70.9Neutropenia, unspecified
D72.829Elevated white blood cell count, unspecified
R53.83Other fatigue
R50.9Fever, 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 CodeDescription
N18.30Chronic kidney disease, stage 3 unspecified
N18.4Chronic kidney disease, stage 4
N18.6End-stage renal disease
N17.9Acute kidney failure, unspecified
I12.9Hypertensive chronic kidney disease, stage 1 to 4 or unspecified
R80.9Proteinuria, unspecified
R94.4Abnormal results of kidney function studies

Liver Function Testing

These codes commonly support the hepatic function panel (80076) and liver enzyme tests.

ICD-10-CM CodeDescription
R74.01Elevation of levels of liver transaminase levels
R74.8Abnormal levels of other serum enzymes
R94.5Abnormal results of liver function studies
K76.0Fatty (change of) liver, not elsewhere classified
K74.60Unspecified 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 CodeDescription
E55.9Vitamin D deficiency, unspecified
M81.0Age-related osteoporosis without current pathological fracture
D51.9Vitamin B12 deficiency anemia, unspecified
E53.8Deficiency of other specified B group vitamins
E61.1Iron deficiency
E21.3Hyperparathyroidism, unspecified

Urinalysis and Urine Culture

These codes commonly support urinalysis (81001 to 81003) and urine culture (87086).

ICD-10-CM CodeDescription
N39.0Urinary tract infection, site not specified
N30.00Acute cystitis without hematuria
R30.0Dysuria
R31.9Hematuria, unspecified
R35.0Frequency of micturition
R82.71Bacteriuria

Infectious Disease Testing

These codes commonly support rapid antigen tests, cultures, and NAAT panels.

ICD-10-CM CodeDescription
J02.0Streptococcal pharyngitis
J02.9Acute pharyngitis, unspecified
J06.9Acute upper respiratory infection, unspecified
J11.1Influenza due to unidentified influenza virus with other respiratory manifestations
U07.1COVID-19
Z20.822Contact with and (suspected) exposure to COVID-19
Z11.3Encounter for screening for infections with a predominantly sexual mode of transmission
Z11.4Encounter for screening for HIV
Infectious disease panels getting denied for medical necessity?

Transcure Logo

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 CodeDescription
Z79.891Long-term (current) use of opiate analgesic
Z79.899Other long-term (current) drug therapy
Z51.81Encounter for therapeutic drug level monitoring
F11.20Opioid dependence, uncomplicated
F10.20Alcohol dependence, uncomplicated
F14.20Cocaine dependence, uncomplicated
F19.20Other psychoactive substance dependence, uncomplicated

Cardiac Marker Testing

These codes commonly support troponin (84484) and BNP (83880) tests.

ICD-10-CM CodeDescription
R07.9Chest pain, unspecified
I21.9Acute myocardial infarction, unspecified
I50.9Heart failure, unspecified
R06.02Shortness of breath
R00.2Palpitations

PSA and Prostate Testing

These codes commonly support PSA testing (84153 and G0103).

ICD-10-CM CodeDescription
R97.20Elevated prostate-specific antigen (PSA)
R97.21Rising PSA following treatment for malignant neoplasm of prostate
Z12.5Encounter for screening for malignant neoplasm of prostate
C61Malignant neoplasm of prostate
N40.1Benign prostatic hyperplasia with lower urinary tract symptoms
Z85.46Personal history of malignant neoplasm of prostate

Anticoagulation Monitoring

These codes commonly support PT/INR (85610) and PTT (85730) tests.

ICD-10-CM CodeDescription
Z79.01Long-term (current) use of anticoagulants
I48.91Unspecified atrial fibrillation
Z86.718Personal history of other venous thrombosis and embolism
Z95.2Presence of prosthetic heart valve
D68.9Coagulation 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 CodeDescription
Z15.01Genetic susceptibility to malignant neoplasm of breast
Z80.3Family history of malignant neoplasm of breast
Z80.0Family history of malignant neoplasm of digestive organs
Z84.81Family history of carrier of genetic disease
Z31.430Encounter of female for testing for genetic disease carrier status for procreative management
Z79.02Long-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 CodeDescription
Z34.00Encounter for supervision of normal first pregnancy, unspecified trimester
Z34.80Encounter for supervision of other normal pregnancy, unspecified trimester
O24.419Gestational diabetes mellitus in pregnancy, unspecified control
Z33.1Pregnant state, incidental

Preoperative and Other Encounter Codes

These Z codes describe the reason for the encounter, not a disease.

ICD-10-CM CodeDescription
Z01.812Encounter for preprocedural laboratory examination
Z01.83Encounter for blood typing
Z00.00Encounter for general adult medical examination without abnormal findings
Z00.01Encounter for general adult medical examination with abnormal findings
Z02.83Encounter 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 TestProcedure CodesDiagnosis CodeMedicare Frequency
Cardiovascular screening blood tests80061, 82465, 83718, 84478Z13.6Once every 5 years
Diabetes screening82947, 82950, 82951Z13.1Up to twice a year for eligible patients
Prostate cancer screening (PSA)G0103Z12.5Once a year, men 50 and older
HIV screeningG0475Z11.4Once a year for eligible patients
Hepatitis C screeningG0472Z11.59, plus risk factor codes when neededOnce for most adults, yearly for high risk
Colorectal screening, stool DNA81528Z12.11 or Z12.12Once every 3 years, ages 45 to 85
Colorectal screening, FIT82274 or G0328Z12.11 or Z12.12Once 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.

ErrorWhat Goes WrongFix
Non-billable header codesCode like R97.2 or N18.3 billedUse the full billable code, such as R97.20 or N18.30
Rule-out diagnoses“Rule out anemia” coded as D64.9Code the symptom or finding instead
Routine Z codes to MedicareZ00.00 used as the only diagnosisUse a covered preventive benefit or get an ABN
Diagnosis not linkedCPT line points to the wrong diagnosisCheck diagnosis pointers in Item 24E
Deleted codesOld codes used after October 1Load new code files and update requisitions
Missing medication codesDrug monitoring billed without Z79 codesAdd Z79.899, Z79.01, or Z51.81 as needed
Lab-assigned diagnosesLab adds a diagnosis from resultsQuery 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.

Ready to stop losing lab revenue to diagnosis denials?

Transcure Logo

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.

Picture of Osama Amir
Osama Amir
Expert Healthcare Writer with Specialization in Medical Billing

Share:

Facebook
Twitter
LinkedIn

Your financial well-being is our top priority!

Get in touch with us for a personalized billing solution that secures your practice’s finances.

Specialties

Physical Medicine

Sleep Medicine

Urology

Behavioral Health

Rehabilitative Medicine

Oncology

Allergy Immunology

Pulmonary

Vascular Surgery

Rheumatology

Hand Surgery

Physical Therapy

Speech Therapy

Urgent Care

Otolaryngology