Pabau Engage inbox

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

Learn more
HCPCS Level II Code

HCPCS code S0091 – Granisetron hydrochloride, 1 mg


Code Definition

S0091 is the HCPCS Level II code for granisetron hydrochloride, 1 mg. It is a temporary national S code that private payers and some state Medicaid programs use to report this antiemetic, at one unit per milligram.

Medicare does not pay S codes. For a Medicare patient, the code's own descriptor points to Q0166 for oral granisetron given with chemotherapy, and an injected dose goes on J1626.

Level
Level II
Category
S — Temporary national codes (non-Medicare)
Status
Active
Billable
No
Code also known as
Granisetron 1mg (CMS short descriptor)
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 S0091 reports granisetron hydrochloride, 1 mg, an antiemetic drug. One unit equals 1 mg.

S0091 is a temporary national S code for private payers and some Medicaid programs. Medicare does not pay it.

For Medicare, bill Q0166 for oral granisetron given with chemotherapy, or J1626 for the injection, billed per 100 mcg.

Pabau, the practice software we build, sends US claims through Claim.MD and posts the remittance against the patient record.

HCPCS Code S0091: Definition and code description

HCPCS Code S0091 is the HCPCS Level II code for granisetron hydrochloride, 1 mg. Granisetron is an antiemetic that prevents the nausea and vomiting caused by chemotherapy and radiation. One unit of S0091 equals 1 mg, so a 2 mg dose is billed as two units.

The full official descriptor reads: “Granisetron hydrochloride, 1 mg (for circumstances falling under the Medicare statute, use Q0166).” The note in brackets is part of the code. It tells you that S0091 is the non-Medicare version, and that Medicare claims take a different code.

S0091 belongs to the S code range of temporary national codes. CMS publishes these codes in its HCPCS files, but it does not create them. The Blue Cross Blue Shield Association and AHIP (formerly the Health Insurance Association of America) request them for private-sector use.

Private insurers use S codes for drugs, supplies and services that no permanent national code describes the way they need. State Medicaid programs may use them too. The range covers oral drugs as well, such as tacrine hydrochloride, 10 mg, under S0014.

Medicare does not pay them, and the CMS file gives S0091 coverage code “I”, which means not payable by Medicare. Oral dolasetron follows the same split, with S0174 for private payers and Q0180 for Medicare.

S0091 code details at a glance

The table below summarizes the reference data for HCPCS Code S0091 in the October 2026 CMS HCPCS Level II file.

FieldValue
HCPCS CodeS0091
Official descriptionGranisetron hydrochloride, 1 mg (for circumstances falling under the Medicare statute, use Q0166)
Short descriptionGranisetron 1mg
Code typeHCPCS Level II, temporary national code (non-Medicare)
Code rangeS codes, temporary national codes (non-Medicare)
Dosage unit1 mg per unit
Drug (generic)Granisetron hydrochloride
Drug class5-HT3 (serotonin) receptor antagonist antiemetic
Medicare coverage codeI (not payable by Medicare)
Medicare counterpartsQ0166 (oral, 1 mg) and J1626 (injection, 100 mcg)
Code statusActive (effective July 2001, added to HCPCS January 2002, no termination date)

What granisetron is used for

Granisetron blocks serotonin 5-HT3 receptors, which trigger the vomiting reflex after chemotherapy or radiation. The FDA label for granisetron hydrochloride 1 mg tablets covers two uses. The first is preventing nausea and vomiting from initial and repeat courses of emetogenic cancer therapy, including high-dose cisplatin.

The second is nausea and vomiting from radiation, including total body irradiation and fractionated abdominal radiation. The usual adult oral dose for either use is 2 mg a day. That is two 1 mg tablets once daily, or 1 mg twice daily for chemotherapy.

That dosing is why units matter on an S0091 line. A 2 mg dose is two units, and a 1 mg twice-daily regimen over a day is also two units. Granisetron also comes as an injection, an extended-release injection and a skin patch, and each of those has its own coding rules.

S0091 vs Q0166 vs J1626: Which granisetron code to bill

The right granisetron code depends on two things: who pays the claim, and how the drug was given. S0091 is the code for non-Medicare payers that accept it. Q0166 and J1626 are the Medicare codes.

FeatureS0091Q0166J1626
DescriptorGranisetron hydrochloride, 1 mgGranisetron hydrochloride, 1 mg, oral, FDA-approved prescription anti-emetic, as a complete substitute for an IV anti-emetic at chemotherapyInjection, granisetron hydrochloride, 100 mcg
RouteNot stated in the descriptorOralInjection
Billing unit1 mg1 mg100 mcg (1 mg = 10 units)
Payable by Medicare?No (coverage code I)Yes, with special coverage instructionsYes, with special coverage instructions
Typical payersPrivate insurers and some Medicaid programsMedicare Part BMedicare and many other payers
Dose limit in descriptorNoneNot to exceed a 24-hour dosage regimenNone

Q0166 is narrower than it looks. Its descriptor limits it to an oral antiemetic used as a complete therapeutic substitute for an IV antiemetic at the time of chemotherapy.

It is capped at a 24-hour dosage regimen. A prescription for oral granisetron filled for use at home is usually a Part D pharmacy claim instead.

J1626 counts in 100 mcg units, so a 1 mg IV dose is 10 units of J1626 but one unit of S0091. Mixing the two unit sizes is the fastest way to underbill or overbill granisetron. Extended-release granisetron injection has its own code, J1627, billed per 0.1 mg.

The chart below runs those rules in the order a biller meets them: payer first, then route.

Decision chart for granisetron codes. Medicare
S0091 is the right code only on the non-Medicare branch, and its 1 mg unit differs from J1626 by a factor of ten. Codes and units from the CMS HCPCS Level II file.

Pro Tip

Check the patient’s primary payer before you choose the granisetron code. Medicare primary means Q0166 or J1626, never S0091. For a private or Medicaid plan, check whether it lists S0091 or expects J1626 for an injected dose.

Which payers accept HCPCS Code S0091?

Private insurers and some state Medicaid programs accept HCPCS Code S0091, and Medicare never does. Each payer decides for itself whether to recognize an S code, so acceptance varies plan by plan.

Knowing how medical billing works across payer types explains why one code can be valid on one claim and rejected on the next.

  • Medicare: S codes are not payable by Medicare, and they may not be billed under any Medicare payment system. Use Q0166 for oral granisetron given with chemotherapy, or J1626 for the injection.
  • Medicaid: some state programs list S0091 on their fee schedules and others do not. Check the state’s HCPCS fee schedule or provider manual before you bill it.
  • Commercial insurers: many Blue Cross Blue Shield plans and other private payers recognize S codes, but not every plan covers S0091. Some may want J1626 for an injected dose, or may cover oral granisetron only through the pharmacy benefit.
  • Medicaid managed care plans: these usually follow the state’s code list, but a plan contract can differ. Confirm with the plan, not only the state.

How to report units and the NDC for S0091

Report units of S0091 as total milligrams given, because one unit equals 1 mg. A clean drug line needs five details to agree with each other.

  1. Units: enter total milligrams. A 2 mg dose is two units, never one.
  2. NDC: report the 11-digit National Drug Code from the package, with the N4 qualifier, when the payer asks for it. State Medicaid programs collect NDCs on drug claims for federal rebates, so most require one.
  3. NDC quantity: enter the quantity in the NDC unit of measure, such as UN for each tablet. This is separate from the HCPCS units.
  4. Date of service: use the date the dose was given or dispensed, matching the chemotherapy or radiation record.
  5. Diagnosis pointer: link the line to the nausea or vomiting diagnosis and to the cancer treatment encounter.

An S0091 line with one unit for a 2 mg dose underpays by half. A line with 20 units, copied from a J1626 habit, will be denied or flagged for review.

ICD-10-CM codes to pair with S0091

Pair S0091 with a diagnosis that shows why the antiemetic was needed and what treatment it supported. When the nausea is an adverse effect of chemotherapy, ICD-10-CM guidelines put the nature of the effect first. The drug that caused it comes second.

ICD-10-CM codeDescriptionUse when
R11.2Nausea with vomiting, unspecifiedNausea and vomiting is present or being prevented; list it first for an adverse effect
R11.0NauseaNausea without vomiting
T45.1X5AAdverse effect of antineoplastic and immunosuppressive drugs, initial encounterNausea or vomiting caused by chemotherapy; list it after the R11 code
Z51.11Encounter for antineoplastic chemotherapyThe dose is given at a chemotherapy encounter
Z51.0Encounter for antineoplastic radiation therapyThe dose supports a course of radiation

Add the code for the cancer being treated as well, since most payer policies tie antiemetic coverage to an active cancer treatment. Each payer’s drug policy sets the diagnoses it accepts, so check it before you rely on a pairing.

Documentation requirements for S0091 claims

The medical record has to support the drug, the dose and the reason for it. Good medical billing compliance for an S0091 claim means the chart shows each of these.

  • The order: a signed order for granisetron, with dose, route and frequency
  • The dose given: the milligrams given or dispensed, which must match the units billed
  • Timing: the date and time of the dose relative to chemotherapy or radiation
  • Indication: the treatment it supports and the emetic risk that justified it
  • Drug details: the NDC, lot number and route for a dose given in the practice
  • Authorization: the prior authorization number, where the payer requires one

Common billing errors and claim denials

Most S0091 denials come from billing the wrong payer, the wrong unit count or an unsupported diagnosis. Strong denial management treats each one as a check before submission.

Billing errorTypical CARCHow to prevent it
S0091 sent to MedicareRejected as not payable by MedicareBill Q0166 or J1626 for every Medicare-primary patient
Payer does not cover S0091CO-96 (non-covered charges) or CO-204 (not covered under the patient’s benefit plan)Check the payer’s code list first; bill J1626 or the pharmacy benefit if it wants them
Diagnosis does not support the drugCO-11 (diagnosis inconsistent with the procedure)Link R11.2 first, then T45.1X5A and the cancer diagnosis
Missing NDC or wrong unitsCO-16 (claim lacks information or has a billing error)Bill units as total milligrams and add the 11-digit NDC
No prior authorization on fileCO-197 (precertification or authorization absent)Record the authorization number before the first dose

The CARC tells you which rule the payer applied, and the remark code that comes with it narrows the reason further. Our guide to denial codes in medical billing explains how to read both before you correct or appeal the claim.

How Pabau supports antiemetic drug billing

An antiemetic claim touches three records: the chemotherapy schedule, the drug administration note and the claim itself. When they live in separate systems, billing staff re-type the dose and the NDC by hand. That is where unit errors and wrong-payer codes come from.

Pabau keeps the patient record, the clinical notes and the claim in one place. The dose on the administration note is the dose that reaches the claim.

Its claims management software sends US claims through the Claim.MD clearinghouse. It also runs eligibility checks, so the team knows the primary payer before choosing between S0091, Q0166 and J1626.

Pabau claims management screen tracking insurance claims from submission to payment
Pabau tracks each claim from submission to payment, so a rejected S0091 line shows up the day it comes back.

Electronic remittances post back against the same patient record. A practice can see which payers paid S0091 and which wanted J1626, then submit clean claims from the first attempt next time.

Bill the right granisetron code for every payer

Pabau checks eligibility, sends claims through Claim.MD and posts remittances against the patient record. See how it handles drug billing for oncology support care.

Pabau claims management dashboard

Conclusion

S0091 is a simple code with one trap built into its own descriptor. It bills granisetron at 1 mg per unit, and only for payers outside Medicare. The bracketed note sends Medicare claims to Q0166, and an injected dose usually belongs on J1626 at 100 mcg per unit.

Get the payer right first, and the code and unit count follow from it. Book a demo to see how Pabau keeps eligibility, drug records and claims in one workflow.

Continue your research

Continue your research

Billing another antiemetic drug code? HCPCS Code J8650 covers oral nabilone and what to bill since its 2026 deletion.

Need a broader view of how HCPCS fits into your revenue cycle? What is revenue cycle management explains the process from encounter to payment.

Frequently asked questions

What is HCPCS Code S0091?

HCPCS Code S0091 is the code for granisetron hydrochloride, 1 mg, an antiemetic that prevents nausea and vomiting from chemotherapy and radiation. It is a temporary national S code for private payers and some Medicaid programs. One unit equals 1 mg.

Is S0091 covered by Medicare?

No. S codes are not payable by Medicare, and the CMS HCPCS file marks S0091 with coverage code “I” to say so. For a Medicare patient, bill Q0166 for oral granisetron given with chemotherapy, or J1626 for the injection.

What is the difference between S0091 and Q0166?

Both describe granisetron hydrochloride, 1 mg. S0091 is for non-Medicare payers and names no route. Q0166 is the Medicare code for oral granisetron used as a complete substitute for an IV antiemetic at chemotherapy, limited to a 24-hour regimen.

How many units of S0091 do I bill?

Bill one unit per milligram given. A 2 mg dose of granisetron is two units of S0091. Injected granisetron on J1626 counts in 100 mcg units instead, so the same 1 mg dose is 10 units of J1626.

Is S0091 still a valid code in 2026?

Yes. S0091 appears in the October 2026 CMS HCPCS Level II file with no termination date. Its action effective date is July 2001, and it was added to HCPCS in January 2002.

What ICD-10 codes are used with S0091?

R11.2, nausea with vomiting, unspecified, is the most common primary diagnosis. When chemotherapy caused the nausea, add T45.1X5A after it, plus Z51.11 for the chemotherapy encounter and the cancer diagnosis. Check each payer’s drug policy for the codes it accepts.

Avatar photo
Anja Dodevska
Content Writer

Anja Dodevska writes about healthcare, dermatology, and the day-to-day realities of running a medical practice for Pabau. She enjoys breaking down complex topics into clear, accessible content and has a soft spot for the often-overlooked aspects of clinic life. When she's not writing, she's exploring cafes, walking her dog, or spending time with friends and family.
×