Pabau Engage inbox

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

Learn more
HCPCS Code

HCPCS code S0023 – Cimetidine hydrochloride injection


Code Definition

S0023 is the HCPCS Level II code for injection, cimetidine hydrochloride, 300 mg. One unit equals 300 mg of cimetidine, the H2 blocker given by intramuscular or intravenous injection.

S0023 is a temporary non-Medicare S-code, so traditional Medicare does not pay it. Commercial payers and some Medicaid programs accept it. A payer that rejects S-codes usually wants J3490 with the NDC instead.

Level
Level II
Category
S0012-S0197 Non-Medicare drug codes
Status
Active (HCPCS Action Code N — no CMS maintenance)
Billable
No
Code also known as
Cimetidine HCl injection, Tagamet injection
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 S0023 reports injection, cimetidine hydrochloride, 300 mg, and one billing unit equals 300 mg of the drug.

S0023 is a temporary non-Medicare S-code, so traditional Medicare does not pay it and commercial or Medicaid payer rules decide coverage.

No J-code describes cimetidine, so a payer that rejects S-codes usually wants J3490 with the NDC and drug name instead.

Bill the injection itself separately, with 96372 for an intramuscular shot or 96374 for an IV push.

What is HCPCS Code S0023?

HCPCS Code S0023 is the Level II code for injection, cimetidine hydrochloride, 300 mg. Cimetidine is an H2 receptor antagonist that lowers stomach acid, and this code covers the drug when it is given by intramuscular or intravenous injection. One unit of S0023 equals 300 mg.

S0023 sits in the S0012-S0197 range of non-Medicare drug codes. S-codes are temporary national codes that the Blue Cross Blue Shield Association and other private payers use where no permanent code fits. The CMS HCPCS quarterly file gives S0023 Medicare coverage code I, which means it is not payable by Medicare. The same range covers oral drugs, and tacrine hydrochloride, 10 mg, is billed under code S0014.

The code has been in the HCPCS set since January 1, 2000. Its action code in the October 2026 file is N, so CMS made no change to it in that update. It has no termination date.

S0023 code details at a glance

FieldValue
CodeS0023
Official descriptorInjection, cimetidine hydrochloride, 300 mg
Code setHCPCS Level II, temporary national S-code
RangeS0012-S0197 Non-Medicare drug codes
Billing unitOne unit per 300 mg administered
Medicare coverage codeI (not payable by Medicare)
Date addedJanuary 1, 2000
Action code (October 2026 file)N (no maintenance)
Specific J-code for cimetidineNone in the October 2026 HCPCS file

What injectable cimetidine is used for

Cimetidine blocks histamine at the H2 receptors of the stomach lining, which cuts acid output. The injectable form was used for patients who could not take the drug by mouth, or who needed it in hospital. The usual indications were:

  • Active duodenal or gastric ulcers in patients who could not take tablets
  • Pathological hypersecretory conditions such as Zollinger-Ellison syndrome
  • Prevention of upper gastrointestinal bleeding in critically ill patients
  • Gastroesophageal reflux disease when oral treatment was not possible

Prescribers also use H2 blockers alongside antihistamines in some allergic and infusion reaction protocols. That use is off-label, so check the payer’s policy before you bill it.

Injectable cimetidine is now hard to find in the United States. DailyMed, the National Library of Medicine database of FDA drug labels, lists cimetidine tablets and oral solutions but no current injectable product.

That makes every S0023 charge worth a second look. Before the claim goes out, confirm that the NDC in the record belongs to a cimetidine injection.

Medicare coverage for HCPCS Code S0023

Traditional Medicare does not pay S0023. The code carries coverage code I in the CMS file, and S-codes are not valid on claims to any Medicare payment system. A Medicare fee-for-service claim that carries S0023 comes back unpaid however well the visit is documented.

Medicare patients can still reach this drug through other routes:

  • Medicare Advantage: a Part C plan writes its own billing rules and may accept S-codes, so check the plan before the visit.
  • Unclassified drug code: Medicare has no specific code for injectable cimetidine. A Medicare administrative contractor will normally expect J3490 with the NDC, drug name and dose in the claim narrative.
  • Secondary coverage: a commercial secondary plan may pay once Medicare has processed the primary claim. Keep the primary remittance with the file.

Pro Tip

Check the primary payer at scheduling, not at billing. A traditional Medicare patient needs J3490 and an NDC narrative for this drug, never S0023. Catching that at the front desk is quicker than correcting a returned claim.

Commercial and Medicaid payer rules

Commercial payers and state Medicaid programs set their own rules for S0023. Some accept it as written, while others want J3490 for the same drug. Knowing which version each payer expects is a core part of medical billing for drug codes.

Before the first claim to a payer, confirm four points:

  • Code acceptance: whether the plan takes S0023 or wants J3490 for cimetidine injection
  • Prior authorization: whether the plan needs one for an injectable acid suppressant given in the office
  • NDC format: the 11-digit NDC, the unit qualifier and the quantity the plan expects on the claim line
  • Rate basis: whether the plan pays from a fee schedule, a percentage of the average sales price or invoice cost

Medicaid rules vary by state. Check the state Medicaid fee schedule or provider manual for S0023 before you bill it, since some states use S-codes and others do not.

How to bill S0023 step by step

The first decision is which code goes on the drug line, and the primary payer settles it. The chart maps each payer type to its code, then the unit math and administration codes that follow.

Decision chart for HCPCS S0023 by primary payer
Only a payer that accepts S-codes takes S0023, so the payer check comes before the unit math. Coverage status is from the CMS HCPCS quarterly file, October 2026.
  1. Confirm the payer accepts S-codes. If it does not, switch to the code it names, usually J3490.
  2. Record the drug and dose. Note the NDC, lot number, dose in milligrams, route and time in the patient record.
  3. Convert milligrams to units. Divide the dose by 300 and enter the result in the units field.
  4. Add the NDC to the claim line. Use the 11-digit format with the N4 qualifier, unit of measure and quantity.
  5. Add the administration code. Report the injection itself on its own line, as in the table below.
  6. Link the diagnosis. Point the line at the ICD-10-CM code that supports the drug.

The administration service is never part of S0023. Report it on its own line, with the CPT code that matches the route. An intramuscular shot takes 96372, and an IV push takes 96374. The table lists all three routes.

CPT codeServiceUse with S0023 when
96372Therapeutic, prophylactic or diagnostic injection, subcutaneous or intramuscularCimetidine is given as an intramuscular injection
96374Intravenous push, single or initial substance or drugCimetidine is pushed into a vein over a few minutes
96365Intravenous infusion, initial, up to 1 hourCimetidine is diluted and infused over 15 minutes or more

Codes 96401 and 96402 are for chemotherapy and other highly complex drugs. They do not apply to a cimetidine injection.

Billing units for S0023

One unit of S0023 equals 300 mg of cimetidine. The former FDA label for cimetidine injection gave 300 mg every six to eight hours, intramuscularly or intravenously. It set a daily ceiling of 2,400 mg. The table converts those doses into units.

Dose givenUnits billedNotes
300 mg single injection1The standard intermittent dose
900 mg over 24 hours3Continuous infusion at 37.5 mg per hour
2,400 mg over 24 hours8The labeled daily maximum
Less than 300 mg1Most payers round a partial unit up. Check the contract.

Bill the dose given, not the vial size. If part of a single-dose container is discarded, record the amount wasted in the note, and ask the payer how it wants waste reported.

Modifiers and S0023

The JW and JZ modifiers come from a Medicare Part B policy on discarded drug from single-dose containers. CMS created JZ on January 1, 2023 and made it mandatory from July 1, 2023. Because Medicare does not pay S0023, that policy does not apply to it.

A commercial plan may still copy the Medicare drug waste rules into its own contract. Use JW or JZ on an S0023 line only when that payer’s policy asks for it. Otherwise the S0023 line needs no drug-specific modifier. A separately documented office visit on the same day may need modifier 25 on the visit code.

ICD-10-CM codes that support S0023

The diagnosis on the claim has to explain why the patient needed an injectable acid suppressant. These ICD-10-CM codes are the ones most often linked to it:

ICD-10-CM codeDescriptionNotes
K25.-Gastric ulcerPick the fourth character for acute or chronic, and for bleeding or perforation
K26.-Duodenal ulcerSame fourth-character logic as K25
K21.-Gastro-esophageal reflux diseaseUse when the record documents why oral treatment was not possible
E16.4Increased secretion of gastrinCovers Zollinger-Ellison syndrome
K92.2Gastrointestinal hemorrhage, unspecifiedUse only when the source of the bleed is not yet identified

Common denial reasons for S0023 claims

Most S0023 denials come from the code choice or missing drug details, not from the clinical decision. Reviewing denial management workflows shows whether a denial is a one-off or a pattern worth fixing at the source.

Denial reasonCommon CARCPrevention step
S-code billed to a payer that does not accept itCO-96Confirm S-code acceptance before billing, and use J3490 where the payer asks for it
Missing or invalid NDCCO-16Record the 11-digit NDC at the visit and copy it to the claim line with its qualifier
Units do not match the documented doseCO-16Divide the dose in milligrams by 300 and check the note supports the result
Prior authorization missingCO-197Obtain the authorization before the injection and enter the number on the claim
Diagnosis does not support the drugCO-50Link an ulcer, reflux, hypersecretion or bleeding diagnosis that the note documents

When a denial arrives, read the reason codes on the remittance before you resubmit. Our guide to denial codes explains what each one points to. CO-4 is a modifier problem, so it applies only when a payer’s rules required a modifier you left off.

Documentation requirements for S0023 claims

Every S0023 claim needs a record that matches the claim line. A payer audit looks for these elements in the patient record:

  • Order and indication: who ordered cimetidine, and the diagnosis it treats
  • Reason for the injection: why the patient could not take an oral acid suppressant
  • Drug details: the NDC, lot number, expiry date and dose in milligrams
  • Route and timing: intramuscular or intravenous, push or infusion, with start and stop times for an infusion
  • Administering clinician: name, credentials and NPI
  • Waste: any amount discarded from a single-dose container

A record that holds all six lets the biller build a clean claim without going back to the clinician.

How Pabau supports S0023 billing

An S0023 claim depends on details that start in the treatment room. The NDC, lot, dose and route all have to reach the claim line unchanged, and the payer’s code rules have to be checked before submission.

In Pabau, the practice management and billing platform we build, the lot number and expiry are recorded against the patient and the appointment. The biller works from that record, so the drug details on the claim match the note. Prior authorizations are tracked on the case, with a warning when one is missing.

US claims go out as CMS-1500/837P claims through the Claim.MD clearinghouse, from Pabau’s claims management software. Eligibility checks, ERA remittances and secondary claims run from the same place, so a returned S0023 line shows up against the patient it belongs to.

Pabau claims screen tracking a claim from submission to payment
Pabau’s claim tracking follows each claim from submission to remittance, so a rejected S0023 line surfaces while the visit details are still fresh.

Get drug injection claims right the first time

Pabau records the lot and dose at the visit, tracks prior authorizations, and submits claims through Claim.MD. See how it handles drug codes like S0023.

Pabau claims management dashboard

Conclusion

S0023 is a narrow code for a drug that few US practices still stock. That rarity is the reason to check it twice. A claim line carrying S0023 should match a cimetidine injection NDC in the record, and a payer that accepts S-codes.

Settle the payer question at scheduling and convert the dose to units at the visit. Report the injection on its own line. Book a demo to see how Pabau carries drug details from the treatment note to the claim.

Continue your research

Continue your research

Need a broader overview of how claims move from submission to payment? What is revenue cycle management explains the end-to-end billing workflow that underpins every drug injection claim.

Getting repeated denials without a clear pattern? Medical billing compliance covers the documentation and policy alignment practices need to reduce systemic denial rates.

Want to understand what happens after a claim is paid? Electronic remittance advice breaks down how to read ERA files and reconcile payments for drug injection codes.

Frequently asked questions

What is HCPCS Code S0023?

HCPCS Code S0023 is the Level II code for injection, cimetidine hydrochloride, 300 mg. It is a temporary national S-code in the S0012-S0197 non-Medicare drug range. One unit equals 300 mg of cimetidine.

Does Medicare cover S0023?

No. CMS gives S0023 coverage code I, which means it is not payable by Medicare. Medicare Advantage plans may accept it under their own rules. For traditional Medicare, injectable cimetidine is normally billed with J3490 and the NDC.

Is there a J-code for cimetidine injection?

No. The October 2026 HCPCS file has no J-code that describes cimetidine. A payer that does not accept S0023 will usually want J3490, the unclassified drug code, with the NDC, drug name and dose.

How many units of S0023 should I bill?

Divide the dose in milligrams by 300. A 300 mg injection is one unit, and 900 mg given by continuous infusion over 24 hours is three units. Most payers round a partial unit up to one.

Which administration code goes with S0023?

Bill the injection on its own line. Use 96372 for an intramuscular injection, 96374 for an IV push, or 96365 for an IV infusion of up to one hour. The chemotherapy codes 96401 and 96402 do not apply.

Do the JW and JZ modifiers apply to S0023?

Not by default. JW and JZ come from a Medicare Part B policy on discarded drug, and Medicare does not pay S0023. Add them only when a commercial payer’s own policy requires them.

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.
×