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, nonphysician 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.

If you're new to medical coding or even well practiced in CPT® and HCPCS Level II reporting, you may be asking yourself 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, you need 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 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, most HCPCS codes are linked in application to procedure codes, as you will see.

History of HCPCS

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 AMA 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, nonphysician services, and services not represented in CPT® 5 characters, beginning with a letter and followed by 4 numbers CMS 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 through 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

  • G9631

    Patient sustained ureter injury at the time of surgery or discovered subsequently up to 30 days post-surgery

  • 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. Incidentally, J codes are among the most commonly reported codes in the HCPCS Level II code set.

HCPCS Code Ranges

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 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, 1mg
  • 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.


First, 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. In fact, 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. That said, 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 you to report the HCPCS Level II code. Several third-party payers follow Medicare guidelines, but you must check with your payer.

You must also 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 HCPCS G code descriptors is screening.

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

You might submit HCPCS 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 you bill G0121 earlier than the 10-year period, your claim will likely be denied.

But if a patient complains of symptoms such as blood in stool, and the gastroenterologist performs a diagnostic colonoscopy, you 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 your physician to convert a colorectal cancer screening into a diagnostic procedure, you would abandon the HCPCS code for the appropriate CPT® code and append it with HCPCS 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 the HCPCS code offers greater specificity than the CPT® code. This is sometimes the case with CPT® codes that represent supplies.

For example, you 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 the application of an elastic bandage.

If this encounter was an initial service with "no other procedure or treatment" required, you would 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 A code options, such as A6448 Light compression bandage, elastic, knitted/woven, width less than 3 inches, per yard.

HCPCS Level II Modifiers

HCPCS modifiers consist of two alpha or alphanumeric characters and are appended to a HCPCS 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, you would use the HCPCS modifier UE when an item identified by a HCPCS code is “used durable medical equipment.” The NU modifier would be added to indicate “new equipment.”

So, if you're filing a claim for a patient who was prescribed and received a new wheelchair, you might report HCPCS 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 code example demonstrates how modifiers affect reimbursement by accounting for loss.

If your 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, you could report the discarded drug with the HCPCS modifier JW Drug amount discarded/not administered to any patient.

For this scenario, you'd report HCPCS code J0585 Injection, onabotulinumtoxinA, 1 unit on two separate lines. On the first line, you’d report J0585 x 44 to identify the amount administered. On the second line you would report J0585-JW x 56 to identify the amount discarded. Payer policies may vary, so be sure to follow the rules for the relevant payer.

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

You will find the complete list of HCPCS Level II modifiers and their descriptions 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 code changes needed because of 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 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 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, you should check with the health plan to verify the absence of a specific code. When submitting a claim to Medicare, it may be beneficial to contact your 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 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 Level II HCPCS 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 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.

Interested in Becoming a Medical Coder?

If you’ve been thinking about a career in medical coding, there has never been a better time. Not only are medical coders in short supply and high demand, but training to become a Certified Professional Coder (CPC®) is far more affordable than college — and takes a fraction of the time. Learn proficient use of ICD-10, CPT®, and HCPCS, and launch your new career on the business side of healthcare.

And in the meantime, if you have HCPCS coding questions that we haven’t answered, AAPC members can post questions here and receive helpful insight from AAPC members working in diverse healthcare settings.

Last Reviewed on Aug. 1, 2022, by AAPC Thought Leadership Team

Looking for HCPCS Code Search?

Search across 4 medical code sets (CPT®, ICD-9, ICD-10, & HCPCS)

Become a Certified Medical Coder

Get your medical coding training and certification from the same trusted source

Order a HCPCS Book

Count on AAPC's HCPCS book to help you choose and report the right HCPCS code

Get Real-world Coding Experience

Improve coding skills across multiple specialties coding actual medical charts

Looking for Exhibiting Opportunities or Group Discounts?

Contact us at 877-524-5027.

Which certification is right for you?

Call 877-290-0440 or have a career counselor call you.

Which eNewsletters are right for you?

Call 844-334-2816 to speak with a specialist now.

Which books are right for you?

Call 877-524-5027 to speak to a representative.