Key takeaways
HCPCS code J0171 described Injection, Adrenalin, epinephrine, 0.1 mg. It was the J-code for epinephrine given in office and outpatient settings.
J0171 was a valid, payable code from January 1, 2011 through June 30, 2025. CMS deactivated it effective July 1, 2025, so the date of service decides which code you use.
J0165 is the primary replacement code. Four manufacturer-specific codes sit alongside it: J0166 (BPI), J0167 (Hospira), J0168 (International Medication Systems), and J0169 (Adrenalin).
Medicare reimbursed J0171 under the Average Sales Price (ASP) + 6% methodology. Rates change quarterly, so confirm them in the CMS ASP pricing file.
Pabau’s claims management software supports injectable J-code billing workflows, including modifier tracking and documentation for buy-and-bill claims.
HCPCS code J0171 was the billing code for Injection, Adrenalin, epinephrine, 0.1 mg. Specifically, one unit equals 0.1 mg of the drug administered. CMS deleted the code effective July 1, 2025 and replaced it with J0165 through J0169. As a result, the date of service now decides which code a claim carries.
This guide covers the crosswalk, the Medicare reimbursement basis, and the ICD-10 codes that support medical necessity. It also sets out the modifier rules, NDC reporting, and the buy-and-bill workflow behind an epinephrine claim.
HCPCS code J0171: definition, description, and code status
The official Centers for Medicare & Medicaid Services (CMS) descriptor for HCPCS code J0171 is: Injection, Adrenalin, epinephrine, 0.1 mg. Specifically, each unit billed equals 0.1 mg of epinephrine. The drug named in the descriptor is Adrenalin, the brand-name formulation of epinephrine. Depending on payer policy, the code covered the generic molecule rather than that brand exclusively.
J0171 is classified under HCPCS Level II, the national coding standard administered by CMS for drugs and biologicals billed to Medicare and Medicaid. In general, J-codes fall within the J0000-J9999 range and are assigned to drugs administered by injection or infusion in a physician office or outpatient facility.
Important status note: J0171 is no longer a billable code. Specifically, CMS deactivated it in the July 2025 HCPCS quarterly update, making June 30, 2025 the last valid date of service.
The CGS Medicare July 2025 HCPCS update lists J0171, for example, among the discontinued codes. The American Academy of Pediatrics Pediatric Coding Newsletter (September 2025) confirms the replacement. J0165 takes over from J0171 for brand-name epinephrine and for products rated therapeutically equivalent to brand-name Adrenalin.
J0171 crosswalk: replacement and related HCPCS codes
When CMS deletes a HCPCS code, coders need to know which code takes its place. For that reason, submitting a deleted code on a Medicare claim results in an automatic rejection. J0171 has successors in one direction and a predecessor in the other, and the two get mixed up often enough to be worth separating clearly.
Looking backward: J0170 (Injection, Adrenalin, epinephrine, up to 1 ml ampule) was deleted with a last valid date of service of December 31, 2010. J0171 is the code that replaced it, shifting the billing unit from an ampule to 0.1 mg. As a result, J0170 is not a current or adjacent code, and it should never appear on a claim today.
The 2023 change that gets misread: On January 1, 2023, CMS added J0173 for Belcher Pharmaceuticals epinephrine. Its descriptor read “not therapeutically equivalent to J0171”, which created a source-specific companion code. However, it did not delete J0171. Nonetheless, that code stayed active and payable for another two and a half years.
Looking forward: The July 2025 HCPCS quarterly update deleted both J0171 and J0173 effective July 1, 2025. In their place, CMS created J0165 plus four manufacturer-specific codes for products the FDA has not rated as therapeutically equivalent to the reference product.
How to pick between J0165 and J0166 through J0169: The manufacturer-specific codes exist for a reason. Because of this, the FDA has not rated those products as therapeutically equivalent in the Orange Book, which makes each one a single-source product.
Instead, match the code to the labeler on the vial you administered, not to the drug class. When the product is brand-name Adrenalin or a therapeutically equivalent generic, J0165 is the code.
Confirm the code’s status in the CMS HCPCS quarterly update file before you submit. The chart below runs the two decisions in order, starting with the date of service.

Medicare reimbursement rates for J0171
Medicare Part B reimburses HCPCS J-codes for injectable drugs using the Average Sales Price (ASP) methodology. The standard formula is ASP + 6% for drugs administered in a non-facility setting (physician office). By contrast, facility settings (hospital outpatient departments) typically use a different rate under the Outpatient Prospective Payment System (OPPS).
The same methodology now applies to J0165 through J0169. In particular, each of those codes carries its own ASP entry, because each one covers a different labeler.

Rate volatility caveat: ASP-based rates change quarterly, so a dollar figure quoted without its quarter and year dates quickly. Pull the current rate from the CMS ASP Drug Pricing Files for the quarter covering the date of service.
The Physician Fee Schedule lookup tool does not carry Part B drug payment limits, so it is the wrong source for a J-code rate.
Pro Tip
Bookmark the CMS ASP Drug Pricing quarterly release page and set a calendar reminder for the first week of January, April, July, and October. Each update can shift epinephrine reimbursement by a few cents per unit – small per claim, significant across a high-volume allergy or pediatric practice.
ICD-10 diagnosis codes used with J0171
First, every J-code claim requires a supporting ICD-10-CM diagnosis code to establish medical necessity. For HCPCS code J0171, the most clinically appropriate codes cluster around anaphylaxis, severe allergic reactions, and allergy-related conditions. As a result, payers cross-reference the HCPCS code against the diagnosis code – a mismatch is one of the most common reasons epinephrine injection claims are denied.
This list covers the most frequently paired codes but is not exhaustive. Even so, individual payers may require specific ICD-10 codes to satisfy medical necessity criteria. Our ICD-10-CM code lookup carries the full descriptor for each code, which is worth checking before the claim goes out.
Modifiers for J0171 epinephrine injection claims
Overall, modifiers tell the payer how and where the drug was administered. Using the wrong modifier – or omitting one when required – is the second most common cause of J-code denials after diagnosis mismatch. The following modifiers apply to HCPCS code J0171 and its successor codes.
JA vs JB: Epinephrine for anaphylaxis is almost always administered subcutaneously or intramuscularly (modifier JB). In contrast, IV epinephrine is reserved for severe refractory anaphylaxis in hospital settings.
Applying JA to an intramuscular injection in a physician office is a documentation error that can trigger a payer audit. Even so, modifier requirements may vary by payer – always check MAC guidance or the specific payer’s local coverage determination (LCD) before submitting.
JW and JZ on single-dose epinephrine vials
CMS requires a wastage modifier on separately payable Part B drugs supplied in single-dose containers. Specifically, JW reports the discarded amount on its own claim line, while JZ attests that no drug was discarded. The requirement took effect on claims from July 1, 2023, and CMS began denying non-compliant lines that October.
Presentation is what decides whether the rule applies. Adrenalin ships as a 1 mL single-dose vial and as a 30 mL multiple-dose vial. As a result, only the single-dose presentation falls under the JW and JZ policy. Multiple-dose vials are excluded.
Check which one your practice stocks before you append either modifier, because applying JZ to a multiple-dose vial line is its own error.
- Full vial administered: Report the administered units on one line with JZ appended. No second line is needed.
- Partial vial administered: Report the administered units on one line, then report the discarded units on a second line with JW appended.
- Document the waste: Record the discarded amount, the reason, and a witness where your policy requires one. The claim line and the clinical note have to agree.
- Carry the rule forward: The same JW and JZ logic applies to J0165 through J0169. Moving to manufacturer-specific codes did not change the wastage policy.
Billing J0171 in non-facility vs facility settings
The billing path for epinephrine injections differs significantly between a physician’s office and a hospital outpatient department. As a result, getting this distinction wrong affects both the reimbursement amount and the supporting documentation requirements.
In the non-facility setting, the physician practice absorbs the acquisition cost of the drug and recovers it through the J-code reimbursement. In other words, that is buy-and-bill in one sentence, and thin documentation is what costs the practice money.
A clean claim here needs precise unit calculation, the correct modifier, and the NDC captured at the point of administration. In short, the clean claim requirements apply to every J-code line you submit.
How buy-and-bill works for epinephrine
Buy-and-bill is the standard in-office drug billing model for injectable HCPCS codes. The physician practice purchases the drug directly from a wholesaler or distributor and administers it to the patient. In turn, it then bills the payer using the relevant J-code, recovering the acquisition cost plus the allowable reimbursement.
- Purchase: First, the practice acquires epinephrine from an authorized pharmaceutical wholesaler. Retain invoices and lot number documentation – these support both NDC reporting and audit defense.
- Administer: Next, the clinician administers the injection. Document the route (subcutaneous, IM, or IV), dose in mg, and administration time in the clinical note.
- Calculate units: J0171 was billed per 0.1 mg, and J0165 through J0169 use the same 0.1 mg unit. If 0.3 mg is administered, bill 3 units. For that reason, over-reporting units is an OIG audit trigger.
- Select the HCPCS code: For a date of service on or after July 1, 2025, use J0165 or the manufacturer-specific code that matches the vial. Append the route modifier (JA or JB) and the wastage modifier (JW or JZ) where the presentation calls for it.
- Report the NDC: Medicaid requires NDC reporting alongside the HCPCS code. The format is: qualifier (N4) + 11-digit NDC + unit count. Confirm Medicare MAC requirements for your jurisdiction.
- Submit the claim: Finally, file on CMS-1500 for professional claims. Check the units, the modifiers, and the NDC on the line before it leaves the practice.
Overall, buy-and-bill claims are subject to OIG monitoring. The risk areas are unit miscalculation, using a deleted code, and missing NDC numbers on Medicaid claims. Describe the process factually in documentation and ensure the claimed units match the administered dose exactly.
NDC reporting on epinephrine claims
In practice, the National Drug Code, known as the NDC, is where Medicaid claims for epinephrine fail most often. Federal policy under the Deficit Reduction Act of 2005 mandates NDC reporting on all Medicaid claims for covered outpatient drugs. However, Medicare requirements differ by MAC jurisdiction.
- NDC format: Qualifier “N4” + 11-digit NDC (5-4-2 format, zero-padded) + unit qualifier + quantity. Example: N4 49999012501 ML 0.3
- Source the NDC from: The product packaging of the specific lot administered – not a generic NDC for the drug class.
- Medicaid: NDC reporting is mandatory. Omission results in claim denial. Confirm state-specific format requirements with your state Medicaid agency.
- Medicare: NDC reporting on CMS-1500 claims is not universally mandated for Medicare Part B, but some MACs issue local guidance requiring it. Check your MAC’s bulletin for current requirements.
- Commercial payers: Requirements vary. Review each payer’s billing guidelines annually – some commercial plans adopted Medicaid-style NDC requirements independently.
Capturing the NDC belongs in the point-of-care workflow rather than the billing workflow. By the time a coder prepares the claim, the NDC should already sit in the administration record. The 837 electronic claim format carries NDC data in the LIN, CTP, and REF segments. Confirm your billing system supports those segments before you submit electronically to Medicaid.
Payer-specific guidelines for J0171
Medicare Part B policy provides the national framework, but commercial payers and Medicare Administrative Contractors can overlay local rules. Three areas generate the most payer-specific variation for epinephrine injection billing.
- Prior authorization: Most Medicare Part B epinephrine claims do not require prior authorization for acute anaphylaxis. However, some commercial plans require PA for non-emergency epinephrine use (such as allergy immunotherapy rescue doses). Verify PA status before elective encounters.
- Local Coverage Determinations (LCDs): MACs can issue LCDs that specify acceptable ICD-10 codes, documentation requirements, and coverage limitations for J-code drugs in their jurisdiction. Check your MAC’s policy for epinephrine-related LCDs.
- Commercial plan formulary: Some commercial plans limit J-code reimbursement to specific epinephrine formulations or require the generic (rather than Adrenalin brand). Check the plan’s drug formulary and J-code payment policy.
Overall, track J-code denials by payer, by denial reason code, and by the modifier used. In turn, the pattern tells you which payer rule is triggering the rejection, and what to correct before you resubmit.
Pro Tip
Request your MAC’s current Jurisdiction Summary annually. Most MACs publish an online portal with searchable LCDs and articles. Search for ‘epinephrine’ or ‘J0171’ – if an LCD exists, it will list covered ICD-10 codes and documentation requirements specific to your billing region.
What changed in 2025, and what to watch in 2026
The July 2025 HCPCS quarterly update is the change that matters for this code. In short, CMS deactivated J0171 effective July 1, 2025 and moved epinephrine onto a manufacturer-specific code set.
A claim for a date of service on or before June 30, 2025 still uses J0171. In contrast, a claim from July 1, 2025 forward uses J0165, or the single-source code that matches the product.
- July 2025 HCPCS cycle: J0171 and J0173 were both discontinued with a last valid date of service of June 30, 2025. J0165, J0166, J0167, J0168, and J0169 were added effective July 1, 2025.
- Split-year 2025 claims: Practices that treated patients on both sides of that date carry two code sets for the same drug in one calendar year. Audit your 2025 charges against the date of service before you close the year.
- Late and corrected 2025 claims: Medicare’s timely filing limit runs one calendar year from the date of service. A June 2025 encounter could still be filed or corrected into mid-2026, and those lines correctly carry J0171.
- 2026 HCPCS cycle: Check the CMS HCPCS quarterly update in January 2026 for descriptor revisions to J0165 through J0169 or for any new single-source additions.
- Commercial payer updates: Commercial payers update their own fee schedules and J-code policies annually, often effective January 1. Confirm that each plan has loaded the new epinephrine codes before you bill them.
For historical claims or audits involving J0171, confirm the date of service falls on or before June 30, 2025. As a result, claims submitted with J0171 for a later date of service will be rejected by Medicare. The American Academy of Pediatrics flagged the change as landing hardest on pediatric and allergy practices, which are the settings that bill epinephrine most often.
How Pabau keeps a code change from reaching the claim
In practice, a mid-year code deletion like this one usually surfaces in the remittance file. The coder keeps a personal spreadsheet of J-code changes, and the charge master is updated whenever someone remembers. The July claims come back rejected before anyone notices that J0171 stopped being valid on the last day of June.
By contrast, practice management software like Pabau keeps the administered dose and the billed claim in step. Specifically, the drug, dose, route, lot number, and NDC are captured in the treatment record at the point of administration. As a result, nobody reconstructs them from memory a week later.
Charge codes live in one shared library, so updating the epinephrine entry once updates it for every user. Our software for injectable practices then carries that stored data onto the claim. It tracks what comes back by payer and by denial reason, so you can see which rule is costing you money.
The outcome is that a HCPCS change becomes a single scheduled edit instead of a quarter of rework. Even so, your coding team still decides which code applies. The system makes sure that decision is applied consistently, and that the documentation supporting it stays attached to the encounter.
Streamline injectable J-code billing with Pabau
Pabau’s claims management tools help practices track modifier requirements, document buy-and-bill workflows, and submit cleaner claims – reducing denials on HCPCS J-code submissions.
Conclusion
J0171 is now a historical code, and that is the practical point of this page. A claim for a date of service through June 30, 2025 still carries it. A date of service from July 1, 2025 onward does not.
The harder habit to build is the second decision. Epinephrine is no longer one code with one rate, so the labeler on the vial now changes the line you bill. As a result, that turns stock and charge capture into a billing question rather than a purely clinical one.
Practices that record the product at the point of administration make that call correctly every time. By contrast, practices that reconstruct it a week later are guessing, and the guesses show up in the remittance file.
Set a reminder for the CMS quarterly update in January, April, July, and October, and a deletion like this one stops being a surprise. To see how a shared charge library and claim tracking work in your billing workflow, book a demo.
Continue your research
Need to understand how clearinghouse submissions work for J-codes? Medical claims clearinghouse guide explains how electronic claims move from practice to payer and where J-code data is validated.
Want to reduce claim rejections before they happen? Clean claim requirements covers the data elements every J-code claim needs to pass the first payer edit.
Looking for guidance on revenue cycle management for injectable practices? Revenue cycle management overview walks through the full billing loop from charge capture to payment posting.
Frequently asked questions
What is HCPCS code J0171 used for?
HCPCS code J0171 was the billing code for Injection, Adrenalin, epinephrine, 0.1 mg. Specifically, practices used it to bill Medicare, Medicaid, and commercial payers for epinephrine given in an office or outpatient setting. Each unit billed corresponds to 0.1 mg administered. However, the code was deactivated on July 1, 2025, so it applies only to dates of service through June 30, 2025.
Has J0171 been deleted or replaced?
Yes. J0171 was deleted in the July 2025 HCPCS quarterly update, with June 30, 2025 as its last valid date of service. In its place, CMS replaced it with J0165, which covers brand-name epinephrine and therapeutically equivalent products. In addition, four manufacturer-specific codes sit alongside it: J0166 for BPI, J0167 for Hospira, J0168 for International Medication Systems, and J0169 for the Adrenalin-labeled product.
What ICD-10 code pairs with J0171 for anaphylaxis?
T78.2XXA (Anaphylactic shock, unspecified, initial encounter) is the primary ICD-10-CM code paired with J0171 for acute anaphylaxis. Notably, the same pairing carries over to J0165 through J0169. In addition, food-triggered anaphylaxis uses the T78.00-T78.09 range depending on the allergen. Always verify that the selected ICD-10 code meets the payer’s medical necessity criteria.
When is NDC reporting required with J0171?
NDC reporting is mandatory for all Medicaid claims involving covered outpatient drugs, including epinephrine. For Medicare Part B, requirements vary by MAC jurisdiction, so check your MAC’s current guidance. Report the NDC in N4 qualifier format, using the 11-digit NDC from the packaging of the specific lot administered. The NDC also tells you which of the successor codes applies.