HCPCS code S0148 – Pegylated interferon alfa-2b injection
S0148 is the HCPCS Level II code for injection, pegylated interferon alfa-2b, 10 mcg. Each billing unit equals 10 mcg, so a 50 mcg dose is reported as 5 units. Medicare Part B does not cover S-series codes, so S0148 claims go to Medicaid programs and commercial plans.
S0148 is often confused with S0145, which covers pegylated interferon alfa-2a (Pegasys). The two drugs are different molecules billed in different units, so the NDC on the dispensed vial decides the code.
- Level
- Level II
- Category
- S — Temporary national codes (non-Medicare)
- Code range
- S0012-S0197 Non-Medicare drug codes
- Billable
- No
- Code also known as
- PEG-IFN alfa-2b, SYLATRON injection, interferon alfa-2b biologic, PegIntron injection
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 S0148 covers pegylated interferon alfa-2b at 10 mcg per billable unit, used for adjuvant melanoma treatment and certain hepatitis C indications.
Medicare Part B fee-for-service does not cover S-series codes such as S0148. Bill Medicaid and commercial payers only.
Unit errors are the top denial trigger. Divide the prescribed dose by 10 mcg to get the units, so a 50 mcg dose is 5 units.
S0148 and S0145 are different drugs with different units, so the NDC on the dispensed vial decides which code goes on the claim.
Pabau’s claims management software keeps each prior authorization on the patient’s case and warns the team when one is missing.
What is HCPCS code S0148?
HCPCS code S0148 is a Level II HCPCS drug injection code covering pegylated interferon alfa-2b, billed per 10 mcg of drug administered or dispensed. It sits in the S-code series.
The Centers for Medicare & Medicaid Services designates S-codes for Medicaid agencies and commercial payers, not Medicare fee-for-service.
Pegylated interferon alfa-2b is a biologic agent. The pegylation extends the drug’s half-life, reducing dosing frequency compared to standard interferon. SYLATRON is the current FDA-approved brand. PegIntron was the earlier trade name for the same active compound, used in hepatitis C.
Official code descriptor and key details
The table below shows the reference data billing staff need before submitting an HCPCS code S0148 claim.
Clinical uses and medical necessity for pegylated interferon alfa-2b
Payers require a supported diagnosis to establish medical necessity before reimbursing HCPCS code S0148. Pegylated interferon alfa-2b has two FDA-approved indications that drive most claims.
They are treatment of chronic hepatitis C and adjuvant treatment of surgically resected stage III melanoma. A claim for any other indication needs documented clinical justification, or the payer will deny it.
Supported ICD-10-CM diagnosis codes
The ICD-10-CM codes below are the most commonly paired diagnoses for S0148 claims. Document the specific stage or genotype in the clinical notes so the payer can confirm the indication matches the drug dispensed.
Always use the most specific ICD-10-CM code available. “Malignant melanoma, unspecified site” should only appear when the primary site genuinely cannot be determined from the record.
Unit reporting: Calculating billable units correctly
The descriptor “per 10 mcg” means each billing unit equals 10 micrograms of pegylated interferon alfa-2b dispensed or administered. Divide the prescribed dose by 10 to get the number of units to report on the claim line.
Two unit errors come up again and again. One is reporting the number of vials dispensed instead of the mcg quantity. The other is reporting one unit regardless of dose, as if S0148 were a flat-fee injection line. Both trigger payer edits, so base units solely on the documented dose in the prescription or administration record.
Pro Tip
Cross-check the dispensed quantity on the pharmacy label against the clinical order before calculating units. Discrepancies between what was ordered and what was dispensed are a frequent audit flag on specialty biologics like SYLATRON.
NDC number requirements and crosswalk
Most Medicaid programs and many commercial payers require the National Drug Code to be reported alongside HCPCS code S0148 on the claim. The NDC identifies the exact drug product dispensed, confirms the drug matches the HCPCS descriptor, and supports rebate tracking under the Medicaid Drug Rebate Program.
On 837P electronic claims, report an 11-digit NDC with the N4 qualifier on the LIN segment. Add the unit of measure qualifier (UN for each) and the quantity dispensed. On paper CMS-1500 claims, the NDC appears in Box 24 as a narrative addendum, using the same N4/UN/quantity format.
- NDC format: 11 digits (5-4-2 format, no dashes on the claim)
- Qualifier: N4 on the 837P LIN segment
- Unit of measure: UN (units)
- Quantity: Total units of the specific package size dispensed
- NDC validity: Use the NDC from the vial dispensed, not from the SYLATRON package insert alone. NDCs can differ by vial size and kit configuration
An NDC that is expired, mismatched to the drug dispensed, or formatted with dashes will typically result in a claim edit or denial. Confirm the current valid NDC for SYLATRON against the FDA’s DailyMed database or the package label before each claim submission.
S0148 vs S0145: Knowing which code to use
S0148 covers pegylated interferon alfa-2b (SYLATRON/PegIntron). S0145 covers pegylated interferon alfa-2a (Pegasys, made by Roche/Genentech).
These are different molecular entities with different FDA-approved indications and dosing units. Billing S0148 when alfa-2a was dispensed, or the reverse, is a coding error however similar the drugs look clinically.
The NDC crosswalk is the fastest way to confirm the correct code. Each brand has its own NDC range, and NDC-to-HCPCS mapping tables link SYLATRON NDCs to S0148 and Pegasys NDCs to S0145.
Payer coverage: Medicare, Medicaid and commercial plans
Medicare Part B fee-for-service does not cover HCPCS code S0148. The S-series was established for Medicaid and commercial payers, and CMS excludes S-codes from the Medicare Physician Fee Schedule. A claim sent to traditional Medicare is denied, and an appeal on coverage grounds alone will not reverse it.
For Medicare Advantage patients, request the plan’s formulary and obtain confirmation that it accepts S-series HCPCS codes before dispensing. Billing on the strength of a patient’s Medicare card leads to unrecoverable denials once the drug has been administered.
Prior authorization requirements for S0148
Many Medicaid programs and commercial plans require prior authorization before reimbursing HCPCS code S0148, given the drug’s cost and specialty-pharmacy dispensing requirements. While specific triggers vary by payer, the documentation package is fairly consistent across plans.
Typical PA documentation required for S0148 includes:
- Diagnosis confirmation: Pathology report or staging documentation for melanoma; viral load and genotype for hepatitis C
- Prescriber information: Ordering physician’s NPI and specialty
- Prior treatment history: Evidence of step therapy where required (some plans mandate specific first-line agents before approving interferon)
- Clinical notes: Chart notes supporting the FDA-approved indication, not off-label use
- Drug-specific details: Prescribed dose, frequency, and duration of therapy
Submit the PA request before dispensing. Most commercial payers deny retroactive authorization requests, and most Medicaid programs do not permit them once the drug has been administered.
Good medical billing compliance protocols for specialty injectables build the prior auth step into dispensing, so billing never has to chase it afterward.
2026 fee schedule and reimbursement rates
HCPCS code S0148 does not appear on the CMS Medicare Physician Fee Schedule because Medicare does not cover S-codes. Reimbursement rates for S0148 are set independently by each Medicaid program and commercial payer, and they vary significantly by state and plan contract.
To find current 2026 allowable amounts for HCPCS code S0148, use these sources:
- Medicaid: Check your state Medicaid agency’s fee schedule file, typically published annually. Most states publish HCPCS drug code reimbursement as Average Manufacturer Price (AMP) or Average Wholesale Price (AWP) minus a discount percentage.
- Commercial payers: Rates are contract-specific. Request the payer’s current drug fee schedule through the provider portal or contracting department.
- CMS reference: The CMS Physician Fee Schedule search tool confirms which codes have Medicare coverage. Checking that S0148 is excluded helps prevent misdirected claim submissions.
- HCPCS code lookup: The AAPC HCPCS code directory provides code descriptor verification and crosswalk data for 2026.
Never quote a single dollar figure as the universal rate for S0148. A team that gives patients a fixed allowable before confirming the contracted rate creates a collection problem when the payer pays a different amount.
Common denial reasons and prevention
HCPCS code S0148 has a predictable denial pattern, and three checks before submission prevent most of it. The chart below runs them in order: payer, then drug, then units.

The table maps each denial reason to its root cause and the corrective action that clears it.
Structured denial management strategies for specialty biologics start with logging every reason code. A repeat pattern shows whether the fault sits in the workflow (NDC format, unit math) or in coverage (wrong payer, expired PA). Our reference to denial codes explains what each code a payer returns means.
Documentation checklist before submitting claims
Use this checklist before submitting any claim for HCPCS code S0148. Each item corresponds to a denial category from the section above. Missing even one element can stall payment on a high-cost specialty drug claim.
- Correct code confirmed: Dispensed drug is pegylated interferon alfa-2b (SYLATRON or PegIntron), not alfa-2a (Pegasys). If alfa-2a, use S0145
- Units calculated correctly: Reported units equal prescribed dose in mcg divided by 10
- NDC appended: 11-digit NDC reported in N4/UN format; NDC matches the vial dispensed; no hyphens
- Prior authorization on file: PA reference number obtained before dispense; authorization covers the prescribed dose and duration; number included on claim
- Supporting ICD-10 documented: Clinical record shows either stage III melanoma (adjuvant indication) or chronic hepatitis C with appropriate genotype and viral load data
- Payer eligibility confirmed: Patient’s plan accepts S-series HCPCS codes; not Medicare Part B FFS
- Prescriber information complete: Ordering physician NPI and specialty match the PA on file
For the wider picture of how a claim moves from code entry to payment, our guide to medical billing covers the full revenue cycle.
Pro Tip
Run a quarterly audit of your S0148 claim submissions specifically for NDC validity. SYLATRON vial configurations and NDC numbers can change with manufacturer updates. An NDC that was valid six months ago may no longer match the product your specialty pharmacy is currently dispensing.
How claims management software prevents S0148 denials
S0148 denials usually start with a manual step. Someone types a unit count from a vial label, or a PA number sits in an email. Sometimes the claim goes to a payer that never covers S-codes.
Pabau, the practice management platform we build, keeps the prior authorization on the patient’s case. The auth code, dates and approved sessions sit there, and Pabau warns the team when one is missing. Its claims management software then sends 837P claims through the Claim.MD clearinghouse, with eligibility checks before the visit.
Lot numbers and expiry dates are recorded against the patient and the appointment, so the vial behind each claim line is on file. Remittances come back as ERAs against the same patient record, and the team sees a denial without waiting for month-end reconciliation.

Catch S0148 denials before the claim goes out
Pabau keeps each prior authorization on the patient’s case and submits claims through the Claim.MD clearinghouse. Your team sends specialty drug claims with the paperwork already in place.

Conclusion
S0148 pays reliably once three facts are settled before the drug is dispensed. Confirm the plan accepts S-codes, read the NDC to rule out Pegasys, and divide the documented dose by 10.
Each of those checks costs more to skip than to run. A Medicare denial or a missing PA rarely gets recovered after the injection. That is why the checks belong in the dispensing workflow, ahead of the billing queue.
A clean claim on S0148 is mostly preparation. Book a demo to see how Pabau keeps prior authorizations and claim submission in one place for specialty drug billing.
Continue your research
Want to understand how the revenue cycle connects billing to payment? What is revenue cycle management covers the end-to-end process from eligibility verification through remittance posting.
Looking for guidance on electronic claim formats for drug codes? 837 file guide details how NDC and HCPCS data map into the 837P claim transaction for Medicaid and commercial payers.
Frequently asked questions
What does HCPCS code S0148 cover?
HCPCS code S0148 covers injection, pegylated interferon alfa-2b, billed per 10 mcg of drug dispensed or administered. It applies to the brand SYLATRON and the prior brand PegIntron. The drug is used for adjuvant treatment of resected stage III melanoma and for chronic hepatitis C.
What is the difference between S0148 and S0145?
S0148 covers pegylated interferon alfa-2b (SYLATRON, PegIntron), while S0145 covers pegylated interferon alfa-2a (Pegasys). These are different molecular entities with different brands, manufacturers, and primary indications. Select the code based on which drug was dispensed, confirmed by the NDC on the package label.
Does Medicare cover HCPCS code S0148?
No. Medicare Part B fee-for-service does not cover HCPCS code S0148 because S-series codes are explicitly excluded from the CMS Physician Fee Schedule. Some Medicare Advantage (Part C) plans may accept S-codes depending on their formulary, but this must be confirmed with the specific plan before dispensing.
How many units should be reported for S0148?
Report units equal to the prescribed dose in micrograms divided by 10 (since the descriptor covers 10 mcg per unit). A 50 mcg dose is 5 units, and an 80 mcg dose is 8 units. Never report units as the number of vials dispensed or as a flat 1 unit per injection.
Does S0148 require prior authorization?
Yes, most Medicaid programs and commercial payers require prior authorization for S0148. Required documentation typically includes the confirmed diagnosis with staging or genotype data, plus the prescriber NPI. Payers also want clinical notes supporting the FDA-approved indication, and prior treatment history where step therapy applies. Submit the PA request before dispensing.
What NDC number is used with HCPCS S0148?
The NDC must match the vial dispensed. SYLATRON NDC numbers vary by vial size and product configuration. Confirm the current valid NDC against the package label or the FDA’s DailyMed database before each claim submission. Report in 11-digit format with the N4 qualifier on the 837P claim, with no hyphens.
What ICD-10 codes support S0148 medical necessity?
For the melanoma indication, the primary supporting diagnosis is C43.9 (malignant melanoma, unspecified site) or a site-specific C43.x code. For hepatitis C, use B18.2 (chronic viral hepatitis C) or B19.20 (unspecified viral hepatitis C). Use the most specific code supported by the clinical documentation.



