Guide
CPT, HCPCS, revenue codes & NDC — hospital billing codes explained
A single hospital price file mixes four different code systems. Knowing which is which is the difference between comparing the same service across hospitals and comparing apples to oranges.
When a hospital publishes its machine-readable price file under federal price-transparency rules, every line can carry several kinds of codes at once. Four systems do most of the work, and they answer different questions:
- CPT — what procedure or service was performed?
- HCPCS Level II — what drug, supply, or item was used?
- Revenue code — which hospital department or category billed it?
- NDC — exactly which drug product, down to the package?
CPT — the procedure code
CPT (Current Procedural Terminology) is maintained by the American Medical Association. Codes are five digits (for example 70551 for an MRI of the brain without contrast, or 45378 for a diagnostic colonoscopy). CPT is the workhorse of outpatient and physician billing and the most useful code for shopping, because the same CPT means the same defined service at every hospital. On HospitalPricer, CPT codes drive most of the CPT / HCPCS code pages and every procedure comparison.
HCPCS — CPT plus everything CPT misses
HCPCS (Healthcare Common Procedure Coding System) has two levels, and this is where the confusion usually starts:
- HCPCS Level I is the CPT code set described above.
- HCPCS Level II is a separate set of alphanumeric codes — a letter followed by four digits (for example J1745 for an infliximab injection, or A4550 for surgical trays). CMS maintains it to cover drugs, biologicals, supplies, durable medical equipment, and ambulance services that CPT does not describe well.
So “CPT vs HCPCS” is slightly the wrong framing: CPT is part of HCPCS. In practice, when a file or a person says “HCPCS code,” they mean the Level II letter-plus-four-digits codes. HospitalPricer classifies both CPT and HCPCS Level II codes by clinical section and labels each one’s type on the code pages.
Revenue codes — where the charge happened
A revenue code is a four-digit code from the UB-04 institutional claim form. It identifies the hospital department or cost center, not the specific procedure — for example 0450 (emergency room), 0300 (laboratory), or 0636 (drugs requiring detailed coding). A single billed line often carries both a revenue code (the department) and a CPT/HCPCS code (the exact service). Revenue codes explain why an identical CPT can be priced differently depending on the setting it was delivered in — an important reason your actual bill can differ from a headline price.
NDC — the exact drug product
An NDC (National Drug Code) is an FDA identifier, usually written as three segments (labeler–product–package). It pins down a medication precisely: the manufacturer, the specific product, and the package size. Hospitals use NDCs so a drug charge is unambiguous, because two products that share a HCPCS code can be very different in strength or packaging. NDCs are essential for accuracy but are rarely useful for shopping, since you would need the exact product a hospital used.
How they fit together on one line
Picture one line of a hospital’s price file for an infusion drug given in the emergency department. It might carry a revenue code of 0636 (department), a HCPCS Level II code of J1745 (the drug), and an NDC for the exact vial used. All three describe the same charge from different angles. For comparison shopping, the HCPCS (or CPT) code is the one that lets you line the same item up across hospitals.
Which code to use on HospitalPricer
- To compare a procedure (imaging, surgery, a visit), search its CPT code or open the procedure page.
- To compare a drug, injection, or supply, search its HCPCS Level II code on the code pages.
- Treat revenue codes as context for why prices differ by setting, not as a shoppable identifier.
- Treat NDCs as the precise drug behind a charge — useful for accuracy, not for comparison.
For definitions of the individual price types you will see alongside these codes — gross charge, cash price, negotiated rate — see the glossary and gross charge vs cash price vs negotiated rate. To see how these codes appear in a raw file, read how to read a hospital price transparency file.
Frequently asked questions
- What is the difference between CPT and HCPCS?
- CPT is one part of HCPCS. HCPCS Level I is the CPT code set (five-digit numeric codes for procedures and services, maintained by the AMA). HCPCS Level II is a separate set of alphanumeric codes (a letter followed by four digits) maintained by CMS for things CPT does not cover well — drugs, supplies, durable medical equipment, and ambulance services. When people say “HCPCS codes,” they usually mean the Level II alphanumeric codes.
- What is a revenue code on a hospital bill?
- A revenue code is a four-digit code from the UB-04 facility claim form that says which hospital department or category a charge belongs to — for example 0450 for the emergency room or 0300 for laboratory. It describes where or how a service was delivered, not the specific procedure. A single line can carry both a revenue code (the department) and a CPT/HCPCS code (the exact service).
- What is an NDC code?
- An NDC (National Drug Code) is an FDA identifier for a specific drug product — its manufacturer, product, and package size. Hospital price files use NDCs to price medications precisely, because two drugs with the same HCPCS code can be very different products.
- Which code should I search on HospitalPricer?
- Search the CPT or HCPCS Level II code for the procedure, drug, or supply you care about — those are the codes that let you compare the same item across hospitals. Revenue codes and NDCs appear in the underlying files but are less useful for apples-to-apples comparison because they describe a department or a specific drug package rather than a shoppable service.
- Why does the same service have different codes at different hospitals?
- Hospitals can describe a service with different but overlapping codes, bundle it differently, or attach different revenue codes depending on the department. That is one reason published prices for “the same” service vary — you are sometimes comparing slightly different code combinations. We group by the billing codes hospitals actually use and show them so you can judge the match.