Provider Manual · Part XXIV

Billing for medications given

Hero turns each dose into charge lines: the drug code with its units and NDC, JW or JZ, and the injection code. Here is how it works them out, what the charges line under the list means, and the coding rules worth knowing.

5 sections~12 min read2 screenshots
XXIV
Part XXIV · continued

Billing for medications given

Hero turns each dose into charge lines: the drug code with its units and NDC, JW or JZ, and the injection code. Here is how it works them out, what the charges line under the list means, and the coding rules worth knowing.

24.11How charges are built

How Hero builds the charges

You don’t type medication codes. When you save a dose, Hero works out its charge lines and adds them to the visit’s Charges; the form’s What it bills shows the same lines first, with a plain explanation (“Worked out by Hero from the dose and the protocol; added to this visit’s charges when you save.”). They are ordinary charge lines, so they go out on the claim with the rest of the visit.

LineShown asHow Hero works it out
Drug code (J2426, J1071, Q9991 …)Drug givenUnits = the dose ÷ one billing unit, rounded up. Codes billed once per injection (Sublocade’s Q9991 and Q9992, Brixadi’s J0577 and J0578) bill 1. The line carries the NDC with its unit and quantity.
The same drug code with JWDrug discarded (JW)Only for single-dose and single-use packages, when what was thrown away is at least one billing unit (see JW and JZ).
Injection code (96372)Giving the injectionThe protocol’s Injection code, else the practice’s code for the route (96372 for IM and SC by default). Units = the number of injections given, so Cabenuva’s two injections bill 96372 ×2, unless Injections billed says otherwise.
Extra codesProtocol codeThe protocol’s own codes, for example G2082 for Spravato, some only once the patient is released.

Example. Invega Sustenna 234 mg from a 234 mg / 1.5 mL syringe, nothing discarded. J2426 bills 1 mg per unit, so the preview shows J2426 ×234 JZ with NDC … ML 1.5, and 96372, explained as “234 mg ÷ 1 mg per unit = 234 units of J2426.”, “Nothing was discarded, so the drug line carries JZ.” and “Administration billed as 96372 × 1.”

Give medication dialog scrolled to Discarded, with 0 mg discarded, and What it bills: J2426 times 234 JZ as Drug given with NDC 50458056401 ML 1.5, 96372 as Giving the injection, three explanation lines, the Billing choice Bill the drug and the injection, and Injections billed, 1 from the injections given
The preview is the same calculation as the charges: units from the dose, the NDC quantity from the package, and JZ because nothing was discarded.

The billing choice

Under the preview, Billing says what this dose bills. It starts from the protocol’s Usually bill, or from where the drug came from.

ChoiceWhen it applies
Bill the drug and the injectionThe default for an injection from practice stock.
Bill the injection only (drug not ours to bill)The default for a sample or the patient’s own supply, and the only paid choice for them besides the protocol’s codes.
Bill the protocol’s own codes only (no drug or injection code)For products billed by their own codes, such as Spravato’s G codes. Without a protocol it reads Documentation only (nothing billed), the default for oral and other doses that aren’t injected.
No chargeAnything you choose not to bill; Why no charge is required.
Samples and the patient’s own drug are never billed as drug. Asking to bill the drug for one is refused: “This dose came from a sample or the patient’s own supply, so the drug itself can’t be billed. Bill the administration only.” The same goes for an extra code marked Includes the drug, such as G2082.
24.12Units & NDC quantity

Billing units and NDC quantity

Every drug code bills in its own unit, and every package is reported on the claim in its own NDC unit. Both are set once per protocol (see Confirm the billing unit), and until they are, the drug can’t be billed: “Confirm the J2426 billing unit in the protocol before billing this drug.”

Example codeOne billing unitNote
J2426 (Invega Sustenna)1 mg234 mg bills 234 units.
J1071 (testosterone cypionate)1 mgMulti-dose vial: no JW or JZ.
J3420 (vitamin B12)Up to 1,000 mcg1,000 mcg bills 1 unit.
J0741 (Cabenuva)2 mg cabotegravir / 3 mg rilpivirineEnter the dose as mg of cabotegravir. Billed once per visit, not per injection.
Q9991 / Q9992 (Sublocade)Once per injection100 mg or less / over 100 mg.

Hero rounds up once, for the whole package, then splits the units between what was given and what was discarded; it never rounds each part up separately.

NDC unit and quantity

The NDC unit is UN (each: syringe, vial, kit, tablet), ML, GR or F2 (international units). NDC quantity for one full package is how one whole package is reported: 1.5 for a 1.5 mL syringe in ML, 1 for a kit in UN, 10 for a 10 mL vial in ML. For each dose Hero reports the share of the package used, so half a 10 mL vial is ML 5. Mixing a powder with diluent never changes it.

The preview warns when something is missing:

  • “No 11-digit NDC: Medicaid and most commercial payers reject drug lines without one.”
  • “Confirm the NDC unit (ML, UN, GR or F2) in the protocol.”
  • “Confirm the NDC quantity for one full container in the protocol so the NDC quantity can be reported.”
  • “The discarded amount is a fraction of a unit-based NDC package; billing should review.”
  • “This medication has no drug billing code, so only the administration is billed.”

A line can hold at most 9,999 units; past that, the preview asks billing to split it.

24.13JW & JZ

Discarded drug: JW and JZ

Medicare asks for a JW or JZ modifier on drugs from single-dose containers: JW on a separate line for the amount thrown away, or JZ when nothing billable was. Hero decides from the protocol’s package type, so there is nothing to remember at the chair.

PackageNothing discardedAt least one unit discardedLess than one unit discarded
Single-dose (syringe or vial), Single-use package (kit)Drug line with JZDrug line for what was given, plus a JW line for what was thrown awayNo JW line; JZ on the drug line, or no modifier if the practice setting is None
Multi-dose vialNo JW or JZ
Tablets or other oral units, OtherNo JW or JZ
  • 150 mg from two 100 mg vials, at 1 mg per unit: 150 units given, plus a JW line of 50.
  • 45 mg from a 50 mg vial, at 50 mg per unit: 1 unit given; the 5 mg thrown away is less than a unit, so JZ.

Amount discarded starts filled in as the package total minus the dose. If you type it yourself, what was given plus what was discarded has to equal what the packages held: “Given (45) plus discarded (4) must equal what the container(s) held (50 mg).” Overfill is never billed. A controlled drug’s waste needs a witness.

If your billing requires a JW or JZ on every drug line, a multi-dose line has neither. Hero records the multi-dose exception for those lines itself when the visit is signed or its claim is built, so they aren’t held. There is no switch to turn JW and JZ off.
24.14Keeping charges in step

Keeping charges in step

Hero updates the visit’s charges every time a dose is saved, edited or removed, and again when the visit is opened, so a dose given from the chart tab gets its charges the next time someone opens that visit. One line under the list says where things stand:

The line readsWhat to do
Charges match medications given.Nothing.
Charges don’t match medications given: add J2426 ×234 (JZ), change 96372 ×2.Click Update charges. This happens when the charges couldn’t be updated at the time, for example while someone else was editing the visit. A drug line split into pieces that don’t add up to the dose shows here too, as remove the extra J2426 line.
The doses match, but J2426 is split into 2 identical lines (468 units in all). Payers expect one line per drug, NDC and day, and usually deny identical lines as duplicates.Click Combine into one line: one line stays, with the units and NDC quantity recorded in Medications given in clinic.
A medication charge line was removed in Charges. Rebuild to add it back, or mark the medication No charge.Click Rebuild, or set the dose’s billing to No charge with a reason.
Charges has an extra J2426 line that isn’t from the medications given. Remove it in Charges; the medication’s own line already bills the dose.Delete the hand-added line in Charges.
The charges changed somewhere else. Refresh the Charges section, then update charges here.Refresh Charges, then Update charges.
This visit is marked No charge, so medication charges are not added.Nothing; the doses are recorded as not charged when the visit is signed.
Billing is off for this visit, so no charges are added.Billing is off for the practice, or the visit was cancelled.
This visit is signed. Open an addendum to change its charges.See Addenda and corrections.
An amber line under Medications given in clinic reading Charges don't match medications given: change 96372 times 3, with an Update charges button; below, the Charges section's summary From medications given: J1071 times 100, J2426 times 234 (JZ), Q9991 (JZ), 96372 times 3, with the warning Charges list 96372 times 2 in all, and the selected charge lines J2426 times 234 with JZ and its NDC, 96372 times 2, and J1071 times 100 with its NDC
When the charges drift from what was given, the line under the doses says what to change and Update charges puts it right. The Charges summary shows the same difference. Signing waits until they match.

Signing

With Don’t let a visit be signed until its charges match the medications given on (the default), signing waits until they match: “The charges don’t match the medications given in clinic. Use Update charges in Medications given in clinic, then sign again.” The section opens and its line turns red. Click Update charges and sign again.

One line per drug

Two doses of the same drug, with the same NDC, on the same visit and day, share one drug line: the units and NDC quantities are added together (two Sustenna 234 mg doses bill J2426 ×468 with ML 3), there is at most one JW line, and the injection code’s units add up (96372 ×2). Payers expect one line per drug, NDC and day and usually deny identical lines as duplicates, and JW and JZ are checked the same way, so one combined line is what they want.

Medication charge lines are changed from Medications given in clinic, not duplicated in Charges. At the top of Charges, a summary says what the doses bill: From medications given: J1071 ×100, J2426 ×234 (JZ), 96372 ×3. To change these lines, edit the medication in Medications given in clinic. When the lines below disagree it adds, for example, Charges list 96372 ×2 in all: use Update charges in Medications given in clinic.

  • No Duplicate row. On a line that comes from the doses, the duplicate button is greyed out: “This line comes from Medications given in clinic. Change the doses there.”
  • Adding the same code by hand asks Add another J2426 line?: “J2426 is already billed from Medications given in clinic: 468 units on one line. To bill more, record the dose in Medications given in clinic.” Keep one line is the usual answer. Add anyway adds it, and that line counts toward the medication’s charge (“This line counts toward Medications given in clinic. To bill more, record the dose there.”) rather than billing extra.
  • Identical lines already there ask Combine the identical J2426 lines?, saying for example “Combine into one line keeps 234 units, as recorded in Medications given in clinic.” Choose Combine into one line or Confirm duplicates; if you keep more than one line, say why in the optional box.
24.15Coding notes

Coding notes and visit rules

Which visit a billed dose goes on

  • The same day. A billed dose must be on a visit dated the day it was given, on your practice’s calendar. Record a dose given on an earlier day on that day’s visit; the chart’s Start an injection visit (see 24.9) is for a dose given today when there is no visit yet.
  • Not a cancelled visit. “This visit was cancelled; document billable medications on an active visit.”
  • Signed visits take a billed dose only through an addendum; a dose recorded as No charge with a reason is always allowed. Clinical-only changes never need one.

Advice shown in Charges

  • 99211 with 96372. Charges shows: “Medicare does not pay 99211 with a drug administration service. Bill 96372 alone; if a separately identifiable E/M was performed, use 99212 or higher with modifier 25.”
  • Modifier 25. The drug line itself (J-codes, Q0138, Sublocade’s Q9991 and Q9992, and S0013) is a supply, not a procedure, so it never raises the modifier-25 suggestion; the injection codes 96372, 96374, 96401 and 96402 do (see Charges & E/M).

Product notes

  • Sublocade’s Q9991 and Q9992 are drug codes everywhere in Hero, including practices that don’t use this feature: those lines need an NDC like a J-code and follow the JW and JZ rules.
  • Spravato comes with no codes. Medicare uses G2082 (up to 56 mg) and G2083 (over 56 mg), which include the drug: add them as extra codes with Includes the drug and Only after the patient is released. Other payers may want an E/M visit plus J0013 per mg. Check with your payers.
  • IV push has no default code, because initial and additional pushes bill differently. Name the code on each protocol; until then the preview says “IV push coding depends on initial and subsequent pushes; add the administration code in charge capture or the protocol.”
  • Retired codes. Use J1010 for methylprednisolone acetate and J0013 for esketamine; J1030, J1040 and S0013 are retired, and a protocol can’t use them.
  • S0013 for payers that still take it. J0013 replaced S0013 in January 2026, but some commercial payers still take S0013, and older dates of service may need it. Add it by hand in Charges. Hero treats it as a drug line: it carries the Spravato NDC like a J-code, and it can use a drug NDC default from Billing → Claim Submission. It never gets JW or JZ, because those are a Medicare rule and Medicare doesn’t pay S-codes. A JW or JZ left on it holds the claim with “JW/JZ does not apply to this line’s code”; remove the modifier.

Need help? Email support@heroemr.com.