What Is HCPCS?


Healthcare Common Procedure Coding System (HCPCS) is a standardized code system necessary for medical providers to submit healthcare claims to Medicare and other health insurances in a consistent and orderly manner. HCPCS includes two medical code sets, HCPCS Level I and HCPCS Level II.

HCPCS Level I consists of the Current Procedural Terminology (CPT)® code set and is used to submit medical claims to payers for procedures and services performed by physicians, non-physician practitioners, hospitals, laboratories, and outpatient facilities.

HCPCS Level II is the national procedure code set for healthcare practitioners, providers, and medical equipment suppliers when filing health plan claims for medical devices, supplies, medications, transportation services, and other items and services.

When medical coders and billers talk about HCPCS codes, they're typically referring to HCPCS Level II codes. When they talk about CPT® coding, they’re actually referring to HCPCS Level I.

New medical coders as well as those well practiced in CPT® and HCPCS Level II reporting, may ask these two questions.

  1. Why are CPT® codes also called HCPCS Level I codes?

  2. Why are HCPCS Level II codes, which appear to represent everything but routine medical procedures, considered a national procedure code set?

To understand the answers to these questions and gain a better grasp of HCPCS coding, it is necessary to know how these two code sets came into existence.

History of HCPCS Coding

The history of HCPCS coding began in 1978 when the federal government created this coding system to standardize the reporting of medical services to the federal government for reimbursement. The HCPCS system, however, underwent several changes before adoption by commercial payers, which was eventually mandated by Health Insurance Portability and Accountability Act (HIPAA) in 1996.

Prior to the advent of procedure coding, providers submitted written descriptions of the services they performed to payers for reimbursement. This proved inefficient, in that 100 providers could report the same service with 100 different descriptions.

The American Medical Association (AMA) was the first to tackle the problem. In efforts to standardize reporting of medical, surgical, and diagnostic services and procedures, the association created a coding system and introduced CPT® in 1966.

By this time, the government had become a major payer of healthcare services. While it too needed to standardize healthcare claims, it also bore the responsibility of controlling costs for taxpayers. With this dual agenda, it created the HCFA Common Procedure Coding System (HCPCS).

In the above expansion of the HCPCS acronym, notice that the "H" does not stand for Healthcare, as it currently does. That’s because the federal agency we know today as the Centers for Medicare & Medicaid Services (CMS) went by the name of the Health Care Financing Administration (HCFA) until June 14, 2001. The original code set it created — essentially a version of CPT® tailored for claims filed with the government — was self-named.

But standardization in medical reporting was not yet achieved. In the subsequent decade, more than 120 different coding systems came into play, causing widespread variations in payers’ guidelines and claim forms.

In 1983, CMS merged its HCFA Common Procedure Coding System with AMA's CPT® and mandated use of CPT® for all Medicare billing.

Meanwhile, these two organizations had been collaborating on the development of a new code set to report medical-related expenses not represented in CPT® — items such as orthotic and prosthetic procedures, hearing and vision services, ambulance services, medical and surgical supplies, drugs, nutrition therapy, durable medical equipment, outpatient hospital care, and Medicaid.

The resulting code set, also implemented in 1983, begins where CPT® ends. As such, it is the second of two principal subsystems of HCPCS, aptly named HCPCS Level II.

And so it is, through the evolution of HCPCS coding, that CPT® was incorporated as the backbone of Level I, and the newer HCPCS Level II became known as a procedure coding system. Though procedures are only a minor part of the HCPCS Level II code set, many HCPCS codes are linked in application to procedure codes.


Figure 1: Development of procedure coding systems. (Modified from Fordney MT, French LL: Medical Insurance Billing and Coding, ed 1, St Louis, 2003, Saunders.)

In the timeline above, note the relatively short-lived appearance of HCPCS Level III codes. The use of HCPCS Level III Local Regional codes for specific programs and jurisdictions was discontinued in 2003 to promote consistent coding standards.

Also in the timeline, notice that when HCFA became CMS in 2001, the HCPCS name changed to Healthcare Common Procedure Coding System.

HCPCS at a Glance

Among medical code sets — ICD-10, CPT®, and HCPCS Level II — HCPCS Level II is one of the most dynamic. CMS updates HCPCS Level II codes throughout the year, based on factors that include public input and feedback from providers, manufacturers, vendors, specialty societies, Blue Cross, and others.

Further distinctions between CPT® codes (HCPCS Level I) and HCPCS Level II codes include:

Code Set

Codes Uses

Code Structure

Maintaining Body

Period in Use

Frequency of Updates

HCPCS Level I: Current Procedural Terminology, Fourth Edition

Procedures and services provided by physicians and other allied healthcare professionals

5 numeric characters; some codes with a fifth alpha character


1966 to present

Yearly major update with quarterly or Jan./July update of certain code ranges

HCPCS Level II: National Healthcare Common Procedure Coding System

Drugs, supplies, equipment, non-physician services, and services not represented in CPT®

5 characters, beginning with a letter and followed by 4 numbers


1983 to present

Quarterly updates

Structure of Level II HCPCS Codes

All HCPCS Level II codes consist of five characters, beginning with a letter (A–V) and followed by four numeric digits. The letter that begins the HCPCS Level II code represents the code chapter to which the HCPCS code belongs, thereby grouping similar items together.

Some examples of HCPCS Level II codes include:

J9355 Injection, trastuzumab, excludes biosimilar, 10 mg

C1823 Generator, neurostimulator (implantable), non-rechargeable, with transvenous sensing and stimulation leads

V2599 Contact lens, other type

The codes in each HCPCS Level II code range are categorically referred to by the letter they begin with. For example, codes beginning with the letter J — used to report non-orally administered medication and chemotherapy drugs — are called J codes. J codes are among the most common codes reported in the HCPCS Level II code set.

HCPCS Level II Code Ranges


Ambulance and Other Transport Services and Supplies


Matrix for Wound Management (Placental, Equine, Synthetic)


Skin Substitute Device


Medical And Surgical Supplies


Administrative, Miscellaneous and Investigational


Enteral and Parenteral Therapy


Outpatient PPS


Other Therapeutic Procedures


Surgical, Imaging Devices and Grafts


Durable Medical Equipment


Procedures/Professional Services


Alcohol and Drug Abuse Treatment


Drugs Administered Other than Oral Method


Chemotherapy Drugs


Durable Medical Equipment (DME) Medicare Administrative Contractors (MACs)


Wheelchairs, Components, and Accessories


Orthotic Procedures and Services


Prosthetic Procedures


Medical Services


MIPS Value Pathways


EOM (Enhancing Oncology Model) Enhanced Services


Miscellaneous Medical Services


Episode of Care


Other Services


Pathology and Laboratory Services


Temporary Codes


Diagnostic Radiology Services


Temporary National Codes (Non-Medicare)


National Codes Established for State Medicaid Agencies


Coronavirus Diagnostic Panel


Vision Services


Hearing Services


Modifiers for HCPCS Codes

See the complete HCPCS Level II code list

How HCPCS Level II Codes Are Used

HCPCS Level II codes typically report what a provider used during a service provided to a patient to treat or assess a given diagnosis. As such, HCPCS Level II codes are used in conjunction with CPT® and ICD-10-CM codes, as these three code sets are interdependent and come together in medical coding and billing, often in a single claim.

For a provider to receive reimbursement for a medical service, represented by a CPT® code, the medical coder must submit an ICD-10 code depicting the patient’s diagnosis to demonstrate medical necessity for the service. A HCPCS Level II code is then added to the claim (when required by the payer) to report products that may have been prescribed, injected, or otherwise delivered to the patient during the service.

In general terms — with some exceptions — medical coders use the three code sets when submitting medical claims to report the following:

  • CPT® codes: What the provider did

  • HCPCS Level II codes: What the provider used

  • ICD-10-CM: Why the provider "did" and "used"

For example, if a urologist diagnoses a patient with bladder cancer and performs a bladder instillation of 1 mg of Bacillus Calmette-Guerin (BCG) to treat the tumor, the medical coder might assign:

  • CPT® codes (did): 51720 Bladder instillation of anticarcinogenic agent (including retention time)

  • HCPCS Level II code (used): J9030 BCG live intravesical instillation, 1 mg

  • ICD-10-CM code (why): C67.9 Malignant neoplasm of bladder, unspecified

As mentioned above, though, there are some exceptions to these general code set concepts.

When to Choose CPT® Versus HCPCS Level II

Not all payers accept HCPCS Level II codes. Initially intended for Medicare claims, many private payers have since adopted the HCPCS Level II code set. Under the HIPAA requirement for standardized coding systems, HCPCS Level II was selected for describing healthcare equipment and supplies not represented in CPT® due to its widespread commercial acceptance. The existence of a HCPCS Level II code does not indicate third-party coverage. The medical coder must verify coverage with the payer prior to submitting a claim.

A second exception that may influence whether to choose a CPT® code or a HCPCS Level II code comes into play when the HCPCS code represents a procedure (what the provider did).

When a CPT® code and HCPCS Level II code exist for the same service or procedure, Medicare frequently requires reporting of the HCPCS Level II code. Several third-party payers follow Medicare guidelines, but medical coders must always check individual payers for their requirements.

It is also important to study the distinction between similar CPT® and HCPCS Level II code options. For instance, HCPCS Level II lists various G codes to report screening services. The operative word in each of these G code descriptors is screening.

Screening procedures are not diagnostic procedures. In other words, the HCPCS Level II screening codes apply only to asymptomatic patients. Consider the following code examples:

A medical coder might submit HCPCS Level II code G0121 Colorectal cancer screening; colonoscopy on individual not meeting criteria for high risk when an asymptomatic patient fits the once every 10-year interval. If G0121 is billed earlier than the 10-year period, the claim will likely be denied.

But if a patient complains of symptoms such as blood in stool, and the gastroenterologist performs a diagnostic colonoscopy, the coder would choose a CPT® code such as 45378 Colonoscopy, flexible; diagnostic, including collection of specimen(s) by brushing or washing, when performed (separate procedure).

Similarly, if an abnormal finding prompts the physician to convert a colorectal cancer screening into a diagnostic procedure, the coder would abandon the HCPCS Level II code for the appropriate CPT® code and append it with HCPCS Level II modifier PT Colorectal cancer screening test; converted to diagnostic test or other procedure.

Other circumstances may involve the option of reporting a HCPCS Level II code if it offers greater specificity than the CPT® code. This is sometimes the case with CPT® codes that represent supplies.

For example, a coder would choose CPT® code 29540 Strapping; ankle and/or foot to report the service of a physician who diagnosed a sprained right ankle and applied layers of web roll, followed by adhesive tape to stabilize the patient’s ankle, which the physician then covered with an elastic bandage.

If this encounter was an initial service with "no other procedure or treatment" required, the coder may also report CPT® code 99070 Supplies and materials (except spectacles), provided by the physician or other qualified health care professional over and above those usually included with the office visit or other services rendered (list drugs, trays, supplies, or materials provided) to document the use of supplies like tape or bandages. Payer policy, however, may direct coders away from the generic CPT® code 99070, preferring instead the detailed HCPCS Level II A code options, such as A6448 Light compression bandage, elastic, knitted/woven, width less than 3 inches, per yard.

HCPCS Level II Modifiers

HCPCS Level II modifiers consist of two alpha or alphanumeric characters that are appended to a HCPCS Level II or CPT® code to expand the description of the code. Medical coders use HCPCS Level II modifiers when the information provided by a code descriptor needs supplementation to fully capture the circumstances that apply to an item or service.

For example, a coder would use the HCPCS Level II modifier UE when an item identified by a HCPCS Level II code is “used durable medical equipment.” The NU modifier would be added to indicate “new equipment.”

So, when filing a claim for a patient who was prescribed and received a new wheelchair, the coder might report HCPCS Level II code E1130 Standard wheelchair, fixed full length arms, fixed or swing away detachable footrests and append NU, as in E1130-NU, which would significantly affect reimbursement.

Another HCPCS Level II code example demonstrates how modifiers affect reimbursement by accounting for loss.

If a provider administers 44 units of botulinum toxin injection by direct laryngoscopy from a 100-unit single-dose vial, and then had to discard the remaining contents of the vial, the medical coder could report the discarded drug with the HCPCS Level II modifier JW Drug amount discarded/not administered to any patient.

For this scenario, the HCPCS Level II code J0585 Injection, onabotulinumtoxinA, 1 unit is reported on two separate lines. On the first line, the coder would report J0585 x 44 to identify the amount administered. On the second line is J0585-JW x 56 to identify the amount discarded. Payer policies may vary, so it is important follow the rules for the relevant payer.

When reporting codes with more than one modifier, functional or pricing modifiers are always listed in the first position. Payers consider functional modifiers when determining reimbursement. Next, the informational modifiers are reported.

The complete list of HCPCS Level II modifiers and their descriptions are located in the appendix of most HCPCS Level II code books.

Keeping Pace With HCPCS Level II

The Medicare Improvements for Patients and Providers Act of 2008 (MIPPA) requires CMS to review HCPCS Level II codes for potential changes that would enhance accurate reporting and billing for medical items and services. This involves maintaining HCPCS Level II quarterly updates, releasing information, and posting transaction and code set standards on its website.

Providers may acquire the CMS HCPCS Level II application form and instructions for submitting a recommendation to establish, revise, or discontinue a code.

Various types of HCPCS Level II codes are defined according to their purpose and who is responsible for establishing and maintaining them:

  • National HCPCS Level II codes

  • Dental codes

  • Miscellaneous codes (not otherwise classified)

  • Other notable codes, including temporary codes

National HCPCS Level II codes are maintained by CMS, but all private and public health insurers may use them. CMS representatives as well as individuals from the Department of Veterans Affairs, the Department of Defense, and others meet to make decisions about coding requests and necessary code changes due to specific programs.

Dental codes are a separate category of national codes for billing dental procedures and supplies. The American Dental Association (ADA) publishes and licenses the Current Dental Terminology (CDT® code set comprised of HCPCS Level II dental service codes, which are also called D codes because these codes begin with the letter D. The ADA holds the copyright to CDT® codes and makes all decisions regarding the revision, deletion, or addition of dental service codes.

Miscellaneous codes (not otherwise classified) are used when no national code describing an item or service exists. A miscellaneous code may be assigned by insurers for use while CMS considers the request for a new code. HCPCS Level II miscellaneous codes also allow suppliers to bill for items or services as they are approved by the Food and Drug Administration (FDA) rather than waiting until the next quarterly code update. Before submitting a miscellaneous code, medical coders should check with the health plan to verify the absence of a specific code. When submitting a claim to Medicare, it’s beneficial to check payer policy or contact a Medicare representative for coding advice.

Other notable codes include codes limited to use in certain settings, used for procedures, and more.

  1. C codes are required under the Medicare Outpatient Prospective Payment System (OPPS) for use by hospitals to report drugs, biologicals, magnetic resonance angiography (MRA), and devices. Certain other facilities may report C codes at their discretion.

  2. G codes are national codes assigned by CMS to identify professional healthcare procedures and services that may not have assigned CPT® codes.

  3. H codes establish unique HCPCS Level II codes to identify mental health services for state Medicaid agencies mandated by state law to establish separate codes for those services.

  4. K codes are used by Durable Medical Equipment Medicare Administrative Contractors (DME MACs). DME MACs develop new K codes when existing national codes for supplies and certain product categories do not include the codes needed to implement a DME MAC medical review policy.

  5. Q codes identify services that would not be given a CPT® code or are not identified by national HCPCS Level II codes but are needed by CMS to facilitate claims processing. Such services include drugs, biologicals, and other types of medical equipment or services.

  6. S codes meet various business needs of commercial and Medicaid agency health plans. HCPCS Level II S codes report drugs, services, and supplies for which national codes do not exist but are needed to implement policies, programs, or support claims processing. They are not payable by Medicare.

  7. T codes are designated for use by Medicaid agencies to establish codes for items for which there are no permanent national codes, and for which codes are necessary to meet Medicaid program operating needs. T codes are not used by Medicare but may be used by commercial health plans.

Last reviewed on March 25, 2024, by the AAPC Thought Leadership Team

You might also like

There are currently no related articles