Skip to content

Medical billing • Healthcare policy • Practical education

Our editorial standards

ICD-10, CPT, and HCPCS: What Each Code Set Does

A high-level introduction to the diagnosis, procedure, service, supply, and equipment code sets commonly encountered in U.S. billing.

By David Bennett 13 min read Updated August 17, 2026

Medical claims use several different code sets, and they do not all describe the same thing.

One code may explain why a patient received care.

Another may describe what service the healthcare professional performed.

Another may identify a drug, supply, ambulance service, or piece of medical equipment.

That is why ICD-10, CPT, and HCPCS codes often appear together on the same billing workflow.

A simple way to remember the difference is:

  • ICD-10-CM: Why was the patient seen? What diagnosis, symptom, condition, or reason for the encounter is being reported?
  • CPT: What medical service or procedure did the physician or other qualified healthcare professional perform?
  • HCPCS Level II: What product, supply, drug, equipment, or certain service needs to be identified when CPT does not provide the appropriate code?
  • ICD-10-PCS: What procedure was performed during a hospital inpatient stay?

There is also an important technical detail:

CPT is HCPCS Level I.

The broader Healthcare Common Procedure Coding System is divided into Level I and Level II. Level I is the CPT code set maintained by the American Medical Association, while HCPCS Level II is maintained by the Centers for Medicare & Medicaid Services.

Important: This article provides a general educational overview. Correct code selection depends on the medical record, care setting, date of service, official coding guidelines, payer policies, and current code-set instructions. Providers should use current official coding resources and qualified coding or compliance support when needed.

Quick Comparison: ICD-10 vs. CPT vs. HCPCS

Code Set Main Purpose Common Setting Maintained By
ICD-10-CM Diagnoses, conditions, symptoms, and reasons for visits All healthcare settings CDC/NCHS, with federal coding guidance developed with CMS
CPT / HCPCS Level I Medical services and procedures Physician and many outpatient services American Medical Association
HCPCS Level II Products, supplies, equipment, drugs, ambulance services, and certain other services not represented by CPT Professional, outpatient, supplier, and other claims as applicable CMS
ICD-10-PCS Hospital inpatient procedures Hospital inpatient CMS

What Is ICD-10?

When people say “ICD-10” in U.S. medical billing, they may actually be referring to one of two related code sets:

  • ICD-10-CM
  • ICD-10-PCS

They serve different purposes.

ICD-10-CM: Diagnoses and Reasons for Care

ICD-10-CM stands for the International Classification of Diseases, 10th Revision, Clinical Modification.

The official U.S. coding guidelines describe ICD-10-CM as the classification used for diagnoses and reasons for visits in healthcare settings.

ICD-10-CM can represent information such as:

  • Diseases
  • Injuries
  • Symptoms
  • Abnormal findings
  • Health-status factors
  • Reasons for encounters

It helps communicate why the patient received care.

Example

A patient comes to an office because of knee pain.

The ICD-10-CM portion of the claim describes the diagnosis, symptom, or condition documented for that encounter.

The code does not describe the office visit itself.

The medical service is reported separately using a procedure or service code such as CPT or HCPCS when applicable.

Who Maintains ICD-10-CM?

In the United States, ICD-10-CM is maintained by the National Center for Health Statistics, or NCHS, within the Centers for Disease Control and Prevention.

CMS and NCHS publish the official ICD-10-CM coding and reporting guidelines used with the classification.

The current federal files and guidelines are available through the CMS ICD-10 page and CDC/NCHS resources.

ICD-10-CM Is Used in More Than Physician Offices

ICD-10-CM diagnosis codes are used across healthcare settings.

Examples include:

  • Physician offices
  • Hospital outpatient departments
  • Hospital inpatient claims
  • Emergency departments
  • Therapy practices
  • Home health
  • Other healthcare settings

The diagnosis-coding rules can differ depending on whether the patient is receiving inpatient or outpatient care, so the setting matters.

What Is ICD-10-PCS?

ICD-10-PCS stands for ICD-10 Procedure Coding System.

It is not the procedure code set used for an ordinary physician-office claim.

ICD-10-PCS is used to classify procedures performed in hospital inpatient settings.

CMS maintains ICD-10-PCS.

This is one of the most important distinctions to understand:

Hospital inpatient procedure coding uses ICD-10-PCS, while physician and many outpatient procedures are reported using CPT/HCPCS.

What Is CPT?

CPT stands for Current Procedural Terminology.

The American Medical Association maintains the CPT code set.

CPT provides a standardized language for reporting medical services and procedures performed by physicians and other qualified healthcare professionals.

CPT codes generally contain five numeric digits.

CPT is used for services such as:

  • Evaluation and management
  • Surgery
  • Radiology
  • Pathology and laboratory services
  • Anesthesia
  • Medicine services and procedures

The official CPT code set contains more than individual codes. It also includes instructions, guidelines, parenthetical notes, and other information that can affect correct reporting.

CPT Is Also Called HCPCS Level I

This terminology can confuse people who are learning medical billing.

CMS divides the Healthcare Common Procedure Coding System into two major parts:

  • HCPCS Level I = CPT
  • HCPCS Level II = the alphanumeric code set maintained by CMS

So CPT and HCPCS are connected.

When someone casually says “HCPCS code,” however, they often mean a HCPCS Level II code rather than CPT.

What Does CPT Tell the Payer?

CPT generally tells the payer what medical service or procedure was performed.

For example, a professional claim might need to communicate that a healthcare professional provided:

  • An office or outpatient service
  • A procedure
  • A diagnostic test
  • An imaging service
  • A laboratory service

The CPT code identifies the service, while an ICD-10-CM diagnosis code helps communicate the reason for the service.

CPT Has Different Categories

The AMA divides CPT codes into several categories.

Category I

Category I codes represent established medical procedures and services.

Category II

Category II codes are supplemental codes used for performance measurement and quality tracking.

Category III

Category III codes are used for emerging technologies, services, and procedures.

The CPT code set also includes other specialized content such as Proprietary Laboratory Analyses codes.

For current-year changes, see our MedIntelHub guide New CPT Code Changes for 2026: What Providers Need to Know.

What Is HCPCS Level II?

HCPCS Level II is a standardized coding system maintained by CMS.

CMS explains that Level II was created to identify products, supplies, and services that are not included in CPT.

HCPCS Level II codes generally contain:

One letter followed by four numbers.

They are often used for items and services such as:

  • Ambulance services
  • Durable medical equipment
  • Prosthetics
  • Orthotics
  • Medical supplies
  • Certain drugs and biologicals
  • Some professional or Medicare-specific services

CMS maintains the national HCPCS Level II code set, including additions, revisions, and deletions.

The current source is the CMS Healthcare Common Procedure Coding System page.

Why Does HCPCS Level II Exist if CPT Already Exists?

CPT does not identify every item that needs to appear on a healthcare claim.

Imagine a claim involving:

  • A physician’s professional service
  • An administered drug
  • A piece of durable medical equipment

The professional service may be represented by CPT.

The drug or equipment may require HCPCS Level II.

The diagnosis explaining why the patient needed the care may be represented by ICD-10-CM.

That is how different code sets work together rather than competing with one another.

HCPCS Level II G Codes and Other Letter Groups

HCPCS Level II codes begin with letters, and different groups are used for different types of items and services.

One frequently encountered group is the G-code family.

CMS explains that G codes can identify professional healthcare procedures or services needed for Medicare claims when an appropriate CPT reporting pathway is not being used or available for that Medicare purpose.

Other Level II code groups can represent equipment, supplies, drugs, ambulance services, and additional items.

The correct code depends on the item or service and the payer’s current reporting requirements.

Diagnosis Codes and Procedure Codes Work Together

Consider a simplified professional claim.

The claim might contain:

  • An ICD-10-CM diagnosis code explaining the patient’s condition or reason for the encounter
  • CPT code describing the professional service performed
  • HCPCS Level II code if a separately reportable supply, drug, equipment item, or other applicable service needs to be identified

The payer then evaluates the claim under its coverage, coding, contract, and payment rules.

For a complete look at where coding fits into the claim process, see Medical Billing Workflow: From Patient Visit to Payment.

A Code Does Not Automatically Mean a Service Is Covered

This point is important for all three code systems.

A valid code does not automatically mean:

  • The patient’s plan covers the service
  • The service meets medical-necessity requirements
  • Prior authorization was obtained
  • The payer will reimburse the service
  • The provider used the correct code for the documented circumstances

CMS specifically states that HCPCS coding and coverage/payment decisions are separate.

The AMA similarly states that creation of a CPT code does not guarantee coverage, reimbursement, or payment.

Think of coding as the standardized language used to describe the claim.

Coverage and payment are separate decisions.

ICD-10-CM Does Not Automatically Establish Medical Necessity

A diagnosis code may help explain why a service was performed, but simply attaching a diagnosis to a procedure does not guarantee that a payer will consider the service medically necessary.

The payer may evaluate:

  • The patient’s benefits
  • Coverage policies
  • Medical-necessity criteria
  • Documentation
  • Frequency limits
  • Prior authorization
  • Coding edits

That is why billing teams should avoid choosing diagnosis codes only because they appear on a payer’s coverage list.

The diagnosis reported should be supported by the medical record and official coding rules.

What Are Modifiers?

Modifiers can provide additional information about how or under what circumstances a service was performed.

Modifiers may affect how a payer interprets a CPT or HCPCS Level II code.

For example, a modifier may communicate information about:

  • A distinct service
  • A professional or technical component
  • A bilateral service
  • Multiple procedures
  • Other circumstances relevant to claim processing

Modifiers should not be added simply to make a denied claim pay.

The documentation and applicable coding rules must support their use.

How Coding Errors Can Lead to Claim Problems

Errors can happen when code sets are mixed up or used incorrectly.

Examples include:

  • Using an outdated diagnosis code
  • Reporting a deleted CPT code
  • Using the wrong HCPCS Level II code for a supply
  • Using an unsupported modifier
  • Reporting the wrong units
  • Using an inpatient procedure code in the wrong setting
  • Linking a service to a diagnosis that is not supported by the medical record

Some problems cause a claim to reject before adjudication.

Others can cause denials or payment reductions.

For practical follow-up steps, see our MedIntelHub article Claim Denials: A Practical Prevention and Follow-Up Checklist.

Do These Code Sets Update at the Same Time?

No.

That is another reason coding maintenance can become confusing.

ICD-10-CM and ICD-10-PCS

Major ICD-10 updates are tied to the federal fiscal year, with new fiscal-year code files generally becoming effective October 1.

Additional April 1 updates can also occur.

For example, CMS’s current 2026 ICD-10 page includes April 1, 2026 update files, and FY 2027 files are already posted for changes effective October 1, 2026.

CPT

The main annual CPT code set is generally effective January 1.

The AMA can also publish technical corrections, errata, and specialized updates during the year.

HCPCS Level II

HCPCS Level II changes can occur during the year.

CMS uses more frequent coding cycles, including quarterly cycles for drugs and biologicals and biannual application cycles for many non-drug and non-biological items and services.

As of August 2026, CMS has already published 2026 quarterly HCPCS coding determinations and is continuing its scheduled Level II update process.

This is why practices should not treat one January code-file download as enough for the entire year.

Our related article How to Track Healthcare Policy and Payer Updates explains how to build a simple update-monitoring routine.

Who Maintains Each Code Set?

Here is the short version:

  • ICD-10-CM: National Center for Health Statistics within CDC
  • ICD-10-PCS: CMS
  • CPT / HCPCS Level I: American Medical Association
  • HCPCS Level II: CMS

Using the correct official source matters because third-party coding websites can become outdated.

Which Code Set Should You Look At?

Ask what you are trying to describe.

If you are describing a diagnosis or reason for the encounter:

Look to ICD-10-CM.

If you are describing a physician or outpatient medical service or procedure:

Look to CPT / HCPCS Level I and applicable official instructions.

If you are describing a supply, drug, equipment item, ambulance service, or certain service not represented by CPT:

Look to HCPCS Level II.

If you are coding a procedure performed during a hospital inpatient stay:

Look to ICD-10-PCS.

A Simple Example of How the Code Sets Work Together

Imagine a patient sees a healthcare professional because of a documented medical condition.

During the visit, the clinician performs a professional service and administers a separately reportable product.

A simplified claim may need:

  1. An ICD-10-CM code for the documented diagnosis or reason for care.
  2. CPT code for the professional service.
  3. HCPCS Level II code for the separately reportable product if required.

Those codes describe different parts of the same encounter.

The payer then applies coverage, coding, contract, authorization, and payment rules.

Common Questions

Is CPT the same as HCPCS?

CPT is technically HCPCS Level I.

When people distinguish “CPT” from “HCPCS,” they are usually comparing CPT with HCPCS Level II.

Are ICD-10 codes only for insurance?

No.

ICD classifications support standardized reporting of diagnoses and health conditions for many healthcare, public-health, administrative, and analytical purposes.

They are also essential to medical claims.

Can the same diagnosis have different CPT codes?

Yes.

A diagnosis describes the patient’s condition or reason for care.

Different services may be performed for patients with the same diagnosis depending on the circumstances.

Can the same CPT code be used with different diagnoses?

Potentially, yes.

A service can be medically appropriate in different clinical situations.

The reported diagnosis should reflect the documented reason for the service and follow applicable coding guidelines.

Does a CPT or HCPCS code guarantee insurance payment?

No.

Having a valid code is not the same thing as having coverage or guaranteed reimbursement.

Can coding rules differ by payer?

The national code sets themselves are standardized, but payer coverage, authorization, reimbursement, and claim-edit policies can differ.

Payers may also publish specific billing instructions that providers need to follow.

Quick Reference Checklist

Before selecting or reviewing a code, ask:

  1. Am I describing a diagnosis or a service?
  2. What healthcare setting is involved?
  3. What is the date of service or discharge?
  4. Am I using the current version of the code set?
  5. Does the medical record support the code?
  6. Are modifiers or units required?
  7. Does a payer-specific coverage or billing rule also apply?

The Bottom Line

ICD-10, CPT, and HCPCS do different jobs.

ICD-10-CM describes diagnoses, conditions, symptoms, and reasons for healthcare encounters.

CPT describes medical services and procedures performed by physicians and other qualified healthcare professionals and is technically HCPCS Level I.

HCPCS Level II identifies many products, supplies, drugs, equipment items, ambulance services, and other services that are not represented by CPT.

ICD-10-PCS is used for procedures performed in hospital inpatient settings.

On a medical claim, these code sets can work together.

The diagnosis explains why care was provided.

The procedure or service code explains what was done.

Other codes may identify products, supplies, equipment, or additional services.

But correct coding is only one part of reimbursement.

A valid code does not automatically guarantee coverage or payment.

Documentation, payer rules, medical necessity, prior authorization, claim edits, and patient benefits can all affect how the claim is ultimately processed.

Sources and References

  1. Centers for Medicare & Medicaid Services — Healthcare Common Procedure Coding System. Official explanation of HCPCS Level I and Level II, code structure, maintenance, and current HCPCS Level II updates.
  2. Centers for Medicare & Medicaid Services — HCPCS Level II Coding Procedures. Current information on HCPCS Level II coding cycles, applications, code maintenance, and the distinction between coding and coverage/payment.
  3. Centers for Medicare & Medicaid Services — Overview of Coding and Classification Systems. Federal overview of ICD-10, CPT/HCPCS Level I, and HCPCS Level II and the entities responsible for maintaining each code set.
  4. Centers for Medicare & Medicaid Services — ICD-10. Current ICD-10-CM and ICD-10-PCS files, guidelines, April 2026 updates, and FY 2027 files effective October 1, 2026.
  5. CDC National Center for Health Statistics — ICD-10-CM. Official U.S. source for ICD-10-CM classification information and files.
  6. American Medical Association — CPT Code Set Basics and Resources. Official overview of the CPT code set, code categories, maintenance, and use.
  7. American Medical Association — CPT Coding Resources. Current CPT 2026 resources and related coding information.

Editorial Disclaimer

MedIntelHub provides healthcare, medical billing, insurance, and patient-education information for educational purposes only.

This article does not provide coding, reimbursement, legal, medical, or compliance advice. Code selection depends on the documentation, healthcare setting, date of service, current official guidelines, payer requirements, and individual circumstances.

Healthcare organizations should verify codes using current official resources and consult qualified coding or compliance professionals when appropriate.

CPT is a registered trademark of the American Medical Association. CPT codes, descriptors, and related content are copyrighted by the American Medical Association.

For more information about our publication, visit About MedIntelHub.

David Bennett

David Bennett is an author at MedIntelHub, where he creates clear, practical, and well-researched content about healthcare, medical billing, insurance, and patient education. His goal is to make complex healthcare topics easier for readers to understand and use in everyday situations. David emphasizes accuracy, transparency, and reliable sourcing, using information from trusted organizations and official healthcare resources whenever possible. Content published by David is intended for educational purposes and should not replace advice from qualified medical, legal, or healthcare professionals.

Leave a Reply

Your email address will not be published. Required fields are marked *