For anyone new to healthcare billing and coding, the difference between ICD-10 and CPT codes can be confusing. Both are essential to the claims process, but they serve entirely different purposes. Understanding how these two code sets work together is fundamental to accurate medical coding and successful claim reimbursement.
What Are ICD-10 Codes?
ICD-10-CM stands for the International Classification of Diseases, 10th Revision, Clinical Modification. These codes represent the “why” behind a patient visit—they describe the diagnosis, condition, symptom, or reason for the encounter.
ICD-10 codes are alphanumeric, typically three to seven characters long, and they allow for extremely specific documentation. For example, codes can specify not just a condition but also details like which side of the body is affected, whether the encounter is an initial visit or a follow-up, and the severity or stage of the condition.
ICD-10 codes are maintained and updated by the World Health Organization and adapted for use in the United States by the National Center for Health Statistics, with annual updates typically taking effect each October.
What Are CPT Codes?
CPT stands for Current Procedural Terminology, and these codes represent the “what”—the specific procedures, services, and treatments performed during a patient encounter. CPT codes are five-character codes (numeric or alphanumeric) maintained by the American Medical Association.
CPT codes are divided into three categories:
Category I: The most commonly used codes, covering procedures and services widely performed by healthcare providers, from office visits to surgeries.
Category II: Supplemental tracking codes used for performance measurement and quality reporting, not tied to reimbursement.
Category III: Temporary codes for emerging technology, services, and procedures that are not yet widely established.
The Key Difference: Diagnosis vs Procedure
The simplest way to understand the distinction is this: ICD-10 codes answer “what condition does the patient have?” while CPT codes answer “what did the provider do about it?”
For a claim to be processed successfully, these two code types must work together logically. The diagnosis code must support the medical necessity of the procedure code. If a payer cannot see a clear clinical connection between the diagnosis and the procedure billed, the claim is likely to be denied.
A Practical Example
Consider a patient who visits a physician with knee pain. The physician examines the patient, orders an X-ray, and determines the patient has osteoarthritis of the knee.
- The ICD-10 code would represent the diagnosis: osteoarthritis of the knee, with specificity for laterality (left, right, or bilateral).
- The CPT codes would represent the services performed: the office visit (evaluation and management code) and the X-ray procedure itself.
Together, these codes tell the complete story: the patient had a specific condition, and the provider performed specific, medically necessary services to diagnose and address it.
Why Both Code Sets Must Align
Payers use automated systems to check whether the diagnosis code submitted logically supports the procedure code billed. This is often referred to as a medical necessity check. If a CPT code is submitted without a corresponding ICD-10 code that justifies it, the claim will typically be denied for lack of medical necessity.
This is why accurate, detailed clinical documentation is so critical. Coders rely entirely on what the physician documents to select the most specific and appropriate codes from both sets.
Common Mistakes When Working with ICD-10 and CPT Codes Together
Lack of Specificity in Diagnosis Coding: Choosing a general, unspecified ICD-10 code when a more specific one is available and supported by documentation can lead to claim denials or requests for additional information.
Mismatched Code Pairing: Submitting a procedure code that doesn't logically align with the diagnosis code, often due to documentation gaps or coder error.
Outdated Codes: Both ICD-10 and CPT code sets are updated annually. Using a deleted or revised code from a previous year results in automatic rejection.
Ignoring Payer-Specific Local Coverage Determinations (LCDs): Medicare and other payers often publish specific guidance on which diagnosis codes support medical necessity for particular procedures. Ignoring these determinations increases denial risk.
Best Practices for Coding Accuracy
- Always code to the highest level of specificity supported by documentation
- Cross-check diagnosis and procedure codes for logical alignment before submission
- Stay current with annual ICD-10 and CPT code set updates
- Review payer-specific Local Coverage Determinations for procedures that require medical necessity documentation
- Conduct periodic internal audits comparing coded claims against source documentation
Final Thoughts
ICD-10 and CPT codes work together as two essential halves of every medical claim. ICD-10 codes explain why a patient was seen, while CPT codes explain what was done about it. Getting both right—and ensuring they logically support one another—is fundamental to reducing claim denials, protecting practice revenue, and maintaining compliance with payer requirements.




