What a Spravato program costs before you bill anything
Most Spravato billing guidance starts with the codes. For a CFO or COO, that is the wrong starting point, because it hides the actual shape of the problem.
Think about what you commit to before a single unit of anything is billable.
- You commit to physical space that meets REMS certification standards, with the monitoring capacity, pulse oximetry, and blood pressure equipment that the label requires. [1]
- You commit to Schedule III controlled substance storage and the diversion controls that come with it.
- You commit to a clinical staff member who is present and attentive for at least two hours after every dose, because the label requires monitoring for resolution of sedation, dissociation, and respiratory depression, followed by a stability assessment before discharge.[2]
- And under buy-and-bill, you commit working capital to drug inventory that sits on your balance sheet until a payer decides whether it agrees with your claim.
Notice which of those four commitments you can actually flex. Space, storage, and inventory are capital, and capital can be re-scaled over a quarter or renegotiated at renewal. The staffed monitoring window cannot, because it is measured in hours against a fixed number of chairs. That is the commitment that sets your ceiling, and it is the one worth pricing.
Spravato chair-hours and clinic capacity per day
Add administration, the pre-dose blood pressure check, the two-hour monitoring window, and the post-monitoring stability assessment, and a single Spravato session occupies a monitoring chair for closer to three hours than two.
That means one chair supports two to three sessions in a normal clinic day. Your Spravato program is not volume-elastic in the way a therapy schedule is. You cannot absorb a bad month by seeing more patients, because the constraint is physical.
When capacity is fixed and cost is front-loaded, every dollar of coding leakage comes straight out of contribution margin. There is no volume lever to hide it.
This is why Spravato behaves differently from the rest of your book. In most behavioral health billing, a denial costs you the collection. In Spravato, a denial costs you the collection plus the drug plus three hours of a staffed chair you can never resell.
What Spravato billing and coding actually covers
Spravato billing and coding is the process of reporting three separate economic components of a single esketamine treatment session: the drug product, the clinical visit and supervision, and the mandatory two-hour post-administration observation. Whether those components are reported on one bundled code or several separate codes depends on three things: how you acquired the drug, the setting where you administered it, and which payer you are billing. For Medicare buy-and-bill, all three components collapse into a single code, G2082 or G2083. [3] For commercial and Medicaid payers using the unbundled route, the drug is reported with J0013 alongside a separate evaluation and management code and separate prolonged service codes.
That definition is the whole article in miniature. Everything below is the detail your billing team needs and the exposure your finance team should be measuring.
The complete 2026 Spravato code set
The drug codes
| Code | Descriptor | 2026 status and use |
|---|---|---|
| J0013 | Esketamine, nasal spray, 1 mg | Replaced S0013 effective January 1, 2026. [4]Report units equal to milligrams administered, so a 56 mg dose is 56 units. Not payable by Medicare. Used by Medicaid agencies and commercial payers. |
| S0013 | Esketamine, nasal spray, 1 mg | Discontinued by CMS effective January 1, 2026. Claims submitted with S0013 for 2026 dates of service risk rejection. |
| J3490 | Unclassified drugs | Transitional fallback only. Some payers may still accept it while their systems catch up. Requires clear documentation of the product, dose, and purpose. |
If your charge master still carries S0013, that is a fifteen-minute fix with a measurable payback. Check it today.
The bundled Medicare codes
| Code | Descriptor | What it includes |
|---|---|---|
| G2082 | Office or other outpatient visit for the evaluation and management of an established patient requiring physician or other qualified health care professional supervision and provision of up to 56 mg of esketamine nasal self-administration, includes 2 hours post-administration observation | Drug, visit, supervision, and the full observation window |
| G2083 | Same descriptor, for provision of more than 56 mg of esketamine | Drug, visit, supervision, and the full observation window |
Three constraints are built into those descriptors, and each one is a live denial or refund risk.
- Established patient only. Both descriptors specify an established patient. A new patient’s first session does not fit either code and has to go through the E/M route instead.
- Observation is already included. The two hours of post-administration monitoring sit inside the bundled payment. There is no add-on code for it, so nothing else goes on the claim for that date of service.
- Buy-and-bill only. You can report these codes only when your office acquired the product through a specialty distributor. Product that came from a REMS-certified pharmacy does not qualify, and a provider who supervised the self-administration and observation without also furnishing the drug cannot bill G2082 or G2083.
The service and observation codes
| Code | What it pays for | Notes |
|---|---|---|
| 99202 to 99205, 99212 to 99215 | Office or outpatient E/M, new and established | The base visit when you are not using a bundled G code |
| 99415 | Prolonged clinical staff service during an E/M service, direct patient contact with physician supervision, first hour | This is the code that actually describes nurse-delivered monitoring |
| 99416 | Each additional 30 minutes of prolonged clinical staff service | Add-on to 99415 |
| 99417 | Prolonged office or other outpatient E/M service beyond the minimum time of the primary service, each 15 minutes | Requires the physician’s or QHP’s own time, and applies only after 99205 or 99215 |
| G2212 | Medicare’s prolonged service code | Report instead of 99417 for Medicare, and only after the maximum time for 99205 or 99215 has been exceeded by 15 minutes |
| G0463 | Hospital outpatient clinic visit for assessment and management of a patient | Medicare HOPD visit code, covering all E/M levels for both new and established patients |
Two housekeeping points that still generate rejections. CPT 99354 and 99355 were deleted effective January 1, 2023 and are no longer valid for prolonged services. And 99417 and G2212 are alternatives, never companions.
Diagnosis pairing
Every line on the claim, drug and service alike, should carry the same primary diagnosis, sequenced first and consistent with the patient’s current clinical status. The usual set covers major depressive disorder, single episode or recurrent, severe, with the appropriate specificity for psychotic features. A remission code on an active induction claim contradicts the medical necessity you are asserting on the same claim.
Worth noting for your medical necessity templates: Spravato is now indicated for treatment-resistant depression in adults as monotherapy or in conjunction with an oral antidepressant, and for depressive symptoms in adults with MDD with acute suicidal ideation or behavior in conjunction with an oral antidepressant. If your prior authorization packets still assert an adjunct-only indication for TRD, they are describing an older label.
Leak one: Spravato bundling errors with G2082 and G2083
This is where the largest dollars sit, and where the errors are hardest to see, because several of them pay before they come back.

Error one: stacking observation onto a bundled code
Your team monitored the patient for two hours. Someone reasonably concludes that two hours of monitoring should be billed. So 99417 or G2212 goes on the claim next to G2083.
The bundled G codes already contain that observation in the descriptor. The manufacturer’s own coding reference lists no applicable add-on codes for either the physician office or the HOPD buy-and-bill scenario. The add-on line either denies or, if it pays, becomes a repayment obligation.
The correction is not more documentation. It is a claim edit that blocks prolonged service codes from ever appearing alongside G2082 or G2083.
Error two: billing the bundle for a drug you did not buy
This is the expensive one, and the version that most often survives adjudication.
If the drug came from a REMS-certified pharmacy and your clinic billed G2082 or G2083, you billed a code whose payment includes a drug cost you never incurred. That is not a coding preference. The bundled G codes are restricted to distributor-acquired product.
Claims like these frequently pay on first pass, which is the problem. The exposure accrues in the background and surfaces during a payer audit or a self-audit, at which point you are looking at repayment across a panel of patients and multiple months of dates of service, not a single claim.
For organizations running a mixed acquisition model, where some payers require specialty pharmacy and others allow buy-and-bill, this is the highest-priority control in the whole workflow. The claim routing logic has to know where the drug came from, patient by patient and session by session. A billing system that cannot see acquisition path cannot prevent this error.
Error three: the dose threshold
G2082 covers doses up to 56 mg. G2083 covers doses above 56 mg, which in practice means 84 mg.
Using the 2026 national non-facility Medicare rates, G2082 pays approximately $952.59 and G2083 approximately $1,356.08. [5] The gap is a little over $400 per session.
Billing G2083 for a 56 mg session overstates payment by that amount, on every session, until someone catches it. Billing G2082 for an 84 mg session gives up that amount while you absorb the cost of the third device. Neither error trips a documentation edit, because both codes are individually valid.
Threshold accuracy deserves a standing sample audit. It is cheap to check and it compounds.
Error four: the bundle applied to a new patient
Both G codes describe an established patient. A first Spravato session for a new patient does not fit either descriptor, and the visit needs to be reported through the E/M route instead.
Leak two: discarded Spravato doses and the JW and JZ modifiers
How many devices each Spravato dose uses
Spravato is supplied in single-use nasal spray devices. A 56 mg dose uses two devices. An 84 mg dose uses three. Under normal conditions the arithmetic is clean, because standard doses are whole multiples of a device. The gap opens when a session does not go to plan.
What happens when a dose stops early:
A patient begins an 84 mg dose. After the second device, blood pressure spikes past the threshold your protocol sets, and the clinician stops.
Clinically, that is a correct decision. Financially, three things just happened. You consumed a third device, or opened and spoiled it. The session is now a 56 mg session, so it prices at G2082 rather than G2083. And your acquisition cost did not adjust downward at all.
Now the important part. There is no waste mechanism inside a bundled G code. The payment is a single per-session amount tied to a dose threshold. There is no separate drug line, so there is no line to attach a discard modifier to. Your partial-administration loss on a Medicare buy-and-bill session is simply absorbed.
That reality should shape two things: your clinical protocol for staged administration, and your expectations when you model program margin. Build a partial-administration rate into the financial model and stop treating it as an exception.
Where waste is billable, and the modifier discipline it requires
On the unbundled route, where the drug is reported separately with J0013, the discarded-drug framework does apply for payers that follow Medicare’s construct.
CMS requires the JW modifier on a separate line to report the billable discarded amount from a single-dose container or single-use package, and the JZ modifier on the administered line to attest that nothing was discarded. JZ has been required since July 1, 2023, and since October 1, 2023 a single-dose container claim carrying neither modifier can be returned as unprocessable. [6] The two are mutually exclusive for the same drug on the same date of service. Where the discarded remainder is less than one billing unit, CMS guidance points to JZ rather than JW. [7]
Because J0013 is not payable by Medicare, this discipline matters most for state Medicaid programs and for commercial payers that mirror Medicare’s modifier edits in their own adjudication logic. A number of them do, and they do not always announce it.
The three-way reconciliation that closes this leak
The control that actually works here is a reconciliation your finance team can run without clinical input.
For any period, three numbers should agree: devices drawn from inventory, units and sessions billed, and sessions logged in your REMS records. Divergence between those three is the clearest single indicator of a Spravato revenue problem, and it catches undercoding, unbilled sessions, and undocumented waste in one pass.
To make that possible, session documentation needs device-level granularity: devices dispensed, devices administered, devices discarded with the reason, and the milligram total. A note that records “84 mg administered” without device accounting cannot support a waste line and cannot be reconciled against inventory.
Give your clinical staff a standing partial-administration protocol that tells them precisely what to chart when a dose is stopped, including the time, the trigger, the intervention, the device disposition, and the final milligram total. That single template protects both the charge capture and the compliance record.
See what your Spravato program is actually earning per chair-hour
Most behavioral health organizations can tell you their Spravato denial rate. Very few can tell you their contribution margin per session by payer and acquisition path. blueBriX combines a behavioral health EHR with RCM services built for hybrid-benefit therapies.
Schedule a demoLeak three: observation codes billed under the wrong setting
Observation is the component most often billed incorrectly, because the correct code depends on three variables simultaneously. Change any one and the answer changes.
| Setting | Acquisition | Payer | Report | Add-ons |
|---|---|---|---|---|
| Physician office | Distributor (buy-and-bill) | Medicare | G2082 or G2083 | None |
| Physician office | Distributor (buy-and-bill) | Non-Medicare | G2082 or G2083 at payer discretion, or E/M 99202 to 99215 plus J0013 | 99415, 99416, 99417 |
| Physician office | REMS-certified pharmacy | Medicare | E/M 99202 to 99215 | 99415, 99416, G2212 |
| Physician office | REMS-certified pharmacy | Non-Medicare | E/M 99202 to 99215 | 99415, 99416, 99417 |
| HOPD | Distributor (buy-and-bill) | Medicare | G2082 or G2083 | None |
| HOPD | Distributor (buy-and-bill) | Non-Medicare | G2082 or G2083 at payer discretion, or E/M plus J0013 | 99415, 99416, 99417 |
| HOPD | REMS-certified pharmacy | Medicare | G0463 | None |
| HOPD | REMS-certified pharmacy | Non-Medicare | E/M 99202 to 99215 | 99415, 99416, 99417 |
Source: Janssen SPRAVATO drug and procedure coding overview.
The matrix gives you the answer. Getting that answer onto a clean claim takes three further decisions, and each one is where programs lose observation revenue. Setting decides which code family you are in. Staffing decides which prolonged service code fits inside that family. The claim’s administrative fields decide whether the payer prices what you actually delivered. Take them in that order.
Spravato billing in a hospital outpatient department: when G0463 applies
A Medicare patient treated in a hospital outpatient department with pharmacy-acquired product is reported with G0463, a hospital outpatient clinic visit code that covers all E/M levels for new and established patients, with no prolonged service add-ons.
Coders who learned Spravato in an office setting reach for 99417 or G2212 out of habit. Those are office and outpatient constructs. In an HOPD they are describing the wrong claim on the wrong form, since institutional services are reported on a UB-04 rather than a CMS-1500, and the professional and facility components are separate submissions with separate rules.
Hospital-based Spravato programs also carry a 2026 wrinkle worth modelling. In the CY 2026 Physician Fee Schedule, CMS reduced the share of indirect practice expense allocated to services performed in the facility setting, alongside a broader efficiency adjustment to work RVUs for non-time-based services.[8] If you are weighing whether to run Spravato in an HOPD or a physician office, that differential belongs in the analysis up front.
Setting narrows you to a code family. It does not tell you which code inside that family fits, and that depends on who was actually in the room.
99415 and 99416 versus 99417 and G2212: who delivered the monitoring
This distinction is worth your billing lead’s full attention, because most programs get it backwards.
- 99415 and 99416 pay for prolonged clinical staff service under physician supervision. That is a precise description of two hours of nurse-delivered monitoring.
- 99417 and G2212 pay for prolonged physician or QHP time, and only after the maximum time for 99205 or 99215 has already been exceeded.
Most Spravato observation is delivered by clinical staff while the physician is supervising but not personally present for the full window. A practice that defaults to 99417 for the monitoring period is billing for physician time that the note will not support, which is an audit finding waiting to happen. A practice that never bills 99415 and 99416 is giving away the staff time it actually delivered.
Get this mapping right once, encode it in your templates, and it stops being a per-claim judgment call. Correct codes on the wrong form still produce a mispriced claim.
Spravato place of service codes: office versus facility
The last mile is mundane and still costly. A session performed in an office reported with a facility place of service code, or the reverse, misprices the claim even when every procedure code is correct. For organizations running multiple sites with different provider-based designations, place of service validation belongs in the pre-submission edit set, not in a coder’s memory.
What your leadership dashboard should show
If you are evaluating whether your current billing infrastructure can support a Spravato program at scale, these are the measures that expose the three leaks above. Most standard RCM reporting shows none of them.
- Net revenue per chair-hour, segmented by payer class and acquisition path. This is the program’s real productivity measure, since chair time is the binding constraint.
- Bundle integrity rate. The percentage of sessions where the billed code structure matches the documented acquisition path, setting, and payer. This is the leading indicator for refund exposure.
- Three-way reconciliation variance. Devices drawn from inventory against units billed against REMS-logged sessions, run monthly.
- Dose threshold accuracy. The percentage of G2083 claims with a documented administered dose above 56 mg.
- Partial-administration rate. Sessions stopped before the planned dose, with the associated absorbed drug cost. This is a clinical safety metric and a margin metric at the same time.
- Fee schedule currency. The date each payer fee schedule and your internal charge master were last reconciled against current CMS values.
- Refund and takeback exposure, tracked separately from denials. Denials are visible losses. Takebacks are invisible until they are not.
- Monitoring form compliance. The percentage of sessions with a REMS patient monitoring form submitted inside the required window. The REMS program requires the form after every treatment session for enrolled outpatients, submitted within seven days. [9]
Note that only two of those eight are conventional denial management metrics. Spravato revenue integrity is largely an upstream problem, and a dashboard built around first-pass rate will look healthy while margin erodes.
What to require from a Spravato billing system or RCM partner
At the point where you are deciding how to run this, the useful question is not whether a vendor supports behavioral health billing. Nearly all of them do. The question is whether the workflow understands the three variables that decide a Spravato claim.
Five specific capabilities separate systems that can run this from systems that cannot.
- Acquisition-path awareness. Can the system record, per session, whether the drug came from a distributor or a REMS-certified pharmacy, and route the claim accordingly? If a human has to remember, the bundle violation is inevitable at volume.
- Setting-aware code logic. Does the system apply different observation rules for office and HOPD, on the correct claim form, without a coder rebuilding the decision each time?
- Device-level inventory reconciliation. Can you tie devices drawn to units billed to sessions logged, and see the variance without exporting three reports and joining them by hand?
- A maintained payer rule library. Payer positions on the G codes, on step therapy, and on which prolonged service codes they accept change without notice. Someone has to own keeping that current, and it takes continuous attention to do well.
- Reporting at the chair-hour level. If you cannot see contribution margin per session by payer and acquisition path, you cannot make an informed decision about expanding the program, and you cannot tell a good payer contract from a bad one.