HCPCS code J1020 – Methylprednisolone acetate 20 mg injection
J1020 is the HCPCS Level II code for injection, methylprednisolone acetate, 20 mg. CMS deleted it effective April 1, 2024, and replaced it with J1010, which bills the same drug at one unit per 1 mg.
J1020 covered one 20 mg unit of the acetate formulation, sold as Depo-Medrol. It still applies to claims with a date of service before April 1, 2024. J1030 (40 mg) and J1040 (80 mg) were deleted on the same date, so every current methylprednisolone acetate claim uses J1010.
- Level
- Level II
- Category
- J — Drugs administered other than oral method
- Status
- Deleted, effective April 1, 2024
- Billable
- No
- Code also known as
- Depo-Medrol injection, corticosteroid injection billing, steroid shot billing code
Let Pabau's smart automation suggest the right codes, reduce claim denials, and keep your practice compliant—effortlessly.
- AI-powered code suggestions
- Real-time compliance checks
- Faster claims, fewer denials
Automate repetitive tasks and focus on what matters most—your patients.
Reduce coding errors and ensure compliance with the latest regulations.
Clean claims, fewer denials, and faster reimbursements.
Powerful insights and reporting to help your practice thrive.
HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide
Key takeaways
HCPCS Code J1020 billed methylprednisolone acetate injection at 20 mg per unit, and CMS deleted it effective April 1, 2024.
For dates of service on or after April 1, 2024, bill J1010, which counts one unit per milligram administered.
J1030 (40 mg) and J1040 (80 mg) were deleted on the same date, so no dose-specific methylprednisolone acetate code is left to choose from.
Base the unit count on the dose drawn and documented, not the vial size, whichever code the date of service calls for.
Practice management software like Pabau lets you update the charge master once, so stale J1020 entries stop reaching new claims.
HCPCS Code J1020: Definition and official descriptor
HCPCS Code J1020 is the HCPCS Level II code for “Injection, methylprednisolone acetate, 20 mg.” CMS deleted it effective April 1, 2024, and replaced it with J1010, “Injection, methylprednisolone acetate, 1 mg.” J1020 still applies to claims with a date of service before that cutoff.
The code sits in the J section of HCPCS Level II, which covers drugs administered other than by the oral method. It applies to the acetate salt of methylprednisolone only. Methylprednisolone sodium succinate (Solu-Medrol) carries its own codes, J2920 and J2930, and mixing up the two formulations is a frequent billing error.
Key facts about the J1020 descriptor:
- Drug: Methylprednisolone acetate (brand name: Depo-Medrol, manufactured by Pfizer/Pharmacia)
- Dose unit: 20 mg per billing unit
- Formulation: Acetate suspension for injection, not oral and not sodium succinate
- Route: Intramuscular, intra-articular, intralesional, or soft-tissue injection
- Code level: HCPCS Level II (maintained by CMS)
- Status: Deleted effective April 1, 2024, with J1010 as the successor
Each J1020 unit stands for 20 mg. Under J1010, the same 20 mg dose bills as 20 units. A charge entry copied across without changing the unit count underbills that dose by a factor of 20.
Is J1020 still active? Discontinued status and effective dates
No. CMS deleted J1020 effective April 1, 2024, as part of the 2024 HCPCS steroid coding realignment. J1030 and J1040 were deleted on the same date, and J1010 replaced all three. The American Podiatric Medical Association (APMA) alerted members to the change, and The Rheumatologist covered its impact on specialty practices.
What this means for billing staff:
- Claims for DOS before April 1, 2024: J1020 remains the correct code. Submit or resubmit using J1020 with documentation of the 20 mg dose.
- Claims for DOS on or after April 1, 2024: Bill J1010 at one unit per milligram. A J1020 line for these dates fails the payer’s code-validity edit and denies.
- Charge master updates: Any superbill or EHR charge template that still carries J1020 needs correcting now. The same goes for J1030 and J1040.
- Retroactive audits: If a payer requests records for a J1020 claim, the date of service must fall before April 1, 2024.
Before resubmitting a claim that straddles the cutoff, confirm the code’s status and rate in the CMS Physician Fee Schedule lookup tool.
J1020 crosswalk: Replacement codes after the 2024 HCPCS steroid realignment
When CMS deletes a HCPCS code, it names the successor alongside the deletion. For methylprednisolone acetate, the 2024 realignment folded three dose-specific codes into one per-milligram code.
The AAPC HCPCS code database and the CMS quarterly HCPCS Alpha-Numeric file both list the deletion and the J1010 successor. Check one of them before changing a charge master entry, rather than a third-party lookup site that may lag the CMS release.
J1020 vs J1030 vs J1040: How the deleted codes map to J1010
J1020, J1030 and J1040 split methylprednisolone acetate into three dose-specific codes. All three were deleted on April 1, 2024, so none of them is a billable choice for a current date of service. The comparison below shows how each dose bills before and after the cutoff.

The move from dose-specific codes to a per-milligram code changes the unit count on every claim line. The table sets out each deleted code’s status next to the J1010 line that now replaces it.
Always bill units from the dose administered and documented, not the vial size purchased. A 5 mL vial of 40 mg/mL Depo-Medrol holds 200 mg. If 20 mg was drawn and injected on or after April 1, 2024, the claim line is J1010 at 20 units. Payers cross-reference the documented dose against the billed units during claim review.
What does J1020 cover? Inclusions and exclusions
J1020 covers methylprednisolone acetate injection, per 20 mg, administered by or under the direct supervision of a physician. For current dates of service, J1010 covers the same drug per 1 mg. Knowing what falls outside the code prevents crosswalk errors and claim rejections.
Included under J1020:
- Depo-Medrol (branded methylprednisolone acetate) administered intramuscularly, intra-articularly, intradermally, or into soft tissue
- Generic methylprednisolone acetate suspension from any FDA-approved manufacturer
- Multiple injection sites on the same date, each requiring a separate unit count based on dose administered at each site
Excluded from J1020 (require different codes):
- Methylprednisolone sodium succinate (Solu-Medrol): use J2920 or J2930. It’s a chemically distinct formulation.
- Oral methylprednisolone (Medrol dose packs): tablets are not billed under J1020 or J1010.
- Other corticosteroids: triamcinolone (J3301, J3302), betamethasone (J0702), and dexamethasone sodium phosphate (J1100, per 1 mg)
- Compounded methylprednisolone acetate preparations billed by NDC without a matching HCPCS descriptor
Two older steroid codes still turn up on legacy fee schedules. Betamethasone J0704 was deleted effective January 1, 2011, and dexamethasone acetate J1094 is no longer billable because the product isn’t manufactured.
How to bill J1020: Step-by-step claim submission
J1020 follows the standard buy-and-bill workflow for physician-administered drugs. The drug line needs a paired administration CPT code on the same claim. The steps below apply to J1020 for dates of service before April 1, 2024, and to J1010 from that date on.
- Acquire and document the drug. Purchase methylprednisolone acetate from a licensed drug wholesaler. Record the NDC number, lot number, expiry date, and quantity received in the dispensing log. Medicare Part B requires NDC reporting on the claim.
- Document the order and administration. The physician order must specify drug name (generic and brand), strength (mg/mL), dose to be administered (in mg), route, and injection site. The administration note must record the dose drawn and injected, not just the vial used.
- Calculate units. For J1020, one unit equals 20 mg, so a 20 mg injection bills as 1 unit. For J1010, one unit equals 1 mg, so a 40 mg injection bills as 40 units.
- Select the paired administration CPT code. For an intramuscular injection, the standard companion code is CPT 96372. Intra-articular injections may take a different administration code, depending on payer policy and NCCI edit bundles. Verify before billing.
- Report the NDC on the claim. For Medicare Part B, include the 11-digit NDC on the CMS-1500 (Box 24D supplemental field) or in the 837P loop 2410. Format: 5-4-2 digit segments. Missing NDC is a denial trigger for Medicare.
- Submit the claim. The 837P electronic claim format is required for Medicare electronic submission. Paper CMS-1500 claims use Box 24J for the rendering provider NPI and Box 24D for the HCPCS code and modifier.
- Route through a clearinghouse. Pass the claim through a medical claims clearinghouse for edit validation before it reaches the payer. Edit failures caught at the clearinghouse are faster and cheaper to fix than payer denials.
Documentation requirements for J1020 claims
Payer audits for injectable drug claims compare what was billed against what the medical record supports. A clean J1020 or J1010 claim needs these medical record elements at a minimum:
- Physician order with drug name, strength, dose in mg, route, and date
- Nursing or physician administration note recording dose administered (in mg), injection site, and time
- NDC number, lot number, and expiry date from the drug vial or dispensing record
- Diagnosis code (ICD-10-CM) supporting medical necessity for the corticosteroid injection
- Physician signature (or co-signature where required by payer policy)
For Medicare Part B, the NDC must appear on the claim itself, not just in the medical record. An NDC present only in the chart does not satisfy the Medicare reporting requirement.
Medicare reimbursement rate for J1020
Medicare Part B reimburses physician-administered drugs billed under J-codes at the Average Sales Price (ASP) plus 6%. Social Security Act Section 1847A sets that formula by statute. For J1020, the rate per 20 mg unit came from ASP data that drug manufacturers submit to CMS each quarter.
Because J1020 is deleted, its ASP+6% rate no longer appears in the current CMS drug payment table. Three points follow from this:
- Historical claims (DOS before April 1, 2024): The applicable rate is the ASP+6% from the quarter in which the service was provided. Look it up in the archived CMS quarterly drug payment tables for that quarter at cms.gov. The rate for methylprednisolone acetate 20 mg per unit was typically low (under $5 per unit) given the drug’s generic availability and low ASP.
- Claims on or after April 1, 2024: J1010’s ASP+6% rate applies, per 1 mg unit. Multiply it by 20 before comparing it with a historical J1020 payment.
- Hospital outpatient setting: The Outpatient Prospective Payment System (OPPS) uses APC-based packaging rather than ASP+6% for many drug injections. Verify whether the drug is packaged or separately payable under the applicable APC for the claim year.
Tracking payments against expected ASP+6% rates takes reliable electronic remittance advice (ERA) processing. ERAs from Medicare include reason and remark codes that show whether the drug was paid at ASP+6% or adjusted for a packaging rule.
Prior authorization and medical necessity requirements
Medicare Part B does not require prior authorization for most physician-administered corticosteroid injections billed under J-codes, including J1020 and its successor, J1010. However, commercial payers and Medicare Advantage plans set their own PA requirements, and these vary significantly by plan and policy year.
Insurance eligibility verification before the injection is the only reliable way to confirm whether a patient’s plan requires PA for methylprednisolone acetate. Practices that inject first and learn about the PA requirement later face a hard choice. They either write off the cost or pursue a retrospective authorization, which most payers deny.
ICD-10-CM diagnosis codes that commonly satisfy medical necessity for methylprednisolone acetate injections include:
- M06.9 – Rheumatoid arthritis, unspecified
- M25.511, M25.512 – Pain in shoulder (right/left)
- M25.561, M25.562 – Pain in knee (right/left)
- L20.9 – Atopic dermatitis, unspecified
- J45.30-J45.41 – Mild to moderate persistent asthma (short-term systemic steroid)
The ICD-10 code must reflect the documented clinical indication in the physician’s note. A diagnosis code appended without a matching assessment in the record is a compliance risk. The diagnosis drives the code selection, never the reverse.
Pro Tip
Run an eligibility and benefits check for every patient scheduled for a corticosteroid injection, including patients whose coverage you’ve checked before. Medicare Advantage PA rules for J-codes vary widely by plan. They can also change between policy years without notice to the provider.
Common J1020 claim denial reasons and how to fix them
J1020 and J1010 denials cluster around six recurring patterns. Each has a specific root cause and a defined fix.
Tracking these denials by claim denial codes shows which patterns repeat across your claim volume. A single charge master correction clears the “invalid code” and “wrong formulation” categories for future claims, not only the denied one.
2024 HCPCS steroid coding changes: Impact on J1020 and related codes
The 2024 HCPCS steroid coding realignment replaced J1020, J1030 and J1040 with a single per-milligram code, J1010, effective April 1, 2024. CMS reviews the HCPCS Level II code set every quarter for redundancy and dose-unit inconsistencies. A per-milligram descriptor lets one code cover any dose, where the old family needed three.
Practical steps providers needed to take following the realignment:
- Update the charge master: Inactivate J1020, J1030 and J1040. Add J1010 with a units formula of one unit per mg administered.
- Revise EHR superbill templates: Remove the three deleted codes from any dropdown or injection order set that offers them as selectable codes.
- Retrain billing staff: Coders need the April 1, 2024 cutoff, plus the rule that earlier dates of service still use J1020 for claim corrections.
- Audit open claims: Pull any J1020 claims near the cutoff and confirm the date of service falls before April 1, 2024 before resubmitting or appealing.
The APMA and AAPC both published member alerts on this realignment. Following coding association updates catches HCPCS changes between CMS quarterly file releases. Building those updates into a scheduled revenue cycle review keeps the charge master current without waiting for denials to flag it.
Pro Tip
Set a reminder to review each CMS HCPCS quarterly update, released for January, April, July and October. J1010 itself arrived in an April update, so a twice-yearly January and July review would have caught it three months late.
How Pabau keeps J-code claims current after a code deletion
A deleted code tends to survive in old superbill templates and injection order sets long after the fee schedule changes. The next claim then goes out with J1020 on it and denies on edit.
Pabau’s automated claims management software holds the drug code, the units formula and the paired administration CPT in one charge master entry. Change J1020 to J1010 there once, and every future claim picks up the new code and the per-milligram unit count.
Claims then pass pre-submission edit checks before they reach the payer. A unit count that doesn’t match the documented dose gets caught in-house, so your team reworks fewer denials and injection visits get paid sooner.

Stop chasing denied J-code claims
Pabau helps injection practices keep charge masters current, document administered doses accurately, and route claims through edit checks before they reach the payer. See how it works for your practice.
Conclusion
J1020 now matters only for claims dated before April 1, 2024. For every injection after that date, the correct line is J1010 at one unit per milligram. The costliest slip is carrying J1020’s unit count across, which bills a 40 mg dose as 2 mg.
Fix the charge master first, then audit open claims near the cutoff. The first job stops new denials, and the second recovers payment on claims already in the queue.
Book a demo to see how Pabau keeps J-code charge entries, units and administration codes in step for injection practices.
Continue your research
Managing multiple J-code drug lines in your billing system? Superbill best practices for injectable drug claims covers how to structure superbill templates to reduce code-selection errors at the point of care.
Getting denials you cannot immediately explain? Denial codes in medical billing decodes the most common CARC and RARC codes returned on J-code claim rejections.
Want every injection claim to pass first time? What makes a clean claim lists the data points payers check before they accept a claim for processing.
Unsure what happens between submission and the payer? How a medical claims clearinghouse works explains the edit checks a clearinghouse runs and how to fix what it rejects.
Want to reduce the administrative overhead of J-code billing? Revenue cycle management fundamentals explains how to build a systematic RCM workflow that catches code changes before they generate denials.
Frequently asked questions
What is HCPCS Code J1020?
HCPCS Code J1020 is the Level II drug code for injection, methylprednisolone acetate, 20 mg. Practices used it to bill physician-administered corticosteroid injections under the buy-and-bill model, and CMS deleted it effective April 1, 2024. It covers the acetate formulation only, while the sodium succinate formulation (Solu-Medrol) uses a different J-code.
Is J1020 a discontinued code?
Yes. CMS deleted J1020 effective April 1, 2024, as part of the 2024 HCPCS steroid coding realignment. Claims for dates of service on or after that date must use J1010. J1020 remains the correct code for claims with a date of service before April 1, 2024.
What replaced J1020 for methylprednisolone acetate billing?
HCPCS J1010, “Injection, methylprednisolone acetate, 1 mg,” replaced J1020 effective April 1, 2024. J1010 is billed per milligram administered, so a 40 mg injection bills as 40 units. The same code also replaced J1030 and J1040.
How do you calculate units when billing J1020?
For J1020, one unit equals 20 mg, so a 20 mg injection bills as 1 unit. For J1010, one unit equals 1 mg, so the same 20 mg injection bills as 20 units. Always base the unit count on the dose administered and documented in the medical record, not the vial size purchased.
Does J1020 require prior authorization under Medicare?
Traditional Medicare Part B does not generally require prior authorization for corticosteroid injections billed under J1020 or J1010. Medicare Advantage plans and commercial payers set their own PA requirements, which vary by plan and policy year. Verify PA requirements through the patient’s specific plan before administering the injection.
Can J1020 be billed with an administration code?
Yes. CPT 96372 is the standard companion administration code for intramuscular methylprednisolone acetate injections. It covers a therapeutic, prophylactic, or diagnostic subcutaneous or intramuscular injection. Intra-articular injections may use a different administration code depending on payer policy. Verify NCCI edit pairs for your payer before billing both on the same claim.