Pabau Engage inbox

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

Learn more
Book a demo Book a demo
☰
HCPCS Code

HCPCS code S0119 – Testosterone cypionate injection


Code Definition

S0119 is the HCPCS Level II code for ondansetron, oral, 4 mg (for circumstances falling under the medicare statute, use hcpcs q code).

Unlike CPT codes maintained by the American Medical Association, S0119 belongs to the S-series, which CMS describes as codes maintained by non-government entities for use by commercial payers and some Medicaid prograMs. Practices billing this code face two consistent challenges: confirming payer-specific acceptance before submitting and pairing it with the right ICD-10-CM diagnosis to establish medical necessity.

Level
S0000-S9999 Temporary national codes (non-Medicare)
Code also known as
testosterone injection, testosterone replacement therapy injection, TRT injection, testosterone cypionate shot
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 S0119 describes an injection of testosterone cypionate, billed per cc, used by Medicaid and commercial plans rather than Medicare fee-for-service.

S-series codes are not recognized by traditional Medicare; always verify payer-specific acceptance before submitting a claim.

Prior authorization is required by many commercial payers and Medicaid managed care organizations for S0119; missing PA is the most common denial trigger.

Pabau’s claims management software supports HCPCS code entry, modifier attachment, and diagnosis pointer linkage to reduce front-end rejections on S-series claims.

HCPCS Code S0119: descriptor and code category

HCPCS Code S0119 describes a single-milliliter injection of testosterone cypionate. The full descriptor reads: Injection, testosterone cypionate, per cc. Testosterone cypionate is a long-acting, oil-based ester of testosterone administered intramuscularly, typically in a clinic, physician office, or outpatient setting. The code is a unit code: each billed unit represents one cc of the formulation administered. If 200 mg (2 cc) is administered, the claim should reflect two units of S0119.

S0119 sits within the HCPCS Level II S-series, which spans codes S0000 through S9999. The S-series is maintained by commercial insurers, not by CMS, which is why these codes do not appear on the Medicare Physician Fee Schedule. Practices treating Medicare beneficiaries for testosterone deficiency must use the appropriate CPT drug administration code instead.

Field Detail
Code S0119
Official descriptor Injection, testosterone cypionate, per cc
Code set HCPCS Level II (S-series)
Unit of billing Per cc administered
Medicare coverage Not covered under standard Medicare fee-for-service
Typical payers Medicaid managed care, commercial insurance plans
Place of service Office (POS 11), outpatient clinic (POS 22), or other applicable non-facility setting

Which payers accept HCPCS Code S0119?

S-series HCPCS codes are not recognized by traditional Medicare fee-for-service. Submitting S0119 on a claim for a Medicare beneficiary will result in an automatic rejection. Medicaid managed care organizations and commercial plans are the primary payers for this code, though acceptance varies by state Medicaid agency and individual plan contract.

Before submitting a claim with HCPCS Code S0119, verify coverage through the payer’s provider portal or by calling the eligibility and benefits line. Many plans that cover testosterone replacement therapy have added S0119 to their fee schedules, but that acceptance is never universal. Understanding how medical billing works across different payer types is the foundation for avoiding rejections on S-series codes.

Payer type S0119 acceptance Notes
Medicare fee-for-service Not covered S-codes are excluded from the Medicare Physician Fee Schedule
Medicare Advantage Varies by plan Some MA plans adopt S-series codes; verify per plan formulary
Medicaid managed care Commonly accepted Acceptance and rates set by each state Medicaid agency
Commercial/private plans Commonly accepted BCBS, Aetna, Cigna, and UHC plans often accept; confirm per contract
Tricare / VA Varies Check benefit coverage policy for S-series drug injections

Prior authorization requirements for S0119

Many commercial payers and Medicaid managed care organizations require prior authorization (PA) before reimbursing claims with S0119. PA requirements are not uniform: a plan that covers testosterone injections without PA for one patient population may require it for another based on diagnosis, patient age, or treatment history. Always check the payer’s current prior authorization grid before the first administration.

The following documentation typically supports a PA request for S0119:

  • Laboratory results confirming low serum testosterone levels (with reference ranges noted)
  • Clinical documentation of signs and symptoms consistent with hypogonadism or testosterone deficiency
  • Prescribing provider’s credentials and NPI
  • Treatment plan including dosage, frequency, and expected duration
  • Evidence of any formulary-required step therapy (e.g., prior trial of a lower-cost formulation)

If a PA is denied, the plan must provide written notice with the specific clinical rationale. First-level appeals typically require a peer-to-peer review request, submitted within the payer’s deadline (often 30-60 days from the denial date). Second-level appeals require a formal written submission that includes additional clinical literature supporting medical necessity. Document every submission date and reference number.

How to document S0119 correctly

A complete medical record entry for HCPCS Code S0119 must show that the service was medically necessary and that all billing elements can be verified by an auditor. Incomplete documentation is the second most common reason S0119 claims are denied after missing prior authorization.

Following medical billing compliance standards, each encounter note should include:

  • Diagnosis linkage: the ICD-10-CM code(s) that establish hypogonadism or a related condition, pointed directly to S0119 on the claim form
  • Drug and dosage: name of the drug (testosterone cypionate), concentration (e.g., 200 mg/mL), total volume administered in cc, and lot number if required by state law
  • Route and site: intramuscular injection, anatomical site (e.g., gluteus medius, deltoid), and laterality
  • Provider credentials: administering provider’s name, NPI, and role (e.g., RN, MA under physician supervision)
  • Date and place of service: match the POS code on the claim (office = 11; outpatient hospital = 22)
  • Supervising physician: name and NPI if the injection was administered by an ancillary staff member

Pabau’s claims management software supports structured injection encounter notes, automatic diagnosis pointer linkage, and HCPCS code entry with modifier fields, reducing the manual steps between clinical documentation and claim submission.

Automate claims through Healthcode
Automate claims through Healthcode

ICD-10 codes commonly used with S0119

Every S0119 claim requires at least one ICD-10-CM diagnosis code to establish medical necessity. The diagnosis pointer on the CMS-1500 (Box 24E) or the 837P electronic claim must link directly to S0119. Using an unsupported or overly broad diagnosis is a frequent cause of medical necessity denials.

ICD-10-CM code Description Clinical context
E29.1 Testicular hypofunction Primary hypogonadism; low testosterone caused by testicular failure
E23.0 Hypopituitarism Secondary hypogonadism caused by pituitary dysfunction
E29.8 Other testicular dysfunction Documented testosterone deficiency not meeting primary hypogonadism criteria
Z79.890 Hormone replacement therapy Used as a secondary code when testosterone is ongoing maintenance therapy
E34.50 Androgen insensitivity syndrome, unspecified Testosterone therapy for androgen receptor conditions

Verify all ICD-10-CM codes against the current fiscal year tables published by the CDC/NCHS ICD-10-CM tool, as diagnosis codes are updated annually. A code valid in FY2024 may be revised or deleted in a subsequent year.

S0119 versus S0120 is the most common coding confusion in this range. S0120 describes an injection of testosterone cypionate and estradiol cypionate combined, a formulation used in hormone replacement therapy for some patients. Using S0120 when only testosterone cypionate is administered is an unbundling error and a medical necessity mismatch. Always confirm the product administered before selecting between these two codes.

Code Descriptor Use when Common error
S0119 Injection, testosterone cypionate, per cc Testosterone cypionate only is administered Billing for combined T+E formulation
S0120 Injection, testosterone cypionate and estradiol cypionate, per cc Combined testosterone and estradiol cypionate formulation is administered Using this code for testosterone-only injection
96372 (CPT) Therapeutic, prophylactic, or diagnostic injection, IM or SC For Medicare patients; bills the administration act, not the drug Using S0119 on Medicare claims

For Medicare patients, use CPT code 96372 for the injection administration. The drug itself (testosterone cypionate) is then reported separately using the appropriate J-code if covered under Part B, or the patient’s Part D plan handles the pharmaceutical cost. Using HCPCS Code S0119 on a Medicare fee-for-service claim will result in an automatic payer rejection.

Pro Tip

Check the administering provider’s NPI type before billing. If an MA or LPN performs the injection under physician supervision, billing rules vary by state Medicaid plan. Some plans require the supervising physician’s NPI in Box 17 of the CMS-1500; others accept the administering provider’s NPI in Box 24J. Confirm the plan’s rendering provider rules before claim submission to avoid a missing-provider-credential denial.

Reimbursement rates for HCPCS Code S0119

Reimbursement rates for S0119 are not set by a single national fee schedule. Because S-series codes fall outside the Medicare Physician Fee Schedule, each Medicaid agency and commercial plan establishes its own allowed amount. Rates reflect the plan’s drug acquisition cost plus an administration margin, and they vary substantially by geography and plan year.

General benchmarks based on Medicaid fee schedule data and commercial plan ranges (subject to change; always verify against your current payer contracts):

Payer type Indicative range (per cc) Verification source
State Medicaid managed care Varies by state; typically tracks AWP minus a discount percentage State MMIS or MCO provider manual
Commercial plans Typically $5-$20 per cc depending on contract and formulary tier Provider contract fee schedule or EOB
Medicare fee-for-service Not reimbursed CMS PFS lookup

To obtain the most current rate, log into the AAPC Codify HCPCS lookup or your state Medicaid’s managed care organization’s provider portal. For commercial contracts, the allowed amount is specified in your fee schedule addendum. Never assume a rate from a prior year’s contract applies to the current plan year.

Common claim denial reasons for S0119 and how to fix them

Denied claims with S0119 follow predictable patterns. Proactive denial management starts with recognizing these triggers before the claim goes out the door.

Denial reason Common CARC code Corrective action
Missing or expired prior authorization CARC 15 Obtain PA retroactively where the plan allows, or initiate a first-level appeal with clinical notes
Non-covered service (S-code not on payer formulary) CARC 96 Verify payer acceptance; if truly non-covered, bill the patient with appropriate advance notice (ABN equivalent)
Diagnosis not medically necessary for service CARC 50 Review ICD-10-CM pairing; switch to a more specific diagnosis code and resubmit; attach lab results supporting low testosterone
Missing or incorrect modifier CARC 4 Add the appropriate modifier (e.g., GY for non-covered services billed to Medicare in error, or plan-specific modifiers) and correct the claim
Incorrect place of service CARC 6 Match POS code on claim to actual service location; correct to POS 11 (office) or POS 22 (outpatient hospital) as appropriate
Units billed exceed plan limit CARC 119 Confirm units billed match cc administered; check PA for any plan-imposed frequency limits per benefit period

How to appeal a denied S0119 claim

Appeals for denied S0119 claims follow a structured process. Acting on the correct deadline is critical: most commercial plans allow 90-180 days from the denial date to file a first-level appeal, while Medicaid managed care timelines vary by state contract.

  1. Pull the explanation of benefits (EOB) or remittance advice: identify the exact CARC and RARC codes driving the denial.
  2. Gather clinical documentation: lab results, treatment notes, prescribing provider’s assessment, and any PA approval letter if one was issued.
  3. Draft a medical necessity letter: the treating provider should summarize the clinical rationale, citing the ICD-10-CM diagnosis, the lab values, and any applicable clinical guidelines (e.g., Endocrine Society guidelines on testosterone deficiency).
  4. Submit within the deadline: include the original claim number, the denial date, and the clinical attachments. Send via certified mail or the payer’s online appeal portal.
  5. Request peer-to-peer review if allowed: for medical necessity denials, a peer-to-peer call between the treating physician and the plan’s medical director often resolves the appeal faster than a written submission alone.
  6. Escalate if denied again: file a second-level appeal or request an external independent review organization (IRO) review where required by state law.

Reduce HCPCS claim denials before they happen

Pabau’s claims management software handles HCPCS code entry, modifier attachment, diagnosis pointer linkage, and batch claim scrubbing so your S0119 claims go out clean the first time.

Pabau claims management dashboard

Billing S0119 in practice management software

Entering HCPCS Code S0119 correctly in a practice management or EHR system reduces the likelihood of a front-end rejection before the claim reaches the payer. A clean claim for S0119 requires accurate entry of the code, unit count, modifier, and diagnosis pointer at the point of charge capture, not as a post-submission correction.

Key steps when entering S0119 in a billing workflow:

  1. Code entry: enter S0119 in the procedure code field. Confirm the system recognizes it as an HCPCS Level II code, not a CPT code. Some systems require a code type flag.
  2. Unit count: set units to match the number of cc administered. Billing 1 unit when 2 cc were given will result in underpayment; billing 2 units when 1 cc was given is overcoding.
  3. Modifier attachment: add any plan-required modifiers (e.g., GY, 25, or plan-specific modifiers). Confirm which modifiers your payer contract specifies for drug injection claims.
  4. Diagnosis pointer: link the appropriate ICD-10-CM code(s) from the encounter to S0119 in the diagnosis pointer field (Box 24E on CMS-1500). Missing pointer = automatic denial.
  5. Batch claim scrubbing: run the claim through your clearinghouse or built-in scrubber before submission. A scrubber flags missing modifiers, unit count mismatches, and invalid code combinations before they reach the payer.

For practices managing testosterone replacement therapy patients at volume, men’s health clinic software that integrates HCPCS code entry with clinical note templates and automated eligibility checks reduces per-claim processing time and catches unit-count errors at the charge entry stage. Look for a system that supports end-to-end claims management, from charge capture through ERA posting.

Pro Tip

Set up a claim template for your most frequent S0119 billing scenarios: a 1 cc injection and a 2 cc injection, each pre-loaded with the correct unit count, POS code, and the ICD-10-CM codes your practice uses most. Batch scrub all S0119 claims weekly before submission. Catching a missing diagnosis pointer or incorrect unit count in the scrubber costs seconds; fixing it after a denial costs 20-30 minutes per claim.

Conclusion

HCPCS Code S0119 is a straightforward drug injection code when payer acceptance and prior authorization are confirmed upfront. The most expensive billing errors on S0119 claims, including missing PA, incorrect unit counts, and mismatched diagnosis codes, are all preventable at the point of charge entry rather than recoverable after a denial.

Practices billing S0119 at volume should audit their claim templates, PA tracking workflows, and diagnosis pointer processes quarterly. Pabau’s claims management tools support structured HCPCS code entry, automated scrubbing, and ERA reconciliation to keep S0119 claims moving cleanly through the revenue cycle. To see how Pabau handles HCPCS billing workflows end to end, book a demo.

Continue your research

Continue your research

Need a foundation in medical billing before tackling S-series codes? What is medical billing covers the end-to-end revenue cycle, from charge capture to payment posting.

Facing a wave of denials? Denial management in healthcare outlines a systematic process for categorizing, appealing, and preventing recurring claim denials.

Want to understand claim file standards? The 837 electronic claim file guide explains how HCPCS codes, diagnosis pointers, and modifiers are structured in the 837P transaction.

Frequently Asked Questions

What does HCPCS Code S0119 cover?

HCPCS Code S0119 covers an injection of testosterone cypionate, billed per cubic centimeter administered. It is an S-series code used by Medicaid managed care organizations and commercial insurance plans to reimburse testosterone replacement therapy administered in a clinical setting. It does not cover the injection administration act separately; that service is typically bundled unless the payer’s policy specifies otherwise.

Is S0119 covered by Medicare?

No. S-series HCPCS codes are not recognized by traditional Medicare fee-for-service. Submitting S0119 on a Medicare claim will result in an automatic payer rejection. For Medicare patients requiring testosterone cypionate injections, use CPT code 96372 for the administration and the appropriate J-code for the drug under Part B coverage rules.

What ICD-10 codes are used with S0119?

The most common ICD-10-CM codes paired with S0119 are E29.1 (testicular hypofunction), E23.0 (hypopituitarism), and E29.8 (other testicular dysfunction). Z79.890 (hormone replacement therapy) is frequently added as a secondary code for ongoing maintenance patients. Always link the diagnosis code directly to S0119 in the claim’s diagnosis pointer field and verify codes against the current fiscal year ICD-10-CM tables.

Does S0119 require prior authorization?

Prior authorization requirements for S0119 vary by payer and plan year. Many commercial plans and Medicaid managed care organizations require PA for testosterone replacement therapy. Check the payer’s current authorization grid before the first administration. Documentation supporting a PA request typically includes lab results confirming low serum testosterone and a treatment plan with dosage and frequency.

What is the difference between S0119 and S0120?

S0119 covers an injection of testosterone cypionate only, billed per cc. S0120 covers an injection of testosterone cypionate combined with estradiol cypionate, per cc. The difference lies in the formulation administered. Billing S0120 when only testosterone cypionate was given, or vice versa, constitutes a coding error and may trigger a medical necessity denial.

Why would a claim with S0119 be denied?

The most frequent denial triggers for S0119 claims are a missing or expired prior authorization (CARC 15), a non-covered service because the S-code is not on the payer’s formulary (CARC 96), and an unsupported diagnosis pointer linking an overly broad ICD-10-CM code to the claim (CARC 50). Verifying payer acceptance, confirming PA status, and scrubbing claims before submission eliminates most of these denials.

How do I look up reimbursement rates for HCPCS Code S0119?

Reimbursement rates for S0119 are not available on the Medicare Physician Fee Schedule because S-series codes fall outside traditional Medicare. To find current rates, log into your state Medicaid managed care organization’s provider portal, review your commercial payer fee schedule addendum, or use the PGM Billing HCPCS lookup tool for benchmark reference data.

×