Pabau Engage inbox

Pabau Engage is here: every patient conversation in one inbox.

Learn more
HCPCS Code

HCPCS code J2920 – Methylprednisolone sodium succinate injection


Code Definition

J2920 is the HCPCS Level II code for injection, methylprednisolone sodium succinate, up to 40 mg. It covers Solu-Medrol given by IV or IM injection in a provider setting, and each billing unit equals up to 40 mg of drug.

Getting it paid comes down to three checks. Divide the dose by 40 and round up for the unit count. Switch to J2930 when the dose is 125 mg or more. Report the 11-digit NDC wherever the payer asks for it, which includes Medicaid and many commercial plans.

Level
Level II
Category
J — Drugs administered other than oral method
Status
Active
Billable
No
Code also known as
Solu-Medrol injection, methylprednisolone succinate IV, methylprednisolone Na succinate infusion
Save time. Improve accuracy. Get paid faster.
Automate coding with Pabau

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
Why practices choose Pabau
Save hours every week

Automate repetitive tasks and focus on what matters most—your patients.

Improve accuracy

Reduce coding errors and ensure compliance with the latest regulations.

Get paid faster

Clean claims, fewer denials, and faster reimbursements.

Grow with confidence

Powerful insights and reporting to help your practice thrive.

HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide

Key takeaways

Key takeaways

HCPCS code J2920 bills methylprednisolone sodium succinate (Solu-Medrol) in units of up to 40 mg, so divide the dose by 40 and round up.

Match the code to the dose, with J2930 for doses of 125 mg or more and J2920 for doses of 40 mg or less.

Medicaid and many commercial payers require the 11-digit NDC with the N4 qualifier and unit of measure, and some MACs ask for it too.

Medicare Part B pays J2920 at ASP plus 6% in the office, and the injection or infusion bills separately with its own CPT code.

Pabau’s claims management tools support structured charge entry and claim submission, so the codes on the patient record carry onto the claim.

HCPCS code J2920 bills Solu-Medrol in 40 mg units

HCPCS code J2920 is the Level II code for an injection of methylprednisolone sodium succinate, up to 40 mg. Each billing unit covers any dose from 1 mg to 40 mg. The official CMS HCPCS Level II descriptor reads: Injection, methylprednisolone sodium succinate, up to 40 mg.

Methylprednisolone sodium succinate is a water-soluble corticosteroid, sold as Solu-Medrol. Providers give it by IV or IM injection for inflammatory and autoimmune flares, severe asthma and anaphylaxis. The acetate form, sold as Depo-Medrol, is a separate depot drug with its own code.

So the coding question comes down to the dose. At 40 mg or less, J2920 fits. From 125 mg up, its sister code J2930 fits better. Here are the key facts at a glance.

FieldDetail
HCPCS codeJ2920
Official descriptorInjection, methylprednisolone sodium succinate, up to 40 mg
Drug (generic)Methylprednisolone sodium succinate
Brand nameSolu-Medrol
Unit basisPer 40 mg administered
NDCRequired by Medicaid and many commercial payers, as N4 + 11 digits + unit of measure
Code categoryHCPCS Level II, J-code (drugs administered other than oral method)
Medicare coveragePart B (provider-administered drug, ASP+6% reimbursement)

How to calculate J2920 units: divide by 40 and round up

Divide the dose given in milligrams by 40, then round up to the next whole number. The result is the unit count for the claim line.

The words “up to 40 mg” mean a partial unit still counts as a full one. A 40 mg injection is 1 unit, and a 41 mg injection is 2 units. Here is how common doses work out on J2920.

Dose administeredCalculationUnits to bill
20 mg20 ÷ 40 = 0.5, rounds up1
40 mg40 ÷ 40 = 11
80 mg80 ÷ 40 = 22
125 mg125 ÷ 40 = 3.125, rounds up4
500 mg500 ÷ 40 = 12.5, rounds up13
1,000 mg (1 g)1,000 ÷ 40 = 2525

Note on 125 mg dosing: A 125 mg dose works out to 4 units of J2920, and 4 units describe up to 160 mg. J2930 (up to 125 mg) matches that dose at 1 unit, so it is the code that fits. Check the payer’s policy before you file, because it decides which code the plan prefers.

J2920 vs J2930: Match the code to the dose

J2920 and J2930 cover the same drug in different unit sizes. J2920 bills in 40 mg units, while J2930 bills in 125 mg units. Pick the wrong one and the unit count stops matching the dose in the record, which invites a quantity edit or a denial.

AttributeJ2920J2930
DrugMethylprednisolone sodium succinateMethylprednisolone sodium succinate
Per-unit doseUp to 40 mgUp to 125 mg
Unit mathDose ÷ 40, rounded upDose ÷ 125, rounded up
Best fitDoses of 40 mg or less, and multiples of 40 mg per payer policyDoses of 125 mg or more
Common use settingLower-dose office or outpatient careHigher-dose pulse therapy, hospital

The practical rule is to match the code to the dose and the vial. Use J2930, at 1 unit per 125 mg, for doses of 125 mg or more. Use J2920 for doses of 40 mg or less, and for multiples of 40 mg where the payer’s policy allows it.

The payer’s policy decides which code it prefers, so read it before the first claim. The chart below lines up common doses against both codes.

Chart matching methylprednisolone sodium succinate doses to codes
From 125 mg up, J2930 takes far fewer units than J2920, so the claim line stays close to the dose given. Unit sizes come from the CMS HCPCS Level II descriptors.

Deleted acetate codes now bill as J1010

J2920 covers only the sodium succinate form. Three older codes for methylprednisolone acetate, the depot form, were deleted on April 1, 2024. J1010 (methylprednisolone acetate, 1 mg) replaced all three, and it bills 1 unit per milligram.

CodeDrug / formulationStatusPer-unit dose
J2920Methylprednisolone sodium succinate (Solu-Medrol)ActiveUp to 40 mg
J2930Methylprednisolone sodium succinate (Solu-Medrol)ActiveUp to 125 mg
J1010Methylprednisolone acetate (depot form)Active since April 1, 20241 mg
J1020Methylprednisolone acetate (depot form)Deleted April 1, 2024, replaced by J1010Was 20 mg
J1030Methylprednisolone acetate (depot form)Deleted April 1, 2024, replaced by J1010Was 40 mg
J1040Methylprednisolone acetate (depot form)Deleted April 1, 2024, replaced by J1010Was 80 mg

Keep the two forms apart on the claim, because they differ in solubility, route and use. A deleted code such as J1020, J1030 or J1040 gets an invalid-code rejection before the claim reaches the payer. You can check the status of any code in our HCPCS code library.

Medicare Part B pays J2920 at ASP plus 6% in the office

Medicare Part B covers J2920 as a provider-administered drug under the buy-and-bill model. The practice buys the drug, gives it, and bills both the drug and the administration service. In the office, payment follows the Average Sales Price plus 6% (ASP+6%) method. Hospital outpatient departments are paid under OPPS instead.

ASP rates update every quarter, so the J2920 payment limit changes four times a year. Check the CMS ASP pricing files at the start of each quarter before you rely on a cost-to-payment figure. Working from last quarter’s rate is a common cause of buy-and-bill shortfalls.

Place of servicePOS codeReimbursement basis
Physician office11ASP+6% (non-facility rate)
Hospital outpatient department19 (off-campus) or 22 (on-campus)OPPS rate (often packaged, lower)
Infusion center, freestanding11 (office) or 49 (independent clinic)ASP+6%
Infusion center, hospital provider-based19 or 22OPPS rate
Ambulatory surgical center24ASC packaged rate (typically no separate drug payment)

Place of service changes the payment. An office infusion usually earns a higher net drug payment than the same infusion in a hospital outpatient department.

Pro Tip

Verify J2920 payment rates at the start of each calendar quarter. Download the CMS ASP drug pricing file and filter by J2920 to confirm the current payment limit. A five-minute quarterly check stops small shortfalls from adding up over a year of billing.

What a clean J2920 claim line needs

A clean J2920 claim needs more than the drug code and a diagnosis. Payers check several data elements, and a missing one turns into an avoidable denial.

Record the dose, the vial’s NDC and the lot number in a superbill entry at the time of service. Your biller then has what it takes to build the NDC line and the unit count without guessing.

  • J2920 on the claim line: Report the code once per administration, with units reflecting the full dose (dose in mg ÷ 40, rounded up).
  • 11-digit NDC: Report it as N4, the 11-digit NDC with no hyphens, then the unit of measure and quantity. Example: N412345678901UN1. Medicaid and many commercial payers require it, and some MACs require or strongly recommend it.
  • Supporting ICD-10 diagnosis code: It must reflect the clinical reason for the injection and support the dose given.
  • Administration CPT code: Bill it on its own line, because J2920 covers the drug only.
  • Provider NPI: The rendering provider must be enrolled with the payer at that location, with an ordering NPI where the payer asks for one.
  • Date and place of service: Both must match when and where the patient received the drug.
  • Medical necessity documentation: The note records the diagnosis, the reason for steroid therapy, the dose ordered and the route. A charge without that note fails medical necessity review on audit.

Once the charge is entered, the claim goes to a clearinghouse. Its edits catch invalid codes and malformed NDCs first. The payer then checks units against the dose and the diagnosis against its coverage policy.

Bill the administration code on its own line

J2920 pays for the drug only. The injection or infusion needs its own CPT administration code. Leave it off and the service goes unpaid, while the wrong one trips bundling edits.

Route of administrationCPT codeDescription
IV infusion (initial)96365Intravenous infusion, therapeutic drug, initial, up to 1 hour
IV infusion (each additional hour)96366Each additional hour (add-on to 96365)
IV push96374Therapeutic, prophylactic, or diagnostic IV push, single or initial substance
IM or SC injection96372Therapeutic, prophylactic, or diagnostic injection, IM or SC

An IM injection bills as 96372, and an IV push as 96374. Some payers bundle 96374 into a same-day office visit, so check the contract before you expect both to pay. Infusions billed with 96365 bundle less often, since the service is distinct from the visit.

Prior authorization for J2920 depends on the payer

Traditional Medicare Part B generally doesn’t require prior authorization (PA) for J2920. Commercial payers and Medicaid managed care plans work differently. Many of them require PA for J-code drugs, especially high-dose or repeat-infusion protocols.

Review the billing compliance requirements for each payer. Most PA requests ask for the diagnosis, any prior conservative treatment, the planned dose and schedule, and the prescriber’s attestation. Some Medicaid plans publish J-code PA lists each formulary year, so confirm them annually.

  • Medicare Part B: No PA for J2920 under fee-for-service. Medicare Advantage plans may differ, so verify each plan.
  • Commercial plans: Requirements vary. High-dose protocols of 500 mg or more are more likely to trigger PA review than standard office doses.
  • Medicaid managed care: Many plans require PA for any J-code drug. Check the plan’s PA request process before you give the drug.
  • Step therapy: Some payers want proof that oral steroids failed before they approve IV Solu-Medrol outside an emergency.

Common J2920 denials and how to prevent them

Most J2920 denials fall into a short list, and each one is preventable before the claim goes out. A good denial management process for J-codes starts at the chair, not when the remittance arrives.

Denial reasonCausePrevention / appeal
Missing or invalid NDCNDC omitted, formatted incorrectly, or not in N4 qualifier formatCapture the NDC at administration and use N4 + 11-digit NDC + unit of measure
Unit count mismatchUnits submitted do not match the dose ÷ 40 (rounded up)Verify the unit math at charge entry, and appeal with the administration record
Code does not match the doseJ2920 or J2930 chosen against the dose given or the payer’s stated preferenceMatch the code to the dose, check the payer policy, then correct and refile
Medical necessity not documentedClinical note lacks the diagnosis, dose rationale, or prescriber signatureAppeal with the complete note, and add the missing elements to your note template
Prior auth not obtainedCommercial or Medicaid plan required PA that was not requestedAsk about retrospective auth, and check the payer PA list before each encounter
Place of service mismatchPOS code does not match where the service was givenVerify POS before submitting, and appeal with facility documentation
Credentialing or NPI issueRendering NPI not enrolled with the payer, or enrolled at the wrong locationConfirm credentialing before billing, and update enrollment as needed

ICD-10 codes that support J2920 medical necessity

The diagnosis on the claim has to justify an injected corticosteroid at that dose and route. A diagnosis that doesn’t support IV or IM steroid therapy is a common audit trigger.

Clinical categoryICD-10-CM codeCondition
AutoimmuneM32.10Systemic lupus erythematosus (SLE), organ or system involvement unspecified
NeurologicalG35.DMultiple sclerosis, unspecified (code the documented MS type where the notes give one)
Allergic / severeT78.2XXAAnaphylactic shock, unspecified, initial encounter
MusculoskeletalM06.9Rheumatoid arthritis, unspecified
RespiratoryJ45.51Severe persistent asthma with acute exacerbation
TransplantT86.11Kidney transplant rejection
Inflammatory bowelK51.90Ulcerative colitis, unspecified, without complications

These pairings are common, not exhaustive. Always code the most specific diagnosis the notes support. For MS, the FY2026 update split G35 into subcodes, so pick the one that matches the documented type. Check crosswalk rules with the AAPC HCPCS code reference and your MAC’s local coverage determination (LCD).

Before you submit: A seven-point J2920 claim check

Run this check at charge entry, while the administration record is still open. It covers each failure in the denial table above.

  • The dose in mg comes from the administration record, not from the order.
  • The code matches the dose, with J2930 for 125 mg or more and J2920 for 40 mg or less.
  • Units are worked out from that code’s increment and rounded up.
  • The NDC of the vial used is in N4 format wherever the payer requires it.
  • A specific, billable ICD-10-CM code supports the dose and route.
  • The administration CPT code sits on its own line.
  • The POS, the rendering NPI and any PA reference number match the visit.

Capturing these at the point of injection takes seconds. Rebuilding them weeks later is where unit errors and NDC mismatches start.

How Pabau keeps J-code claims tied to the patient record

Many practices still write the dose on paper, key the charge into one system and submit claims from another. Each hand-off is another chance to drop the NDC or miscount the units.

Pabau, the practice management platform we build, includes built-in claims management for structured charge entry and claim submission. The code on the service and the diagnoses on the patient record pre-fill the claim. Required fields must be complete before the claim can be sent, and US claims go out through Claim.MD.

The result is fewer re-keyed charges and fewer claims bounced for missing fields, so your billers spend less time on rework.

Pabau checkout screen next to a completed invoice billed to the patient's insurer
Pabau’s checkout links each invoice to the patient’s insurer, so the J2920 charge from the visit is the one on the claim.

Keep J-code claims tied to the record

Pabau’s claims management tools support structured charge entry and claim submission for provider-administered drugs. The codes on the patient record pre-fill the claim, so your team stops re-keying charges.

Pabau claims management dashboard

Conclusion

J2920 is simple arithmetic once the code matches the dose. Use J2920 for doses of 40 mg or less and J2930 from 125 mg up. For the doses in between, the payer’s policy settles it.

The bigger shift is where the work happens. Capture the dose, NDC and diagnosis at the point of injection, and your biller works from facts instead of memory. Skip that step, and each quarter’s denials trace back to the same few fields.

Book a demo to see how Pabau carries methylprednisolone charges from the patient record onto a clean claim.

Continue your research

Continue your research

Billing the higher-dose code instead? HCPCS code J2930 covers methylprednisolone sodium succinate in 125 mg units.

Giving the dose by IV push? CPT code 96374 explains how to bill the push that delivers the drug.

Need guidance on reducing claim denials systematically? Denial codes in medical billing explains the most common CARC and RARC codes and how to respond to each one.

Want to understand how medical billing errors affect revenue? Medical billing fundamentals covers the end-to-end claim lifecycle and where revenue leakage most commonly occurs.

Looking for a broader view of revenue cycle management? Understanding revenue cycle management walks through each RCM stage from eligibility verification through payment posting.

Frequently asked questions

What does HCPCS code J2920 cover?

J2920 covers an injection of methylprednisolone sodium succinate (Solu-Medrol), up to 40 mg per unit. It applies to IV and IM doses that a provider gives and bills under buy-and-bill.

Should I bill J2920 or J2930 for a 125 mg dose?

J2930 fits a 125 mg dose at 1 unit. J2920 fits doses of 40 mg or less, and multiples of 40 mg where the payer allows it. The payer’s policy decides which code it prefers.

Does a J2920 claim need an NDC?

Medicaid and many commercial payers require it, and some MACs require or strongly recommend it. Report N4, the 11-digit NDC and the unit of measure. To turn a 10-digit NDC into 11 digits, add a leading zero to the short segment for a 5-4-2 format.

Do I need the JW or JZ modifier with J2920?

For Medicare Part B, drugs from single-dose vials carry one of these modifiers. Use JW on a separate line for any amount discarded, or JZ when none was discarded. Check whether your vial is single-dose before you bill.

Can I bill J2920 for oral methylprednisolone?

No. J2920 covers the injectable sodium succinate form only. Oral methylprednisolone has its own code, J7509, billed per 4 mg. Most tablet prescriptions bill through the patient’s pharmacy benefit instead.

Avatar photo
Monika Lazarevska
Content Writer

Monika Lazarevska writes content for owners and healthcare professionals who want clear, no-fluff content that actually helps them run their practice better. With a background in storytelling and SEO, she knows how to make even the driest topics worth reading. Off the clock, you'll find her in a café somewhere in Europe, probably with a good book and an even better coffee.
×