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.

A numbered medical record with coded bars and an itemized claim.
Inside this lesson 10 sections 5 questions 5 figures

SECTION 1

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.

SECTION 2

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.

SECTION 3

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.

ICD-10-CM Code Assignment Workflow1. Review Clinical Documentation2. Identify Main Term (condition,not anatomical site)3. ALPHABETIC INDEXLocate main term → review subterms → note codeCross-ref?See alsoReturn to Index4. TABULAR LISTVerify code → Read Includes/Excludes → Check specificity→ Apply 7th character if requiredVerified?No — reviseReturn to Index / Tabular5. ASSIGN FINAL CODE
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.

SECTION 4

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.

SECTION 5

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.

Anatomy of an ICD-10-CM CodeExample: S52.521A — Torus fracture of lower end of right radius, initial encounterSChar 15Char 22Char 3.5Char 42Char 51Char 6AChar 7Category LetterS = Injury/Poisoning (Ch.19)Category (S52)Fracture of forearmSubcategory (.5)Fracture of lower end of radiusType (.52)Torus fractureLaterality (1)Right side7th Character (A)Initial encounter
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 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

Character-by-character breakdown of ICD-10-CM code S52.521A

SECTION 6

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

    Step 1 — Identify Main Terms from Documentation

    Read 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. 2

    Step 2 — Search the Alphabetic Index

    In 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. 3

    Step 3 — Verify in the Tabular List

    Turn 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. 4

    Step 4 — Assign Additional Code for CKD Stage

    The 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. 5

    Step 5 — Finalize Code Assignment and Sequencing

    The 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)

SECTION 7

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

Common ICD-10-CM coding pitfalls and their corrective best practices

✦

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.

SECTION 8

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.

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

How basic Index/Tabular skills connect to advanced CPC concepts

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.

SECTION 9

Practice Problems

Question 1: CONCEPTUAL

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.
Show answer
The coder committed two fundamental errors. First, they failed to consult the Tabular List, violating the Official Guidelines mandate to always use both the Index and the Tabular when assigning a code. Had they verified in the Tabular List, they would have found instructional notes and more specific subcategories. Second, the coder assigned an unspecified code (J18.9) when the documentation supports a more specific code. The documentation identifies both the type of pneumonia (lobar) and the causative organism (Streptococcus pneumoniae). Following the correct workflow, the coder should look up the main term "Pneumonia" in the Alphabetic Index, then the subterm "pneumococcal" (since S. pneumoniae is the pneumococcus), which directs to J13. Verification in the Tabular List confirms J13 as "Pneumonia due to Streptococcus pneumoniae," which fully captures the documented diagnosis at the highest level of specificity.

Question 2: BASIC

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?
Show answer
The main term to look up in the Alphabetic Index is "Bronchitis." Under this main term, locate the subterm "acute" (or "acute NOS"). The Index directs you to J20.9. Next, turn to the Tabular List and navigate to category J20 (Acute bronchitis). Verify that J20.9 is "Acute bronchitis, unspecified," which is appropriate when no causative organism is documented. Read the Includes note under J20, which lists synonyms like "acute and subacute bronchitis" and confirms the scope. Check the Excludes1 note, which excludes bronchitis NOS (J40) and chronic conditions. Since the documentation specifies "acute" and no organism, J20.9 is the correct and most specific code. If a causative organism had been documented (e.g., Mycoplasma pneumoniae), you would assign the more specific code J20.0 instead.

Question 3: INTERMEDIATE

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.
Show answer
In the Alphabetic Index, look up the main term "Fracture, traumatic." Navigate to the subterm "femur, femoral" then "neck." The Index provides a code range beginning with S72.0-. Under "neck," locate the subterm "displaced" and note the tentative code. Turn to the Tabular List, Chapter 19, category S72 (Fracture of femur). Navigate to S72.00- for fracture of unspecified part of neck of femur, but look further for displaced specificity. S72.001 corresponds to a fracture of the unspecified part of the neck of the right femur; since the patient's injury is on the left, select S72.002. However, verify if a more specific code for "displaced" exists—S72.002A represents a displaced fracture of the unspecified part of the neck of left femur, initial encounter. The 7th character A indicates initial encounter. In this case, the code S72.002A is six characters plus the 7th character, so no placeholder X is needed. Placeholder X would only be required if the base code had fewer than six characters before the 7th character. The final code is S72.002A.

Question 4: APPLIED

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.
Show answer
This scenario requires multiple codes. First, address the hypothyroidism due to Hashimoto's thyroiditis. In the Alphabetic Index, look up "Thyroiditis" then the subterm "Hashimoto's" or alternatively "autoimmune." This directs to E06.3 (Autoimmune thyroiditis). However, the documentation also states hypothyroidism secondary to this condition. Look up "Hypothyroidism" in the Index, then the subterm "due to" and "thyroiditis." The Index may direct to E03.8 (Other specified hypothyroidism). Verify in the Tabular List: E06.3 describes the thyroiditis itself but may not capture the resultant hypothyroidism. Check whether a combination code exists or if dual coding is needed. In the Tabular, under E06.3, you may find a note directing you to report the hypothyroidism separately. Report E06.3 for the autoimmune thyroiditis and E03.8 for the resultant hypothyroidism, following sequencing guidelines. For the long-term medication, add Z79.899 (Other long-term drug therapy) for levothyroxine. For essential hypertension, look up "Hypertension" in the Index: I10 (Essential hypertension). Verify in the Tabular—I10 has no Excludes1 conflicts with the thyroid codes. Final codes in sequence: E06.3, E03.8, I10, Z79.899. The thyroid condition that prompted the visit is listed first as the reason for the encounter in the outpatient setting.

Question 5: CRITICAL 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.
Show answer
This question requires careful Tabular List analysis. First, evaluate E10.351: In the Tabular List, E10.351 corresponds to Type 1 diabetes mellitus with proliferative diabetic retinopathy with macular edema, right eye. However, the documentation specifies the left eye. The correct laterality code would be E10.352 (left eye), not E10.351 (right eye). This is a laterality error. Second, evaluate E10.42: This corresponds to Type 1 diabetes mellitus with diabetic polyneuropathy, which appears correct based on the documentation. Now consider combination codes: ICD-10-CM diabetes codes in category E10 are combination codes that inherently capture both the diabetes and its manifestations. E10.352 is a combination code for diabetes + retinopathy + macular edema + left eye. E10.42 is a combination code for diabetes + polyneuropathy. Both manifestations are documented, so both codes are appropriately assigned. Review the Tabular List instructional notes under E10: a note states that multiple codes from E10 may be used together to identify all documented complications. There is no "Code First" conflict between these two E10 codes. Check for "Use additional code" notes—under E10.35, there may be a note to use an additional code to identify the severity of the retinopathy (H35.0-) if applicable. The corrected assignment would be E10.352 (not E10.351) and E10.42, with a possible additional code from H35 series for retinal specificity if the Tabular notes require it. This example demonstrates why laterality verification and instructional note review in the Tabular List are indispensable.

SUMMARY

Lesson Summary

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