Coding26 Jun 2026 5 min read

ICD-10 vs CPT vs HCPCS: what's the difference?

Three code sets show up on almost every medical claim, and they answer three different questions: why (ICD-10), what was done (CPT), and what supplies or services were used (HCPCS). Here's how they differ and who maintains each.

A single claim usually carries codes from all three of these sets at once, and they're easy to conflate because they all show up as short alphanumeric strings next to a line item. The cleanest way to keep them straight is by the question each one answers: ICD-10-CM answers "why was the patient seen," CPT answers "what procedure or service was performed," and HCPCS Level II answers "what supply, drug, or non-physician service was involved."

ICD-10-CM — the diagnosis

ICD-10-CM (Clinical Modification) is the diagnosis code set: it documents the condition, symptom, or reason for the encounter. It's maintained by the CDC's National Center for Health Statistics in coordination with CMS, updated every October, and is public — anyone can look up the full code set for free. A visit for type 2 diabetes with hyperglycemia gets coded E11.65 regardless of what was done about it.

CPT — the procedure

CPT (Current Procedural Terminology) codes describe the procedure or service the provider actually performed — an office visit, a surgery, a lab test, an imaging study. CPT is five-digit numeric codes, and unlike ICD-10-CM it's proprietary: it's developed and copyrighted by the American Medical Association, and reproducing the code set requires an AMA license. That licensing is also why most free lookup tools, Patientary included, can show you ICD-10 and provider data but don't reproduce the CPT code set itself.

HCPCS — supplies, drugs, and everything CPT doesn't cover

HCPCS (Healthcare Common Procedure Coding System) has two levels. Level I is CPT itself. Level II — what people usually mean when they say "HCPCS" — is a separate set maintained by CMS, covering things CPT doesn't: durable medical equipment, ambulance transport, certain drugs administered in a clinical setting, and other supplies or services. HCPCS Level II codes are alphanumeric: one letter followed by four digits, like a wheelchair rental or an injectable medication code.

How they work together on one claim

A typical office visit claim links an ICD-10 diagnosis code to a CPT procedure code, establishing medical necessity — the payer wants to see that the procedure billed matches a diagnosis that justifies it. If durable medical equipment or a drug was involved, a HCPCS Level II code gets added alongside. Get the diagnosis-to-procedure link wrong, or omit a HCPCS code the payer expects, and that's a routine source of claim denials — separate from whether any individual code is itself valid.

Patientary focuses on the two public, government-maintained pieces of this picture — ICD-10-CM diagnosis codes and NPPES provider data — plus NUCC taxonomy codes. CPT itself is AMA-licensed content, so it isn't reproduced here; check your CPT reference or licensed coding tool for procedure codes.

Who maintains what

  • ICD-10-CM — CDC / NCHS + CMS. Public, free, updated annually (October).
  • CPT — American Medical Association. Proprietary, licensed.
  • HCPCS Level II — CMS. Public, updated annually with quarterly updates for some categories.

Look up any ICD-10-CM diagnosis code

Search ICD-10-CM

For developers and agents

If you're building claim-scrubbing or coding-assist software, validate the pieces you can validate against authoritative sources rather than trusting a model's memory: `GET /api/v1/icd10/{code}` and `POST /api/v1/validate` check diagnosis codes and NPIs against the live CMS and NPPES data. For CPT, route to a licensed CPT data provider — mixing an unlicensed or hallucinated CPT list into production billing software is both a compliance and an accuracy risk.

Anything cited above is general reference, not medical, coding or billing advice. To look something up against live data, run a free NPI lookup, or search the ICD-10-CM code set.

More guides

Look it up, then build on it

Search providers and codes free, then get an API key for your software or your AI agent — no card to start.

Get an API key