HCPCS code S0179 – Megestrol acetate oral 20 mg
S0179 is the HCPCS Level II code for megestrol acetate, oral, 20 mg.
One unit is one 20 mg dose, so a 160 mg daily dose bills as 8 units. S0179 is a temporary S-series code, accepted by Medicaid programs and commercial payers but never by Medicare. Every claim line carries the 11-digit NDC with the N4 qualifier.
- Code range
- S0000-S9999 Temporary national codes (non-Medicare)
- Category
- S0012-S0197 Non-Medicare Drug Codes
- Status
- Active
- Billable
- No
- Code also known as
- Megace, megestrol, oral appetite stimulant, progestin appetite stimulant
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 S0179 covers megestrol acetate, oral, 20 mg, a progestin prescribed to stimulate appetite and restore weight.
Medicare does not recognize S-codes, so S0179 is billed only to Medicaid programs and commercial payers.
One unit is one 20 mg dose, so a 160 mg daily dose bills as 8 units of S0179.
FDA approval covers the oral suspension for AIDS-related weight loss and the tablet for advanced breast or endometrial cancer.
Every claim line needs the 11-digit NDC attached with the N4 qualifier, or the payer rejects it.
What is HCPCS Code S0179?
HCPCS Code S0179 is a Level II HCPCS code for megestrol acetate administered orally at 20 mg per billed unit. It sits in the S-code series, a set of temporary non-Medicare codes that CMS maintains for Medicaid programs and commercial insurers. An S-code exists where a drug or service has no permanent J-code or other HCPCS assignment.
S0179 remains active for the 2026 billing year. CMS reviews code status annually, so confirm validity before the first claim of each year. The AAPC HCPCS code lookup is a searchable reference for current status and descriptor wording.
S0179 megestrol acetate: Drug description and drug class
Megestrol acetate is a synthetic progestin, a progesterone derivative, prescribed to stimulate appetite and promote weight gain. Under S0179 the billing unit is each 20 mg oral dose dispensed. Megace is the brand name, though generic tablets are dispensed far more often.
Megestrol acetate tablets are dispensed at 20 mg and 40 mg, and daily doses often reach 160 mg. The 20 mg descriptor is specific, so a 40 mg tablet billed as one unit understates the dose and invites a post-payment audit.
Bill 2 units for each 40 mg tablet, and 8 units for a 160 mg daily dose. The chart note records the strength actually dispensed.

Clinical uses of megestrol acetate (S0179)
Megestrol acetate is prescribed mainly to stimulate appetite and restore weight in patients with disease-related cachexia or anorexia. Approval status differs by formulation, and payers read it that way, so the chart has to connect the prescription to the condition being treated.
- AIDS-related anorexia, cachexia, and weight loss: FDA-approved. The approval sits with the oral suspension, which is the formulation the labeling covers.
- Advanced breast or endometrial cancer: FDA-approved. The oral tablet is labeled for palliative treatment of advanced carcinoma of the breast or endometrium.
- Cancer cachexia and anorexia: Off-label. Megestrol acetate is widely prescribed for weight loss in solid tumors and hematologic malignancies, without an FDA indication for it.
- Palliative and supportive care: Off-label. Prescribed in hospice and palliative oncology to lift caloric intake and quality of life.
Off-label prescribing is not automatically uncovered, but it does raise the evidentiary bar. Name the indication precisely in the note. “Appetite stimulation in a patient with lung cancer-related anorexia” defends far better at audit than “nutritional support”.
Payers also scrutinize megestrol acetate because it gets used as a weight-gain agent outside oncology, which almost no commercial plan covers.
Payer coverage: Medicare, Medicaid, and commercial insurance
Medicare does not cover HCPCS Code S0179 under any circumstance. S-codes are designated for non-Medicare payers, and CMS excludes the whole S-series from Medicare reimbursement, Part D included.
Check eligibility before dispensing so S0179 never reaches a Medicare primary. Where the patient is dually eligible, confirm Medicare’s non-coverage and bill Medicaid directly.
Prior authorization is the second-biggest denial driver for S0179, behind billing Medicare by mistake. A real-time eligibility check settles both questions before the patient leaves with the drug.
2026 fee schedule and reimbursement rates for S0179
No CMS national rate applies to S0179, because Medicare does not reimburse S-codes. Rates come from state Medicaid fee schedules and from commercial payer contracts, and they vary widely.
Pull the current schedule from your state Medicaid portal or your contract, then audit it once a year. State schedules update on cycles that do not track the federal fiscal year.
The CMS Physician Fee Schedule lookup tool returns no rate for S0179, which confirms Medicare non-coverage. Save the search result if a payer ever asks for evidence of Medicare’s position.
Pro Tip
Pull your state Medicaid fee schedule for S0179 at the start of each calendar year and save it to your billing reference folder. Medicaid rates for oral oncology drugs shift with state budget cycles, and an outdated allowed amount in your billing system creates silent under-billing.
Billing guidelines for HCPCS S0179
Billing S0179 correctly comes down to four things: units, the NDC, place of service, and documentation. Miss one and the claim comes back. Pabau is practice management software for US practices.
Its medical claims management handles HCPCS drug-code lines, the NDC qualifier field, and payer-specific submission rules in one workflow.

- Set units correctly. Each unit of S0179 equals 20 mg of megestrol acetate. A 160 mg daily dose bills as 8 units. Document the dispensed quantity in the chart note.
- Attach the NDC using the N4 qualifier. Most Medicaid and commercial payers require the NDC on a drug claim line. Use the 11-digit NDC in 5-4-2 format. The N4 qualifier precedes the number on the 837P claim or in CMS-1500 box 24. Confirm the NDC with your pharmacy dispensing system at the time of billing.
- Select the correct place of service. S0179 is an oral drug dispensed in outpatient settings. Common codes are 11 (office), 19 (off-campus outpatient hospital), and 22 (on-campus outpatient hospital). Hospice dispensing may use place of service 34.
- Document medical necessity. The chart must support the indication and carry the prescriber’s rationale. Link the claim to a supporting ICD-10-CM code on the diagnosis line.
- Check prior authorization requirements. Many Medicaid managed care plans and commercial insurers require prior authorization for megestrol acetate. A missing authorization is the most common reason S0179 claims are denied outright.
- Submit electronically through the 837P. Electronic submission cuts transcription errors on the NDC qualifier line. Paper CMS-1500 claims still need the NDC in the shaded portion of box 24.
Claims that clear those six checks rarely come back. Denials on S0179 cluster into three causes: the wrong payer, a missing NDC, and a missing prior authorization. Build the pre-submission checklist around those three.
NDC crosswalk: Matching S0179 to National Drug Codes
An NDC crosswalk maps a National Drug Code, the manufacturer-specific 11-digit identifier printed on each package, to the HCPCS code it bills under.
For S0179, every 20 mg megestrol acetate product dispensed needs its NDC on the claim line. The crosswalk step confirms which NDC belongs to which brand or generic product. That keeps a 40 mg or 625 mg/5 mL suspension NDC off an S0179 claim.
NDC codes are manufacturer-specific and change when packaging or a lot changes. Pull the NDC from the product actually dispensed rather than from a static crosswalk table. Your pharmacy dispensing system or wholesaler portal is the most current source.
A rejected NDC usually returns CARC 16 or 97 on the remittance advice. For drug codes, a clean claim starts with NDC verification before submission.
Related HCPCS codes for megestrol acetate and similar drugs
Several codes sit close to S0179, either for the same drug in another form or for drugs used in the same patient group. Billing the wrong one is a compliance problem and a payment problem at once, so match the code to the product dispensed.
S0180 is often assumed to be the 160 mg version of this drug. It never was. S0180 described an etonogestrel contraceptive implant system, and it was deleted effective 1 January 2008.
No HCPCS code covers oral megestrol acetate at 160 mg, so a 160 mg daily dose bills as 8 units of S0179. That follows the same math that makes a 40 mg tablet 2 units.
S-codes vs. J-codes: Understanding the difference for drug billing
S-codes and J-codes both describe drugs in HCPCS Level II, but they serve different payers and follow different acceptance rules. Confusing the two causes more S0179 denials than any other single error.
Megestrol acetate has no permanent J-code for its oral form. The J8xxx series covers several oral oncology drugs, including capecitabine, imatinib and lenalidomide, but megestrol acetate as an appetite stimulant was never added to it.
Do not substitute J8999, the not-otherwise-specified oral drug code, when billing Medicaid or most commercial plans. The payer expects the specific S-code and can deny J8999 for a drug that already has one.
Pro Tip
Build a payer-specific drug code matrix for your top five payers. For each drug you dispense regularly, log whether the payer accepts S-codes, requires NDC attachment, and mandates prior authorization. Review it quarterly, because commercial plan policies change faster than most billing teams expect.
How Pabau keeps S0179 claims clean before submission
An S0179 error usually surfaces after the remittance advice arrives. The claim went to Medicare, the NDC line was blank, or the unit count did not match the strength dispensed. Each one costs a rework cycle, and none of them was visible at the moment the claim went out.
Pabau keeps the payer, the drug code and the claim line in the same record as the encounter. The person billing S0179 works from the strength recorded at the visit, not from a separate spreadsheet. The NDC qualifier field sits on the claim line instead of in a coder’s memory. Payer-specific submission rules apply before the claim is sent.
For a practice dispensing megestrol acetate across Medicaid and several commercial plans, that shortens the path from dispensing to payment. It also keeps the three known S0179 denial causes off the worklist.
Submit drug-code claims without the rework
Pabau keeps HCPCS drug codes, NDC numbers and payer rules in one billing workflow, so S0179 claims leave your practice complete the first time.
Conclusion
S0179 is a narrow code with three predictable failure points. Send it to Medicare and it is denied. Leave the NDC off and it is rejected. Miscount the units against the strength dispensed and it is repriced or audited.
Run those three checks before submission rather than after. Confirm the payer is not Medicare, attach the NDC with the N4 qualifier, and convert the dispensed strength into 20 mg units. A 160 mg daily dose is 8 units, and no separate code replaces that arithmetic.
Keeping those checks inside the billing workflow, rather than on a reference sheet, is what stops the same three denials recurring. Book a demo to see how S-code and J-code drug claims are handled in one place.
Continue your research
Need to understand how drug claim denials are categorized? Denial codes in medical billing breaks down CARC and RARC codes returned on remittance advice for rejected drug claims.
Want to build a cleaner claims submission process? What makes a clean claim covers the pre-submission checks that reduce denial rates across HCPCS drug codes.
Exploring how medical billing software supports S-code workflows? Medical billing software options for US practices compares platforms on drug-code claim handling, NDC attachment, and payer routing.
Frequently asked questions
What is HCPCS Code S0179 used for?
HCPCS Code S0179 bills megestrol acetate administered orally at 20 mg per unit. It is prescribed mainly as an appetite stimulant in cancer cachexia and AIDS-related wasting. It is a Level II S-series code accepted by Medicaid and commercial payers but not covered by Medicare.
Does Medicare cover HCPCS Code S0179?
No, Medicare does not cover HCPCS Code S0179. S-series codes are temporary codes designated for non-Medicare payers, and CMS explicitly excludes them from Medicare fee-for-service and Medicare Part D reimbursement. Bill Medicare-primary patients to their secondary payer (such as Medicaid) where applicable.
Is S0179 covered by Medicaid?
Most state Medicaid programs do cover S0179, but coverage rules and reimbursement rates vary by state. Some Medicaid managed care organizations also require prior authorization for megestrol acetate. Always verify with your specific state Medicaid fee schedule or managed care plan before submitting a claim.
What is the 2026 fee schedule rate for S0179?
No national CMS rate exists for S0179 because Medicare does not cover S-codes. Rates are set by individual state Medicaid programs and commercial payer contracts. Check your state Medicaid provider portal or your commercial payer’s remittance data for current 2026 allowed amounts for S0179.
What are the NDC codes associated with S0179?
S0179 maps to NDC codes for megestrol acetate oral tablets at 20 mg. Specific NDCs vary by manufacturer and change over time. Always pull the NDC from the dispensed product at the time of billing, using your pharmacy dispensing system. Attach the NDC using the N4 qualifier in 11-digit 5-4-2 format on the claim line.
What is the difference between S-codes and J-codes for drug billing?
S-codes are temporary HCPCS Level II codes for drugs and services without a permanent code assignment. They are used by non-Medicare payers, and Medicare rejects all of them. J-codes are permanent HCPCS codes that Medicare recognizes for injectable and some oral oncology drugs. Megestrol acetate oral 20 mg uses an S-code (S0179) because no permanent J-code covers that specific oral formulation for appetite stimulation.
How do I bill megestrol acetate 20 mg on a claim?
Use HCPCS Code S0179, billing one unit per 20 mg dispensed. Attach the product NDC using the N4 qualifier in 11-digit format on the 837P electronic claim or in the shaded box 24 of the CMS-1500. Link an appropriate ICD-10-CM diagnosis code supporting the indication, such as cancer cachexia or AIDS-related anorexia. Confirm prior authorization where the payer requires it, and never bill Medicare.