HCPCS code S0090 – Sildenafil citrate billing
S0090 is the HCPCS Level II code for sildenafil citrate, 25 mg, with one billing unit for every 25 mg dispensed. It is a non-Medicare S-code, so commercial payers and some state Medicaid programs use it, while Medicare does not pay it.
Coverage turns on the diagnosis. Plans that pay usually do so for pulmonary arterial hypertension with prior authorization, and many exclude erectile dysfunction. Most denials trace back to a missing prior auth number, a diagnosis the plan does not cover, or a missing NDC on Medicaid claims.
- Level
- Level II
- Category
- S0000-S9999 Temporary national codes (non-Medicare)
- Status
- Active in the CMS October 2026 HCPCS file; not payable by Medicare
- Code also known as
- sildenafil, Viagra, Revatio, sildenafil 25mg, erectile dysfunction drug billing
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
Automate repetitive tasks and focus on what matters most—your patients.
Reduce coding errors and ensure compliance with the latest regulations.
Clean claims, fewer denials, and faster reimbursements.
Powerful insights and reporting to help your practice thrive.
HIPAA compliant SOC 2 certified GDPR-compliant Trusted by 4,000+ clinics worldwide
Key takeaways
HCPCS code S0090 describes sildenafil citrate at 25 mg per billing unit, so a 50 mg tablet is billed as 2 units.
S-codes are not payable by Medicare, and Part D excludes sildenafil for erectile dysfunction by statute.
Medicaid and commercial plans often cover S0090 for pulmonary arterial hypertension with prior authorization, but the rules differ by state and plan.
No separate code exists for 50 mg sildenafil, and S0091 describes granisetron, a different drug.
Pabau, the practice platform we build, tracks each prior authorization code and its dates on the case and warns when one is missing.
HCPCS code S0090: What it is and how it works
HCPCS code S0090 is the Level II code for sildenafil citrate, with one billing unit equal to 25 mg of the drug. CMS’s October 2026 HCPCS file lists it with the descriptor “Sildenafil citrate, 25 mg” and marks it as not payable by Medicare.
S0090 belongs to the S-code series, the temporary national codes created for private payers such as Blue Cross Blue Shield plans. S-codes are not payable by Medicare. Some state Medicaid programs and commercial payers recognize them for drug billing on professional claims. Topical tretinoin, for example, is billed under S-code S0117 in the same series.
Sildenafil is sold as Viagra for erectile dysfunction, in 25, 50 and 100 mg tablets, and as Revatio for pulmonary arterial hypertension. Because S0090 describes sildenafil per 25 mg, every Viagra strength converts to whole units.
Revatio comes as a 20 mg tablet taken three times a day. That is not a whole number of 25 mg units, so payers set their own unit rules for it. The diagnosis on the claim decides which payer will consider reimbursement.
Clinical indications: When is S0090 sildenafil citrate correctly used?
S0090 applies to two distinct clinical contexts, and the payer’s decision hinges on which indication is documented. Billing the wrong diagnosis code alongside S0090 is one of the most common causes of denial.
Pulmonary arterial hypertension (PAH)
The FDA approved sildenafil (Revatio) for pulmonary arterial hypertension in 2005. PAH is classified under ICD-10-CM code I27.0 (primary pulmonary hypertension) or I27.21 (secondary pulmonary arterial hypertension). Most Medicaid programs and many commercial payers will consider reimbursement for this indication with a valid prior authorization. The PA submission typically needs the prescribing physician’s specialty and the patient’s documented functional class.
Erectile dysfunction (ED)
ED is coded under the N52.x family (male erectile dysfunction), with N52.9 for unspecified cases. Medicare Part D excludes drugs used for erectile dysfunction by statute, and many Medicaid programs exclude them as well. Commercial payers differ, with some covering sildenafil for ED under quantity limits and step-therapy requirements. Check the plan’s policy before billing S0090 for ED.
Pro Tip
Before submitting S0090 for a PAH patient, pull the state Medicaid formulary or check the commercial plan’s drug coverage list. Some plans require the Revatio brand specifically and will deny Viagra NDC numbers even when the drug is chemically identical.
S0090 Medicare non-covered status
Medicare does not pay S0090 for any indication, because S-codes are non-Medicare codes. Oral sildenafil is also a self-administered drug, so any Medicare coverage for it sits under Part D rather than Part B.
Part D excludes sildenafil for erectile dysfunction under Social Security Act Section 1860D-2(e)(2)(A), which has applied since 2007. The exclusion covers agents used for sexual or erectile dysfunction unless they treat another FDA-approved condition. That is why Revatio for PAH can still sit on a Part D formulary.
Because the exclusion is written into statute, an appeal based on medical necessity alone will not succeed for the ED indication.
Some practices still send S0090 to Medicare to collect a denial for a secondary payer. In that case, the modifier tells Medicare why the claim should deny.
- Modifier GY: Append when the item or service is statutorily excluded. No ABN is required for a GY claim. Medicare will return an automatic denial, which the patient or supplemental plan may need for coordination of benefits.
- Modifier GA: Append when an ABN was signed by the patient in advance of service. This signals that the provider expects a denial and that the patient has acknowledged financial liability.
- Modifier GX: Append when the notice was voluntary and no ABN was required. Use rarely and confirm with your MAC before applying.
Medicare Part D prescription drug plans may cover sildenafil for PAH on a plan-specific formulary. Part D coverage is handled through the pharmacy benefit, not the CMS-1500 claim form. Finasteride 5mg, billed under the S0138 code, reaches Medicare patients the same way.
S0090 Medicaid reimbursement and commercial payer coverage
Medicaid coverage for S0090 varies by state. For the PAH indication, most state Medicaid programs include sildenafil on their preferred drug list with prior authorization requirements. For the ED indication, coverage is more restricted and often excluded entirely. Never assume a state’s coverage based on another state’s policy.
Commercial payers such as Blue Cross Blue Shield plans may cover S0090 for PAH with prior authorization and specialty physician documentation. Some plans require step therapy through a vasodilator before approving sildenafil. Confirm the payer’s drug policy at the plan level, not just the carrier level, since BCBS plans operate independently by state.
Set side by side, the payer rules split cleanly by diagnosis, as the matrix below shows.

S0090 prior authorization requirements
Prior authorization for S0090 under a PAH indication follows the same prior authorization process as other specialty drugs, built around a structured clinical review. The steps below reflect the documentation most Medicaid programs and commercial payers require, though specific criteria differ by plan.
- Confirm diagnosis: The chart must document pulmonary hypertension by ICD-10-CM code, either I27.0 (primary pulmonary hypertension) or I27.21 (secondary pulmonary arterial hypertension). Supporting findings include right heart catheterization results or echocardiography.
- Identify prescriber specialty: Many payers require the prescribing physician to be a pulmonologist, cardiologist, or specialist in PAH. A primary care prescription alone may trigger automatic denial.
- Gather clinical documentation: Include functional class (WHO functional class II or III is typically required), prior treatment history, and any step-therapy requirements the payer mandates.
- Submit PA request: Send via the payer’s portal or fax. PA approval timeframes vary from same-day urgent reviews to 14 business days for standard requests.
- Attach the PA number to the claim: On the CMS-1500, enter the PA approval number in Box 23 (prior authorization number). Claims submitted without this number commonly trigger a CO-15 denial, even when approval has been granted.
How to bill S0090: Units, modifiers, and claim submission
Billing HCPCS code S0090 correctly requires precise unit calculation, correct modifier application, and NDC reporting on Medicaid claims. Each of these elements is a potential denial trigger when handled incorrectly.
Unit calculation
One unit of S0090 equals 25 mg of sildenafil citrate, so divide the total milligrams dispensed by 25. As an arithmetic illustration, a 30-day supply at 50 mg a day is 1,500 mg, or 60 units (30 days x 2 units). Report the units in Box 24G of the CMS-1500.
Revatio’s 20 mg tablets do not divide evenly into 25 mg units, so check the payer’s own unit rule before billing them.
CMS-1500 field-by-field guide
US practices on Pabau send these CMS-1500 claims electronically, as 837P transactions, through the Claim.MD clearinghouse.

NDC-to-HCPCS crosswalk for sildenafil
Medicaid programs require the National Drug Code (NDC) on drug claims alongside the HCPCS code. The NDC is an 11-digit manufacturer-specific identifier in a 5-4-2 format (labeler-product-package). Sildenafil citrate comes from the brand makers of Revatio and Viagra and from many generic manufacturers. The NDC on the claim must match the product dispensed.
On a Medicaid claim, report the NDC in the drug segment of the 837P transaction or in the shaded area of Box 24 on paper. The NDC qualifier “N4” precedes the 11-digit code, followed by the unit of measure (UN for each tablet or capsule).
A Revatio NDC on a claim with an ED diagnosis will trigger a clinical edit denial. Payers cross-reference the NDC brand against the submitted diagnosis.
CMS publishes the official HCPCS code files every quarter. Its NDC crosswalk is built for Medicare drug pricing, so confirm sildenafil NDCs against the state Medicaid drug file or the payer’s own list instead. Manufacturer packaging changes alter the package segment of the NDC even when the drug itself is unchanged.
Related HCPCS codes and common billing errors
S0090 is sometimes confused with unclassified drug codes when billers cannot locate the specific S-code or when payer contracts direct them to J-codes. The table below clarifies which code applies in each scenario.
The most frequent billing error is using J3490 when the payer accepts S-codes. J3490 requires a written description of the drug in Box 19 and usually triggers a manual review delay. Use S0090 whenever the payer’s fee schedule or provider manual lists S-codes as accepted.
No separate code exists for 50 mg sildenafil, so bill a 50 mg tablet as S0090 x 2 units. S0091, the next code in the series, describes granisetron hydrochloride and has no connection to sildenafil.
Common S0090 denial codes and how to resolve them
S0090 denials cluster around four Claim Adjustment Reason Code (CARC) patterns, all covered in the wider list of medical billing denial codes. Each has a specific root cause and a correctable path.
For PAH indication denials that come back as CO-96, an appeal supported by the FDA-approved Revatio labeling and the prescribing cardiologist’s clinical notes often succeeds. Document the appeal timeline, since most payers require appeals within 90 to 180 days of the initial denial date. A structured approach to denial management workflows applies across drug and procedure claims.
Documentation requirements for clean S0090 claims
Audit exposure for S0090 concentrates in the PAH indication, because the clinical threshold for coverage is specific and payer auditors look for it. These are the records a practice must have on file before submitting.
- Diagnosis confirmation: Chart notes documenting PAH by right heart catheterization, echocardiography, or specialist assessment. The ICD-10-CM code (I27.0 or I27.21) goes on the encounter record.
- Prior authorization approval: Written or electronic PA approval from the payer, including the approval number, approved quantity, and effective dates.
- Prescribing provider documentation: Name, specialty, NPI, and clinical rationale for prescribing sildenafil. Specialist notes are particularly important for payers that require cardiologist or pulmonologist sign-off.
- NDC lot number and quantity dispensed: The specific NDC of the product dispensed, quantity in hand, and date of dispense. This links the NDC on the claim to the product delivered.
- Advance notice for Medicare patients: A signed ABN, where the practice uses one. It confirms the patient understood Medicare would not pay for the drug.
A missing record from this list is the most common audit trigger for S0090 claims. A medical billing compliance review before an audit cycle usually turns up those missing records before they become recoupment demands.
Pro Tip
Run a quarterly audit of all S0090 claims submitted in the prior 90 days. Pull every claim flagged with a PAH diagnosis and confirm the PA number in Box 23 matches the approval on file. Missing PA numbers are the leading correctable denial for this code and take under five minutes per claim to fix on a resubmission.
How Pabau keeps S0090 claims tied to their prior authorization
Manual drug billing for S0090 means calculating units, checking PA status, attaching the NDC and choosing a modifier on every claim. Spread across several payers with different rules, the PA number is the detail most likely to drop off, and a CO-15 denial follows.
In Pabau, the practice records the prior authorization code, its dates and the approved sessions on the patient’s case. The system warns when an authorization is missing. Pabau’s claims management software then sends CMS-1500 and 837P claims to US payers through Claim.MD, with eligibility checks and ERA remittances in the same place.
For practices treating PAH patients across Medicaid and commercial plans, the authorization now sits next to the claim it belongs to. Your billing team sees a missing PA before submission instead of after a denial. That is how a claim that would have been resubmitted goes out as a clean claim the first time.
Keep every S0090 claim tied to its authorization
Pabau tracks prior authorization codes and dates on the patient’s case and warns when one is missing. US claims go out through Claim.MD, so fewer S0090 claims come back as CO-15 denials.

Conclusion
S0090 pays only where the diagnosis and the payer line up. A PAH claim to Medicaid or a commercial plan can pay when the PA number, the NDC and the units match the record. An ED claim to Medicare will not, however strong the documentation.
So settle the payer path before the drug is dispensed, not after the denial arrives. Check the plan’s formulary, secure the authorization, and bill Revatio’s 20 mg tablets by the payer’s own unit rule. A few minutes of checking up front costs far less than a denial, a corrected claim and an appeal.
Book a demo to see how Pabau keeps each prior authorization and its S0090 claims on the same patient case.
Continue your research
Need a broader framework for drug claim denials? Denial management in healthcare covers CARC and RARC code resolution workflows applicable across drug and procedure claims.
Billing sildenafil to Medicaid patients regularly? Medical billing compliance outlines the documentation standards that protect practices during payer audits.
Looking for the full picture on drug billing? What is medical billing explains how pharmacy and professional claims fit into the revenue cycle from prescription to payment.
Submitting a PA request for a PAH patient? Medical prior authorization form gives you a ready-made form for the clinical details payers ask for.
Billing another oral S-code drug? HCPCS code S0138 covers finasteride 5 mg, with the same per-unit and payer rules for non-Medicare drug claims.
Frequently asked questions
What does HCPCS code S0090 cover?
HCPCS code S0090 covers sildenafil citrate at 25 mg per billing unit. Medicaid programs and commercial payers use it to reimburse oral sildenafil for pulmonary arterial hypertension or, where covered, erectile dysfunction. Medicare does not pay S-codes, and Part D excludes sildenafil for ED by statute.
Is S0090 covered by Medicare?
No. S0090 is a non-Medicare S-code, so Medicare does not pay it for any indication. Part D excludes sildenafil for erectile dysfunction under Social Security Act Section 1860D-2(e)(2)(A). Part D plans may still cover sildenafil for PAH on a plan-specific formulary, through the pharmacy benefit rather than a CMS-1500 claim.
What is the correct unit of billing for S0090?
One unit of S0090 equals 25 mg of sildenafil citrate. Bill units based on the total milligrams dispensed divided by 25. A 30-day supply at 50 mg daily works out to 60 units (30 days x 2 units per day). Report units in Box 24G of the CMS-1500, and check the payer’s rule for Revatio’s 20 mg tablets.
Does S0090 require prior authorization?
Yes, prior authorization is typically required for S0090 when billing Medicaid or commercial payers for the pulmonary arterial hypertension indication. PA requirements vary by state Medicaid program and by individual plan. Submitting without an active PA approval number is the most common reason for CO-15 denials on S0090 claims.
What ICD-10 diagnosis codes support S0090 billing?
For PAH, use I27.0 (primary pulmonary hypertension) or I27.21 (secondary pulmonary arterial hypertension). For erectile dysfunction, use codes from the N52.x family (such as N52.01 or N52.9). The diagnosis code on the claim determines whether coverage applies, so accuracy is critical for avoiding CO-167 diagnosis-not-covered denials.
Can S0090 be billed in a physician office setting?
Yes, S0090 can be billed with place of service 11 (physician office) when the physician dispenses sildenafil directly. Specialty pharmacies typically use POS 01 (pharmacy). Confirm with the specific payer which place of service codes are accepted for S0090, as some payers limit professional drug billing to pharmacy settings only.



