ICD codes in medical billing are not just a formality. They are the language payers use to decide whether a service was medically necessary, whether it fits the patient’s covered benefits, and how much to reimburse. A claim without a solid ICD code foundation is a claim waiting to have problems.
This guide covers everything a medical practice, billing team, or healthcare professional needs to know about ICD codes. What they are, how the system is organized, how to pick the right one, where practices go wrong, and what the compliance stakes look like when coding falls short.
ICD Codes vs CPT Codes in Medical Billing
Diagnosis coding does not operate in isolation. In medical billing, ICD-10 diagnosis codes work together with CPT and HCPCS codes to describe the full details of a healthcare encounter.
Each code system serves a specific role in the claims process.
| Code System | Purpose | Example |
| ICD-10-CM | Describes the patient’s diagnosis or medical condition | E11.9 – Type 2 diabetes |
| CPT | Identifies the medical procedure or service performed | 99213 – Office visit |
| HCPCS Level II | Covers supplies, equipment, and certain services | J1100 – Injection medication |
Think of these codes as a three-part language used by healthcare payers.
The ICD-10 code explains the medical reason for the service, while the CPT or HCPCS code explains what service or procedure was performed. Insurance companies review both codes together to determine whether the service meets medical necessity requirements.
For example, if a physician performs a chest X-ray (CPT 71046), the claim must include an appropriate diagnosis code such as R05 – cough or R07.9 – chest pain. Without a diagnosis that supports the procedure, the payer may deny the claim as not medically necessary.
Understanding the relationship between diagnosis codes and procedure codes is essential for preventing denials and ensuring proper reimbursement.
What Are ICD Codes?
ICD stands for International Classification of Diseases. The codes themselves are a standardized system for documenting diagnoses, symptoms, conditions, injuries, and the reasons a patient sought care. The World Health Organization originally developed the classification system, and the United States adapted it for healthcare billing and clinical data purposes.
Every time a patient receives medical care in the United States, the conditions and reasons for that visit get assigned an ICD code. Those codes appear on insurance claims, on hospital discharge summaries, on public health records, and in research databases. They are the common language shared between clinical care and the entire administrative infrastructure that surrounds it.
In the US billing context, ICD codes pair with CPT procedure codes to tell the complete story of an encounter. The CPT code says what was done. The ICD code explains why it was done. Payers need both to make a payment decision. One without the other is like getting half a
ICD-9 vs ICD-10: What Changed
For anyone who was working in healthcare billing before October 2015, the switch from ICD-9 to ICD-10 was one of the biggest operational changes in the history of medical coding in this country. Understanding what changed explains a lot about how the current system works and why specificity is such a central theme in modern diagnosis coding.
The Limits of ICD-9
ICD-9 had around 13,000 codes. That sounds like a lot until you realize how much clinical detail those codes had to cover. The system ran out of room. There were conditions that had no specific code, so coders defaulted to unspecified or not elsewhere classified categories constantly. The codes were three to five characters long and structured in a way that made it hard to add new conditions without breaking the existing framework. By the early 2000s it was clear the system was outdated, and a decade-long transition process toward the replacement began.
What ICD-10 Brought to the Table
ICD-10-CM, which is the Clinical Modification used for diagnosis coding in the US, expanded the code set to over 70,000 codes. That number has grown further with each annual update and now sits above 80,000. The codes are alphanumeric and up to seven characters long, which created room for a level of clinical detail ICD-9 could never accommodate.
The specificity built into ICD-10 is worth understanding because it directly affects billing. Under ICD-9, a fracture of the right arm and a fracture of the left arm might share the same code or use a vague side-unspecified version. Under ICD-10, the laterality, the specific bone, the type of fracture, whether it is an initial encounter or a follow-up, and whether it is healing normally or with complications all have distinct codes. That detail allows payers to make much more precise coverage and payment decisions.
For billing purposes, this specificity cuts both ways. On the good side, a specific ICD-10 code paired with the right CPT code makes an airtight medical necessity argument. On the challenging side, picking the right code out of 80,000 options takes real clinical knowledge and careful documentation review. The unspecified codes are still there, but using them when a specific code exists is a red flag that tends to invite scrutiny.
ICD-10-CM vs ICD-10-PCS: Understanding the Difference
While most healthcare professionals are familiar with ICD-10 diagnosis codes, fewer realize that the ICD-10 system actually includes two separate code sets used in different healthcare settings.
ICD-10-CM
ICD-10-CM stands for International Classification of Diseases, Tenth Revision, Clinical Modification. This is the diagnosis coding system used by physicians, outpatient clinics, and most healthcare providers in the United States.
ICD-10-CM codes describe:
- Diseases
- Symptoms
- Injuries
- Medical conditions
- Reasons for healthcare encounters
These codes appear on professional claims submitted by physicians and outpatient facilities.
ICD-10-PCS
ICD-10-PCS stands for International Classification of Diseases, Procedure Coding System. Unlike ICD-10-CM, it is used only for inpatient hospital procedures.
Hospitals use ICD-10-PCS codes to describe surgical and procedural services performed during inpatient stays, such as:
- Surgical operations
- Device implants
- Diagnostic procedures
Physician billing, however, does not use ICD-10-PCS codes. Instead, physician services are reported using CPT procedure codes.
Understanding this distinction helps billing teams avoid confusion when reviewing hospital documentation versus physician claims.
How ICD-10-CM Is Organized
The ICD-10-CM code set is divided into chapters, each covering a broad category of conditions. Understanding the structure makes it easier to navigate the code set and find the right code faster.
The Chapter Structure
The code set opens with certain infectious and parasitic diseases, then moves through neoplasms, blood disorders, endocrine and metabolic diseases, mental and behavioral disorders, diseases of the nervous system, eye and ear conditions, circulatory diseases, respiratory diseases, digestive diseases, skin conditions, musculoskeletal diseases, genitourinary diseases, pregnancy and childbirth, conditions in the perinatal period, congenital anomalies, symptoms and abnormal clinical findings, and finally injury, poisoning, and external causes.
Beyond those clinical chapters, ICD-10 includes a section of Z codes, which cover health status, contact with health services, and encounters that are not strictly due to illness or injury. Z codes are used for preventive visits, screenings, follow-up care, vaccination encounters, and a wide range of other reasons a patient might interact with the healthcare system. Z codes get underused in a lot of practices, and that sometimes results in claims that lack a clear documented reason for the visit.
Code Structure
Every ICD-10-CM code follows a predictable format. The first character is always a letter. The second and third characters are numbers. After the decimal point, characters four through seven provide increasing specificity. Not every code uses all seven characters. Some conditions are fully described in three or four characters. Others require the full seven to capture all the clinical detail.
Take a straightforward example. M54.5 used to be the code for low back pain. That code was updated in 2021 and replaced by more specific options like M54.50 for low back pain unspecified, M54.51 for vertebrogenic low back pain, and M54.59 for other low back pain. That kind of specificity upgrade happens in the annual code updates and is exactly why billing teams need to review code changes every October when the new fiscal year code set takes effect.
Examples of Common ICD-10 Codes Used in Medical Billing
Many ICD-10 codes appear frequently in physician billing because they represent common chronic conditions or symptoms seen in outpatient practice.
Some widely used diagnosis codes include:
| ICD-10 Code | Description |
| E11.9 | Type 2 diabetes mellitus without complications |
| I10 | Essential (primary) hypertension |
| J06.9 | Acute upper respiratory infection, unspecified |
| M54.50 | Low back pain, unspecified |
| R51.9 | Headache, unspecified |
| F41.9 | Anxiety disorder, unspecified |
These codes often appear alongside evaluation and management (E/M) visit codes when physicians assess and manage chronic or acute conditions.
Accurate documentation is essential because many conditions have multiple ICD-10 code variations depending on factors such as severity, complications, or associated conditions. Selecting the correct code ensures that the patient’s clinical situation is accurately represented and that the claim meets payer requirements.
The 7th Character Extension
The seventh character is particularly important in certain code categories, especially injuries, fractures, and musculoskeletal conditions. For fractures, the seventh character tells the payer whether it is the initial encounter for active treatment (A), a subsequent encounter for a fracture in normal healing (D), a subsequent encounter for a fracture with delayed healing (G), or a sequela (S). Billing the wrong seventh character for a follow-up fracture visit is one of the most common coding errors in orthopedic and urgent care practices, and it leads to denials that are entirely preventable.
How to Select the Right ICD-10 Code

Selecting the right ICD-10 code is a process, not a lookup. The physician’s documentation drives every coding decision. The coder’s job is to translate clinical language into the most accurate and specific code the documentation supports. Here is how that process should work.
Read the Documentation First
Before opening the code book or the encoder, read the clinical note. Understand what the physician found, what the diagnosis is, what the clinical context is, and what the reason for the encounter was. A lot of coding errors happen because someone looked up a keyword without fully understanding the clinical scenario. The term ‘mass’ in a note could lead to a completely different code depending on whether it is a confirmed malignant neoplasm, a benign growth, or simply an undiagnosed abnormal finding. Context matters.
Use the Alphabetic Index First, Then the Tabular
The correct workflow for finding an ICD-10 code is to look in the Alphabetic Index first to identify candidate codes, then verify and confirm the code in the Tabular List. The Tabular List is where inclusion and exclusion notes, code first instructions, use additional code notes, and other critical guidance live. Jumping straight to the Tabular without using the Index leads to missed codes. Going only to the Index without confirming in the Tabular leads to coding errors because the Index does not show all the instructional notes that affect code selection.
Code the Condition to the Highest Level of Specificity
Unspecified codes exist for situations where the documentation genuinely does not provide enough detail to code more specifically. They are not a default for when looking up the specific code feels like too much work. Payers, especially Medicare, see a high volume of unspecified codes as a documentation quality problem and a potential medical necessity concern. If the physician documented enough detail to support a specific code, use the specific code. If the documentation is genuinely vague, the right answer is to query the physician for clarification before submitting the claim, not to pick an unspecified code and hope for the best.
Code All Conditions That Affect the Encounter
Many billing teams code only the primary reason for the visit and stop there. But ICD-10 guidelines allow and often require coding of all conditions that were addressed, affected care, or were relevant to clinical decision-making during the encounter. A patient seen for pneumonia who also has Type 2 diabetes and hypertension that affected management decisions should have all three conditions coded. This is not about inflating the claim. It is about accurately representing the clinical complexity of the encounter, which affects the justification for the level of service billed and the risk assessment in the E/M framework.
Official ICD-10 Coding Guidelines
ICD-10 code selection is governed by the Official Coding Guidelines for ICD-10-CM, which are published annually by the Centers for Medicare & Medicaid Services (CMS) and the National Center for Health Statistics (NCHS).
These guidelines provide standardized instructions for assigning diagnosis codes and ensure that coding practices remain consistent across the healthcare industry.
The guidelines cover several important topics, including:
- Code sequencing rules
- Combination codes that describe multiple conditions in one code
- Instructions such as “code first” or “use additional code”
- Laterality requirements for left, right, or bilateral conditions
- Rules for coding symptoms versus confirmed diagnoses
Medical coders must follow these official guidelines when assigning diagnosis codes. Failing to follow the guidelines can lead to claim denials, compliance risks, or inaccurate clinical reporting.
Healthcare organizations typically review these guidelines each year as part of their annual ICD-10 update process to ensure their billing staff and clinical teams remain compliant.
ICD-10 Codes and Medical Necessity
Medical necessity is the single most important concept connecting ICD coding to claims payment. A payer covers a service when it is medically necessary for the patient’s diagnosed condition. The ICD-10 code on the claim is how the payer evaluates that.
When the diagnosis does not logically support the procedure, the claim denies on medical necessity grounds. A patient with a routine annual physical getting an MRI of the brain coded against a wellness visit diagnosis will not pass medical necessity review. That MRI needs a diagnosis that explains why it was ordered, something like new-onset headaches, dizziness, or a neurological symptom the physician was investigating.
For Medicare specifically, National Coverage Determinations and Local Coverage Determinations spell out which diagnosis codes are covered indications for specific procedures and services. Before submitting a claim for a service that has an NCD or LCD, verify that the diagnosis code on the claim is on the covered indications list for that payer. When it is not, an Advance Beneficiary Notice may be required so the patient understands they might be financially responsible.
ICD-10 Codes and Risk Adjustment in Value-Based Care
ICD-10 coding also plays a major role in risk adjustment programs, particularly within Medicare Advantage and other value-based payment models.
Risk adjustment systems use diagnosis codes to calculate a patient’s risk score, which represents the expected cost of providing care for that individual. Patients with more complex medical conditions typically receive higher risk scores because they require greater healthcare resources.
One of the most widely used risk adjustment models is the Hierarchical Condition Category (HCC) model, which relies heavily on accurate ICD-10 coding.
For example:
- Diabetes without complications may generate a lower risk score.
- Diabetes with complications such as neuropathy or kidney disease results in a higher risk score.
Because risk scores influence reimbursement levels for health plans and providers, accurate diagnosis coding becomes essential not only for claims payment but also for population health management and value-based reimbursement models.
Incomplete or inaccurate coding can lead to underreported patient complexity and reduced payments, while improper coding practices can create significant compliance risks.
ICD-10 Updates: Staying Current Every Year
ICD-10-CM updates take effect every October 1, at the start of the federal fiscal year. CMS and the National Center for Health Statistics release the updated code set in advance, typically by early summer, so practices have time to prepare.
Each annual update can include new codes for newly recognized conditions, revised code descriptions that change how a condition should be coded, code deletions that retire codes no longer considered accurate, and instructional note changes that affect sequencing and coding guidelines.
The COVID-19 pandemic years demonstrated exactly how quickly the code set can change when a new clinical situation demands it. Codes for COVID-19 diagnosis, post-COVID conditions, vaccine administration, and related encounters were added and revised multiple times in a short period. Practices that tracked those changes stayed compliant. Practices that did not found themselves using outdated or inaccurate codes during a period when claims volume was already challenging.
Every practice should have a formal process for reviewing and implementing the annual ICD-10 code updates. That process should include updating the code tables in the practice management system, reviewing the chargemaster for deleted or revised codes, and briefing clinical staff on any changes that affect the most commonly treated conditions in the practice. Relying on the EHR vendor to automatically push updates without internal verification is risky. Vendors do update their systems, but not always on the same timeline, and implementation errors do happen.
ICD-10 Coding in Specific Billing Contexts

Evaluation and Management Coding
Under the 2021 revised E/M guidelines, medical decision-making is one of the two pathways for selecting the level of an office visit code. The number and complexity of problems addressed at the encounter feeds directly into the MDM calculation. Coding more conditions that were genuinely addressed during the visit is not padding. It is accurate documentation of clinical complexity that properly supports a higher-level E/M code when warranted. Conversely, undercoding the diagnoses, listing only one condition when three were managed, leads to downcoding the E/M and collecting less than the service justifies.
Chronic Care Management and Complex Care Billing
Chronic care management codes like 99490 and 99491 require patients to have two or more chronic conditions expected to last at least 12 months. Those conditions need to be coded accurately on the claim. If the coding on the account reflects only one chronic condition because the coder did not pull all relevant diagnoses from the documentation, the claim for the CCM service may deny as not meeting the criteria. Good ICD-10 coding is what makes CCM billing defensible.
Preventive Care and Screening Services
Preventive visits and screenings have their own ICD-10 coding rules. A routine annual wellness exam uses Z codes. But when a physician identifies a new problem during a preventive visit and addresses it, that new problem gets its own diagnosis code and may support a separate E/M billed alongside the preventive visit. The ICD-10 code on each service line has to clearly distinguish between the preventive reason and the problem-oriented reason. Misapplying Z codes to services that were actually problem-focused, or failing to code the problem separately when it was addressed, both lead to either denied claims or missed billing opportunities.
Common ICD-10 Coding Mistakes That Lead to Denials
The same errors show up over and over across practice types and specialties. Knowing them by name makes them easier to catch before a claim goes out.
- Coding signs and symptoms instead of the confirmed diagnosis. Once a physician has confirmed a diagnosis, the sign or symptom that brought the patient in should no longer be the primary code. Code the confirmed condition.
- Using outdated codes that were deleted in a prior year’s update. Every October 1, some codes are deleted and replaced. Submitting a deleted code results in an automatic denial. This catches practices that do not update their chargemaster or code tables annually.
- Ignoring laterality. Many ICD-10 codes require a specification of left, right, or bilateral. Submitting the unspecified laterality version when documentation clearly states which side was affected is an easy error to fix and an easy one to catch in a pre-submission review.
- Missing the seventh character on fracture and injury codes. As covered earlier, the seventh character tells the payer where the patient is in their treatment. Getting this wrong on follow-up visits is one of the most common coding errors in musculoskeletal billing.
- Not sequencing codes correctly. ICD-10 has specific sequencing rules. The principal diagnosis goes first. Code first instructions have to be followed. When a manifestation code exists, it cannot be listed without the underlying condition code appearing before it. Sequencing errors affect how payers read the claim and can affect payment.
- Using Z codes as primary diagnosis codes when a definitive diagnosis exists. Z codes are for situations where there is no active illness or the encounter is for something other than a current condition. Using a screening Z code as the primary code when the patient actually has a confirmed condition is a sequencing error.
- Coding from the patient’s problem list without reading the current encounter note. Conditions on the problem list are historical. They belong on the claim only if they were actively addressed or relevant to the current encounter. Copying the entire problem list onto every claim is a compliance issue.
Frequently Asked Questions About ICD Codes
What is an ICD-10 code in medical billing?
An ICD-10 code is a diagnosis code used to identify a patient’s medical condition, symptom, or reason for receiving healthcare services. These codes appear on insurance claims and help payers determine whether a service is medically necessary.
Who assigns ICD codes in healthcare?
Physicians document diagnoses in the medical record, and trained medical coders translate that documentation into ICD-10 codes that are used for billing and reporting.
How many ICD-10 codes exist?
The ICD-10-CM code set contains more than 80,000 diagnosis codes, allowing for a high level of clinical specificity when documenting medical conditions.
When are ICD-10 codes updated?
ICD-10 codes are updated annually. The updated code set becomes effective October 1 each year, which marks the beginning of the federal fiscal year for healthcare billing.
Conclusion
ICD-10 coding touches every part of the revenue cycle. It drives medical necessity decisions, affects E/M level selection, determines whether a claim clears prior auth, and shows up in every audit. Practices that treat diagnosis coding as a routine afterthought tend to pay for that attitude in denial rates, underpayments, and compliance exposure. Practices that invest in coder training, physician documentation education, and a disciplined annual update process build a revenue cycle on solid ground. The difference between the two shows up clearly in the aging report at the end of every month.
Need Help Managing Medical Billing and Coding?
Accurate ICD-10 coding is critical for preventing claim denials, ensuring medical necessity compliance, and maintaining a healthy revenue cycle. However, keeping up with coding updates, payer requirements, and documentation standards can be challenging for busy healthcare providers.
Medhasty Medical Billing Services helps practices streamline their billing operations with expert medical coding, claims management, and revenue cycle optimization. Our experienced billing specialists ensure that diagnosis codes, procedure codes, and documentation align correctly to reduce denials and maximize reimbursements.
If your practice wants to improve billing accuracy and focus more on patient care, our team is here to help.
Contact Medhasty Medical Billing Services today for a free billing consultation.