CERTIFIED PROFESSIONAL CODER (CPC) • ICD-10-CM

Assign ICD10 Diagnosis Codes — Locate and assign diagnosis codes using Index and Tabular.

Master the two-step process of navigating the Alphabetic Index and Tabular List to assign accurate ICD-10-CM diagnosis codes.

Historical Context & Motivation

The classification of diseases is not a modern invention—it stretches back centuries as physicians and public health officials sought a standardized language for describing human illness. The International Classification of Diseases (ICD) began as a statistical tool to track causes of death and evolved into the backbone of modern healthcare reimbursement, clinical research, and public health surveillance. Understanding this history illuminates why the current system, ICD-10-CM, demands such precision in code assignment and why every coder must master the dual-tool approach of the Alphabetic Index and the Tabular List.

1893
Bertillon Classification Adopted
Jacques Bertillon introduced the International List of Causes of Death, adopted by the International Statistical Institute. This first systematic classification established the framework for future disease coding systems used worldwide.
1948
WHO Takes Stewardship — ICD-6
The World Health Organization (WHO) assumed responsibility for the classification, expanding it beyond mortality to include morbidity data. ICD-6 introduced disease coding for living patients, transforming it from a death registry tool into a clinical classification system.
1979
ICD-9-CM Released in the U.S.
The United States developed ICD-9-CM (Clinical Modification) to provide greater clinical specificity for morbidity coding and reimbursement. The system used 3–5 digit numeric codes and served as the U.S. standard for over three decades.
2015
U.S. Transitions to ICD-10-CM
On October 1, 2015, the U.S. mandated the transition from ICD-9-CM to ICD-10-CM. The new system expanded from roughly 14,000 codes to over 72,000, using alphanumeric codes up to seven characters long, dramatically increasing clinical specificity and granularity.
2024
Annual Updates Continue
ICD-10-CM receives annual updates every October 1, with new codes added, revised, and deleted. Coders must stay current with these revisions to maintain coding accuracy, making ongoing education a professional requirement.

The transition to ICD-10-CM fundamentally changed the coder's workflow. With tens of thousands of codes organized in a complex hierarchical structure, the question became: how does a coder reliably find the single most specific, accurate code for a given diagnosis? The answer lies in the disciplined, sequential use of two interdependent tools—the Alphabetic Index and the Tabular List—a process that forms the cornerstone of every CPC candidate's diagnostic coding competence.

Core Principles & Definitions

Before diving into the mechanics of code lookup, it is essential to understand the foundational principles that govern ICD-10-CM coding. These principles are codified in the ICD-10-CM Official Guidelines for Coding and Reporting, published jointly by the American Hospital Association (AHA), the American Health Information Management Association (AHIMA), CMS, and NCHS. The guidelines mandate that coders use both the Alphabetic Index and the Tabular List when assigning codes—never one without the other. This dual-step verification process is not optional; it is the standard of practice that ensures clinical accuracy and reimbursement integrity.

1

Alphabetic Index

The multi-part index that lists diseases, conditions, and reasons for encounters in alphabetical order by main term. It includes the Index to Diseases and Injuries, the Index to External Causes, the Neoplasm Table, and the Table of Drugs and Chemicals. It serves as the starting point for every code search.
2

Tabular List

The alphanumeric, hierarchical listing of all ICD-10-CM codes organized into 21 chapters by body system or etiology. It contains Includes notes, Excludes1 and Excludes2 notes, Code First/Use Additional Code instructions, and 7th-character requirements that cannot be found in the Index alone.
3

Main Term

The word or phrase a coder looks up first in the Alphabetic Index. Main terms are typically conditions (e.g., Fracture, Pneumonia, Diabetes), not anatomical sites. They appear in bold print and are listed alphabetically as standalone entries at the left margin of the Index.
4

Specificity Principle

ICD-10-CM requires codes to be assigned to the highest level of specificity supported by the clinical documentation. A three-character category code should not be reported if four-, five-, six-, or seven-character codes exist within that category and the documentation supports greater detail.
5

Code Structure

ICD-10-CM codes are 3–7 characters long. The first character is always alpha (A–Z, excluding U). Characters 2–3 are numeric, forming the category. A decimal point follows the third character. Characters 4–7 provide etiology, anatomic site, severity, and encounter type specificity.
KEY TAKEAWAY
Think of the Alphabetic Index as the table of contents in a massive encyclopedia—it points you to the right chapter and page, but it never gives you the full story. The Tabular List is the actual encyclopedia entry, complete with footnotes, cross-references, and critical fine print. You would never cite an encyclopedia after reading only the table of contents, and similarly, you must never assign a code based solely on the Index. The Index locates; the Tabular verifies and refines.

Visual Explanation — The Code Lookup Workflow

The diagram below illustrates the complete step-by-step workflow for assigning an ICD-10-CM diagnosis code. Notice the linear flow from clinical documentation through the Alphabetic Index, then to the Tabular List, and finally to code assignment. Each stage includes decision points where the coder must evaluate specificity, verify instructional notes, and confirm that the code fully reflects the documented diagnosis.

The workflow flows from top to bottom: begin with clinical documentation, identify the main term, navigate the Alphabetic Index, cross-reference the Tabular List, and assign the final verified code. Note the feedback loops—if the Index provides a cross-reference ("see also"), return and look up the alternative term; if the Tabular reveals the code is incomplete or incorrect, return to the Index for a better starting point.

How It Works — Navigating the Index and Tabular

Step 1: Navigating the Alphabetic Index

The Alphabetic Index is divided into four distinct sections, each serving a specific purpose. The Index to Diseases and Injuries is the primary section used for most diagnosis coding. The Neoplasm Table organizes neoplasm codes by anatomical site and behavior (malignant primary, malignant secondary, in situ, benign, uncertain behavior, and unspecified). The Table of Drugs and Chemicals directs coders to appropriate poisoning, adverse effect, and underdosing codes. Finally, the Index to External Causes provides codes for mechanisms of injury, such as falls, motor vehicle accidents, or assaults.

When searching the Index, the coder must first identify the main term, which is typically the condition, disease, or symptom—never the anatomical site. For example, if the diagnosis is "acute appendicitis," the main term is "Appendicitis," not "Appendix." Once the main term is located, the coder reviews indented subterms that narrow the code by type, site, acuity, or other qualifiers. Subterms are indented beneath the main term and listed alphabetically, with further sub-subterms indented beneath them. Non-essential modifiers appear in parentheses following the main term and do not affect code selection.

Step 2: Verifying in the Tabular List

After obtaining a tentative code from the Alphabetic Index, the coder must cross-reference the Tabular List to verify accuracy. The Tabular List is organized into 21 chapters, primarily by body system (e.g., Chapter 9: Diseases of the Circulatory System, I00–I99) or by etiology (e.g., Chapter 1: Certain Infectious and Parasitic Diseases, A00–B99). Within each chapter, codes are arranged in a hierarchical structure: chapters → blocks → categories (3 characters) → subcategories (4–5 characters) → codes (up to 7 characters). The coder must read all instructional notes at the chapter, block, category, and subcategory levels before finalizing the code.

📋 Critical Instructional Notes in the Tabular List
Includes notes clarify the content of a category with synonyms or conditions included under that code. Excludes1 means "NOT CODED HERE"—the two conditions are mutually exclusive and cannot be reported together. Excludes2 means "NOT INCLUDED HERE"—the excluded condition is different and may be reported additionally if documented. Code First / Use Additional Code instructions indicate sequencing requirements when multiple codes are needed to fully describe a condition.

Understanding the 7th Character

Certain ICD-10-CM chapters require a 7th-character extension to capture the encounter type. This is most prominent in Chapter 19 (Injury, Poisoning, and Certain Other Consequences of External Causes) and Chapter 13 (Musculoskeletal). Common 7th-character values include A for initial encounter, D for subsequent encounter, and S for sequela. If the code is fewer than seven characters, placeholder "X" characters are inserted to maintain the correct position of the 7th character. For example, an initial encounter for a poisoning code that is only five characters long would have an X in the 6th position followed by A in the 7th: T39.1X1A.

ICD-10-CM Code Structure & Anatomy

A deep understanding of ICD-10-CM code structure enables faster navigation and more accurate code assignment. Every code tells a story—its characters reveal the body system, the specific condition, the anatomical site, the laterality, the severity, and the encounter type. The following diagram dissects the anatomy of an ICD-10-CM code using a concrete example.

Each character in the code S52.521A conveys specific clinical meaning: the category letter (S) identifies the chapter, the numeric characters define the body region and fracture type, character 6 indicates laterality (1 = right, 2 = left, 9 = unspecified), and the 7th character (A) specifies the encounter type. Note the decimal point after the third character—this is standard formatting for all ICD-10-CM codes.
Character-by-character breakdown of ICD-10-CM code S52.521A
Character PositionContentExample ValueMeaning
1st (Alpha)Chapter / Category letterSInjury, Poisoning, External Causes
2nd–3rd (Numeric)Category52Fracture of forearm
4thSubcategory (site detail)5Lower end of radius
5thFracture type2Torus fracture
6thLaterality1Right
7thEncounter typeAInitial encounter

Worked Example — Assigning a Code from Scratch

Consider the following clinical scenario: A patient presents to the office with a documented diagnosis of "Type 2 diabetes mellitus with diabetic chronic kidney disease, stage 3." The coder must assign the appropriate ICD-10-CM code(s) using the Alphabetic Index and Tabular List.

Assigning ICD-10-CM Codes for Type 2 Diabetes with CKD Stage 3
1
Step 1 — Identify Main Terms from DocumentationRead the clinical documentation carefully. The diagnosis is "Type 2 diabetes mellitus with diabetic chronic kidney disease, stage 3." The primary condition is diabetes, so the main term to look up in the Alphabetic Index is "Diabetes" (or "Diabetes, diabetic"). Note that "chronic kidney disease" is a manifestation that must also be coded.
Main term identified: Diabetes, diabetic
2
Step 2 — Search the Alphabetic IndexIn the Alphabetic Index, locate the main term "Diabetes, diabetic (mellitus)." Under this entry, find the subterm "type 2." Under type 2, look for the subterm "with" and then "kidney complications." The Index entry under Diabetes > type 2 > with > chronic kidney disease directs you to code E11.22. Note that the Index may also instruct you to "Use additional code to identify stage of chronic kidney disease (N18.1–N18.6)."
Tentative code from Index: E11.22
3
Step 3 — Verify in the Tabular ListTurn to the Tabular List and locate category E11 (Type 2 diabetes mellitus). Navigate to E11.22—"Type 2 diabetes mellitus with diabetic chronic kidney disease." Read all instructional notes. At the category level, you will find an instruction: "Use additional code to identify control using insulin (Z79.4), oral hypoglycemic drugs (Z79.84), or injectable non-insulin antidiabetic drugs (Z79.899)." Under E11.22 specifically, the note states: "Use additional code to identify stage of chronic kidney disease (N18.1–N18.6)." Confirm that no Excludes1 notes apply.
E11.22 verified — additional code required for CKD stage
4
Step 4 — Assign Additional Code for CKD StageThe documentation specifies "stage 3" CKD. Return to the Alphabetic Index and look up "Disease, kidney, chronic" or go directly to the Tabular List category N18. N18.3 corresponds to "Chronic kidney disease, stage 3 (moderate)." Note that the 2023+ update split stage 3 into N18.30 (unspecified), N18.31 (stage 3a), and N18.32 (stage 3b). If the documentation does not specify 3a or 3b, assign N18.30. Verify in the Tabular List, checking all Includes and Excludes notes.
Additional code: N18.30 (CKD, stage 3, unspecified)
5
Step 5 — Finalize Code Assignment and SequencingThe final code assignment includes two codes reported together: E11.22 as the primary code (listed first per the "Code First" convention for diabetes as the underlying condition) and N18.30 as the additional code identifying the CKD stage. If the patient also uses insulin, add Z79.4. Always ensure sequencing follows the coding guidelines—the etiology (diabetes) is sequenced before the manifestation (CKD stage) unless specific payer guidelines override.
Final codes: E11.22 + N18.30 (add Z79.4 if insulin-dependent)

Common Pitfalls & Best Practices

Even experienced coders can fall into coding traps that lead to claim denials, compliance issues, or inaccurate data reporting. Understanding the most common errors and the best practices that prevent them is critical for CPC examination success and professional practice. The following table contrasts frequent mistakes with their corrective strategies.

Common ICD-10-CM coding pitfalls and their corrective best practices
Common PitfallWhy It's WrongBest Practice
Coding directly from the Alphabetic Index without verifying in the Tabular ListThe Index does not display Includes/Excludes notes, 7th-character requirements, or Use Additional Code instructions. Codes assigned from the Index alone may be incomplete or incorrect.Always cross-reference the Tabular List. Read all notes at the chapter, block, category, and subcategory levels before assigning.
Looking up anatomical sites as main termsThe main term in the Index is typically the condition, not the body part. Searching for "Knee" instead of "Osteoarthritis" leads to dead ends or incorrect cross-references.Identify the condition or disease first. Use the anatomical site as a subterm qualifier beneath the condition's main term entry.
Using a truncated code when more specific characters are availableICD-10-CM requires maximum specificity. A 3-character category code is only valid if no further subdivisions exist. Reporting S52.5 instead of S52.521A is incomplete.Code to the fullest number of characters available. Check for required 7th characters and use placeholder X as needed.
Ignoring Excludes1 vs. Excludes2 distinctionsExcludes1 indicates mutual exclusivity—reporting both codes together violates coding rules. Excludes2 allows dual reporting. Confusing the two causes compliance violations.Read every Excludes note carefully. Excludes1 = never report together. Excludes2 = may report together if both conditions are documented.
Omitting required additional codesInstructions like "Use additional code" and "Code also" are mandatory, not optional. Missing them results in incomplete reporting and potential audit findings.Follow all sequencing instructions. When the Tabular says 'Use additional code,' assign the additional code. When it says 'Code first,' sequence accordingly.
KEY TAKEAWAY
Think of ICD-10-CM coding like GPS navigation: the Alphabetic Index gives you the general address, but the Tabular List provides the turn-by-turn directions, road closures, and detour warnings. If you trust only the initial address without following the detailed route instructions, you will inevitably end up at the wrong destination. Every instructional note in the Tabular List is a road sign—ignore it at your peril.

Connection to Advanced Coding Concepts

Mastering the basic Index-to-Tabular workflow prepares you for more advanced coding challenges that appear on the CPC exam and in professional practice. The foundational skill of navigating these two tools scales directly into complex, multi-code scenarios involving combination codes, etiology-manifestation pairs, external cause coding, and Z-code utilization. Understanding where the basic workflow ends and advanced application begins is essential for career development.

How basic Index/Tabular skills connect to advanced CPC concepts
Basic ConceptAdvanced ApplicationCPC Exam Relevance
Single code from Index → TabularCombination codes that capture both etiology and manifestation in a single code (e.g., E11.311 = diabetes + retinopathy)CPC tests whether you recognize combination codes vs. dual coding
Excludes1 / Excludes2 notesManifestation code sequencing—where the Tabular mandates Code First for the underlying disease followed by Use Additional Code for the manifestationSequencing questions frequently appear; wrong order = wrong answer
7th-character extensions (A, D, S)Gustilo classification 7th characters for open fractures (B, C) and healing complications (G, K, P, S) requiring clinical detailInjury coding comprises a large portion of CPC exam questions
Main term = conditionZ-codes for encounters not related to disease (screening, history, status) where the main term may be "Screening," "History," or "Status"Z-code selection is tested across multiple CPC scenarios
Index to Diseases and InjuriesNeoplasm Table and Table of Drugs and Chemicals require distinct lookup strategies, different column selections, and additional verification stepsNeoplasm and poisoning/adverse effect questions are CPC exam staples

As you advance, you will encounter scenarios requiring you to assign multiple codes in correct sequence, use the Neoplasm Table to differentiate between primary and secondary malignancies, navigate the Table of Drugs and Chemicals to distinguish poisoning from adverse effects, and apply the Official Guidelines for outpatient versus inpatient coding. All of these advanced skills are built upon the same two-step foundation: locate the code in the Index, then verify and refine in the Tabular. The workflow never changes; only the complexity of the clinical scenarios increases.

Practice Problems

PROBLEM 1CONCEPTUAL
A new coder assigns code J18.9 (Pneumonia, unspecified organism) directly from the Alphabetic Index without consulting the Tabular List. The clinical documentation states "lobar pneumonia due to Streptococcus pneumoniae." Explain at least two errors in this coder's approach and describe how the correct workflow would produce a more accurate code.
PROBLEM 2BASIC
A patient is seen for acute bronchitis. Using the standard Index-to-Tabular workflow, describe how you would locate the correct ICD-10-CM code. What is the main term you would look up in the Alphabetic Index, and what is the expected code if no causative organism is documented?
PROBLEM 3INTERMEDIATE
A patient presents with a displaced fracture of the neck of the left femur. This is the patient's first visit for this injury. Walk through the Index-to-Tabular process to assign the correct ICD-10-CM code, including the 7th character. Explain the role of the placeholder "X" if applicable.
PROBLEM 4APPLIED
A patient's office note reads: "Follow-up visit for hypothyroidism secondary to Hashimoto's thyroiditis. Patient is on levothyroxine. Also managing the patient's essential hypertension, well controlled on lisinopril." Assign all appropriate ICD-10-CM codes and explain your sequencing rationale.
PROBLEM 5CRITICAL THINKING
A coder encounters a clinical note that reads: "Patient has Type 1 diabetes mellitus with proliferative diabetic retinopathy with macular edema, left eye, and also has diabetic polyneuropathy." The coder assigns E10.351 and E10.42. Evaluate whether these codes are correct, explain the significance of combination codes versus multiple-code reporting in this context, and determine if any additional codes or sequencing changes are required. Reference how the Tabular List instructional notes guide these decisions.

Lesson Summary

Assigning ICD-10-CM diagnosis codes is a disciplined, two-step process that requires sequential use of both the Alphabetic Index and the Tabular List. The coder begins by reviewing clinical documentation, identifying the main term (always the condition, not the anatomical site), and locating it in the Index along with appropriate subterms to obtain a tentative code. The coder then verifies this code in the Tabular List, reading all Includes notes, Excludes1 and Excludes2 notes, Code First and Use Additional Code instructions, and 7th-character requirements to ensure maximum specificity and accuracy.

ICD-10-CM codes are 3–7 alphanumeric characters long, with each character position conveying specific clinical information including chapter, body system, condition type, laterality, and encounter type. The specificity principle mandates coding to the highest level of detail supported by documentation. Common pitfalls include coding from the Index alone, using truncated codes, confusing Excludes1 with Excludes2, and overlooking mandatory additional code instructions. These foundational skills scale directly into advanced CPC topics including combination codes, etiology-manifestation pairs, Neoplasm Table navigation, and Table of Drugs and Chemicals usage. Remember: the Index locates, the Tabular verifies—never assign a code without completing both steps.

Varsity Tutors • Certified Professional Coder (CPC) • Assign ICD10 Diagnosis Codes