Disclaimer :
This guide is educational and reflects RCM Finder’s operational billing experience. It is not individualized coding, legal, or compliance advice — verify code selection and payer policy against current CMS and payer guidance, or your practice’s own coding compliance program, before submission.
Reviewed by:
[Awais Afzal, Healthcare Operations & Data Analyst, RCM Finder]
Published:
July 8, 2026 ·
Last reviewed:
September 8, 2026
Applicable code year:
Applicable to 2026–27 season coding guidance & Next scheduled review: 5 January 2027 (CPT 2027 code cycle).
There is no single CPT code for the RSV vaccine. Adults and pregnant patients get a vaccine — 90678, 90679, or 90683, billed with standard immunization administration and Z23. Infants get a monoclonal antibody — 90380, 90381, 90382, or 90378, billed with 96380, 96381, or 96372 and Z29.11. Mixing the two pathways is what denies the claim.
It sits inside our medical coding library covering ICD-10, CPT and modifiers, alongside companion guides to billing CPT code 99203 correctly and avoiding upcoding in medical billing.
What Is the CPT Code for RSV Vaccine?
Every RSV immunization claim carries three codes that have to agree with one another, and the product you gave decides all three. Get the product code right and the other two follow. Get it wrong and the payer rejects the line even though the clinical care was correct.
- Product code — identifies the vaccine or antibody itself
- Administration code — pays your staff for giving it
- Diagnosis code — Z23 for a vaccine, Z29.11 for an antibody
The table below reflects the code set CDC published for the 2026-27 respiratory season and the coding guidance the American Academy of Pediatrics published on 2 September 2026.
| Product | Type | Product CPT | Dose | Administration CPT | ICD-10 |
|---|---|---|---|---|---|
| Abrysvo (Pfizer) | Vaccine | 90678 | Adults and pregnancy | 90471, +90472 | Z23 |
| Arexvy (GSK) | Vaccine | 90679 | Adults | 90471, +90472 | Z23 |
| mResvia (Moderna) | Vaccine, mRNA | 90683 | Adults | 90471, +90472 | Z23 |
| Beyfortus (Sanofi) | Monoclonal antibody | 90380 | 0.5 mL / 50 mg | 96380 or 96381 | Z29.11 |
| Beyfortus (Sanofi) | Monoclonal antibody | 90381 | 1 mL / 100 mg — 2 units for the 200 mg second-season dose | 96380 or 96381 | Z29.11 |
| Enflonsia (Merck) | Monoclonal antibody | 90382 | 0.7 mL / single seasonal dose | 96380 or 96381 | Z29.11 |
| Synagis (palivizumab) | Monoclonal antibody | 90378 | Monthly, per 50 mg | 96372 | Z29.11 |
Sources: CDC, Fall Season Respiratory Vaccine Codes (last updated 15 April 2026); American Academy of Pediatrics, Coding & Payment for RSV Immunizations (updated 2 September 2026).
Before your season volume peaks, pull the last 30 days of immunization claims and check whether any carry 90471 alongside a 903xx antibody code. The Free Audit starts with exactly that pull and maps where claims are leaking, before you change anything in your current workflow.
Why Isn’t the Beyfortus CPT Code a Vaccine Code?
Nirsevimab is a monoclonal antibody, not a vaccine. It gives an infant ready-made antibodies rather than prompting the immune system to build its own. CPT reflects that biology: the product codes sit outside the vaccine range, and the administration codes are 96380 and 96381 rather than the immunization administration codes your staff use all day.
The dose determines the product code. A 50 mg dose in 0.5 mL is 90380. A 100 mg dose in 1 mL is 90381.
The 200 mg second-season dose is given as two 1 mL syringes, and the AAP instructs practices to report 90381 with two units when 2 mL is administered. A practice reporting one unit for that dose is billing half the product it bought.
The administration code turns on counseling, not on who pushes the syringe. Report 96380 when a physician or other qualified health care professional discusses the risks and benefits with the family on the date of administration. Report 96381 when that counseling did not happen that day.
The American Academy of Pediatrics is explicit about the codes that do not apply here: “Do not report immunization administration codes 90460-90461 or 90471-90472 for the administration of RSV immunization, as these codes are limited to administering vaccine and toxoid products.” The diagnosis code follows the same logic. Use Z29.11, encounter for prophylactic immunotherapy for RSV, not Z23, which is reserved for vaccines.

“The expensive vaccine claims aren’t the complicated ones. They’re the routine ones, billed with a vaccine administration code on a product that isn’t a vaccine.”
[Awais Afzal, Healthcare Operations & Data Analyst, RCM Finder]
What Is the ENFLONSIA CPT Code?
Clesrovimab, marketed as Enflonsia by Merck, entered the code set as CPT 90382, described as a respiratory syncytial virus monoclonal antibody, seasonal dose, 0.7 mL, for intramuscular use. Its CVX code is 332. It uses the same administration codes as nirsevimab, 96380 and 96381, and the same Z29.11 diagnosis.
The practical difference is dosing. Nirsevimab is weight-based, so its product code changes with the infant’s weight. Clesrovimab is a single 0.7 mL seasonal dose, so 90382 is reported at one unit regardless of weight — if a 90382 line denies, the problem is almost never the product code.
What Does One Miscoded Vaccine Claim Actually Cost?
More than the vaccine’s margin. HFMA reported in August 2024, citing Premier Inc.’s claims analysis, an average cost of $47.77 to work a denied Medicare Advantage claim and $63.76 for a commercial one. Premier’s own all-payer figure for 2023 was $57.23 per claim, up 30.5% from $43.84 a year earlier.
On a vaccine line paying a modest administration fee, two rounds of rework can cost more than the claim is worth.
The volume behind that is the real problem. MGMA’s DataDive Practice Operations data put the median first-submission denial rate for physician practices at 8% in 2023 — that is, 8% of claims rejected before a single dollar moves.
The Optum 2024 Revenue Cycle Denials Index, built on 124 million remittance records — the payment advices that tell you what a payer actually paid — from more than 1,400 hospitals, found that 84% of denials were potentially avoidable and that 22% of avoidable denials were never recoverable at all. Money lost at that stage is not delayed. It is gone.
The leading causes are administrative, not clinical, which is why immunization claims are so exposed.

Registration and eligibility alone drives nearly a quarter of denials, and it rose from 21.12% the year before. For a vaccine claim, eligibility failure usually means one thing: the plan was never checked for whether this immunization is a medical benefit or a pharmacy benefit.
Which immunization coding errors actually cost the most?
Three patterns account for most miscoded RSV and flu lines. None of them is a hard case, and all three are catchable before the claim leaves the building.
- The wrong administration code on the right product. A 903xx antibody billed with 90471 or 90460. The product line pays, the administration line denies, and your staff time on the visit goes unpaid.
- The right code sent to the wrong benefit. An adult RSV vaccine billed to Medicare Part B instead of routing through Part D. The coding is clean; the destination is wrong.
- The second-season dose billed short. A 200 mg nirsevimab dose reported as one unit of 90381 rather than two.
In our billing team’s experience the third one is the most expensive, because it is the only one that never denies. The claim pays, the remit looks normal, and the practice is simply paid for half the product it bought. No denial report will ever show it — the gap appears only when you reconcile doses administered against units billed, which is why that reconciliation is recommendation five below.
Run the same arithmetic against your own numbers. Multiply your monthly immunization claim volume by your denial rate, then by $57.23 in rework cost. The 60-second healthcare revenue calculator does it for you and needs no account setup.
What Is the CPT Code for RSV Vaccine for Adults?
For adults, bill 90678 for Abrysvo, 90679 for Arexvy, or 90683 for mResvia, each with standard immunization administration and Z23. Then check the payer before you submit, because with Medicare the product code is rarely what breaks the claim. The benefit routing is.
Why does Medicare deny our adult RSV vaccine claims?
Because RSV is not a Part B benefit. CMS states plainly that Part D plans cover all commercially available vaccines except those Part B covers, and it names RSV as a Part D vaccine alongside shingles and Tdap (MLN908764, July 2026). Bill it to the Part B medical benefit and it denies every time, no matter how clean the coding is.
Medicare Part B covers only four preventive vaccines:
- Influenza
- Pneumococcal
- Hepatitis B, for intermediate and high-risk patients
- COVID-19
RSV is not on that list, so the claim has to route through the patient’s Part D pharmacy benefit instead.
Eligibility is the second trap. CDC recommends RSV vaccination for all adults 75 and older, and for adults 50 to 74 at increased risk of severe RSV disease. Critically, this is not an annual vaccine: CDC states that adults who already received a dose, including last year, should not receive another at this time. A repeat dose will not be paid as a preventive service.
Uptake leaves room to grow, which matters if your practice is planning volume. CDC’s MMWR reported RSV vaccination coverage of 39.7% among adults 75 and older and 31.6% among adults 60-74 at increased risk as of early November 2024, the most recent hard figures CDC has published.
Which CPT Code Applies to the RSV Vaccine in Pregnancy?
The CPT code for RSV vaccine in pregnancy is 90678, the same Abrysvo product code used for older adults. Only Abrysvo is indicated in pregnancy; Arexvy and mResvia are not. The administration code and Z23 diagnosis are unchanged, so nothing about the claim’s structure differs.
What differs is the timing rule the claim has to survive. CDC recommends a single dose during weeks 32 through 36 of pregnancy. A dose outside that window is a coverage question, not a coding one, so check eligibility the same day rather than appealing later. The infant is then protected by either the maternal dose or an antibody after birth, so billing both without documentation invites a duplicate-therapy review.
Which Flu Vaccine CPT Codes Changed for 2026-27?
Two additions matter most for 2026-27: mFLUSIVA, Moderna’s mRNA influenza vaccine, at 90616, and FluMist Trivalent at 90660. Neither appears in a code list built before this season. The high-dose flu vaccine CPT code is unchanged at 90662, and influenza codes stay product-specific — the code follows the vial, not the patient.
A claim scrubber is the rules engine that checks claims for errors before they go out. If yours dates from two seasons ago it does not recognise either new code, and CDC’s list below is what you rebuild it from.
| Product | Manufacturer | CVX | CPT |
|---|---|---|---|
| Fluzone High-Dose | Sanofi | 135 | 90662 |
| FLUAD (adjuvanted) | Seqirus | 168 | 90653 |
| FLUARIX | GlaxoSmithKline | 140 | 90656 |
| FLULAVAL | ID Biomedical | 140 | 90656 |
| Fluzone Trivalent | Sanofi | 140 / 141 | 90656 / 90658 |
| Flucelvax | Seqirus | 153 | 90661 |
| FLUBLOK Trivalent | Sanofi | 155 | 90673 |
| FluMist Trivalent | MedImmune | 111 / 333 | 90660 |
| mFLUSIVA | Moderna | 338 | 90616 |
Source: CDC, Fall Season Respiratory Vaccine Codes, 2026/2027 season, last updated 15 April 2026.
The high-dose flu vaccine CPT code is 90662, and it is worth isolating in your reporting. It carries a materially higher acquisition cost than a standard-dose vial, so a mis-keyed 90656 on a Fluzone High-Dose administration does not just underpay, it makes your vaccine inventory reconcile incorrectly at the end of the season.
Coverage context for planning: CDC’s FluVaxView put 2024-25 influenza vaccination coverage at 63.8% for adults 65 and older and 41.9% for adults 18 and older.
Which Administration Code Does Medicare Actually Pay?
Not 90471. For Part B preventive vaccines, Medicare uses HCPCS G-codes instead of the CPT immunization administration codes, and a claim submitted with 90471 to Medicare Part B will not pay. Commercial payers continue to take 90471 and add-on 90472 as normal.
| Immunization | Medicare Part B | Commercial / non-Medicare |
|---|---|---|
| Influenza | G0008 | 90471, +90472 |
| Pneumococcal | G0009 | 90471, +90472 |
| Hepatitis B (at-risk) | G0010 | 90471, +90472 |
| COVID-19 | 90480 | 90480 |
| RSV vaccine (adult) | Not a Part B benefit — routes to Part D | 90471, +90472 |
| RSV monoclonal antibody | 96380 or 96381 — never 90460, 90461, 90471 or 90472 | |
| In-home administration add-on | M0201 | Not applicable |
Sources: CMS Medicare Claims Processing Manual, Chapter 18; CMS MLN908764, Medicare Part D Vaccines (July 2026); AAP, September 2026.
One code correction worth making explicitly, because it circulates in billing forums: G0010 is hepatitis B administration, not COVID-19. COVID-19 administration is 90480 for Medicare and commercial payers alike, following the AMA’s consolidation of more than fifty product-specific COVID administration codes into one.
If your practice bills a meaningful Medicare panel, this table is worth checking against your fee schedule build tonight. A Free Audit reviews your last 30 days of claims against the current payer rules and shows you which lines are being routed to the wrong benefit.
Expert Recommendations for the CPT Code for RSV Vaccine
Five steps that reduce immunization denials before they happen. The first four require no vendor, no new software, and no contract — they are calendar discipline and a written rule. Each carries a specific cadence or threshold, because advice without a date attached does not survive a busy September.
1. Run a denial-reason-code report every month, sorted by dollars, not by count
Pull denials for your 903xx and 96xxx lines monthly and rank the top five reason codes by dollar volume. A code that denies twenty times at $18 matters less than one that denies three times at $310. Fix in dollar order.
2. Rebuild your scrubber’s vaccine edit list before 1 October, every year
Set a hard annual date. Load the current CDC fall respiratory code set, retire codes for products you no longer stock, and add every new one. For the 2026-27 season that means confirming 90382, 90616, and 90660 exist in your build.
3. Add a benefit-routing check to your immunization intake, not your billing queue
For any adult RSV vaccine, verify at scheduling whether the plan covers it as a medical or pharmacy benefit. This one check addresses the largest denial category in the data at 24.33%. Catching it at the front desk costs minutes; catching it at the remit costs $57.23.
4. Make the vaccine-versus-antibody distinction a documented rule, not tribal knowledge
Write one page: antibodies get 96380 or 96381 and Z29.11, vaccines get 90471 and Z23, Synagis gets 96372. Post it where doses are drawn. Re-read it with staff each September, and any time a new product enters the code set.
5. Reconcile administered doses against billed units weekly during season
Compare doses pulled from inventory against units billed every Friday from September through January. The 200 mg nirsevimab dose reported as one unit of 90381 instead of two is invisible on a claim report and obvious on an inventory reconciliation.
If working through these five steps surfaces a gap you can’t size, that is exactly what the Free Audit quantifies, at no cost and no commitment.
How RCM Finder Supports Immunization Billing
RCM Finder is an RCM analytics and workflow automation platform. For immunization billing specifically, that means claim scrubbing tuned to the current seasonal code set, denial management on the 903xx and 96xxx lines, and dashboards in our own practice management system that show which products and which payers are actually paying.
Role-Based Access
Own Practice Management System
PrognoCIS
eClinicalWorks
Athenahealth
Trust architecture: a signed Business Associate Agreement, role-based access, encrypted connections, real-time reporting in our own practice management system reporting, and confirmed integration with PrognoCIS, eClinicalWorks, and Athenahealth.
Questions about a specific claim, or want a second opinion on a denial? Talk to a person:
hello@rcmfinder.com · +1 (302) 5562288 · 124 Broadkill Road, Milton, DE 19968 · Contact us

The Bottom Line
There is no single CPT code for the RSV vaccine, and treating it as one generates the denials. Vaccines take 90678, 90679, or 90683 with standard administration and Z23. Antibodies take 90380, 90381, 90382, or 90378 with 96380, 96381, or 96372 and Z29.11. Medicare splits it again: G-codes for Part B, Part D routing for adult RSV.
Every one of these is a rule your scrubber can enforce before a claim leaves the building, which is the only place a $57.23 rework cost is actually avoidable.
If you would like to see where your immunization claims are breaking this season, request a Free Audit. It starts with your last 30 days of claims and maps exactly where revenue is leaking, before you change anything in your current workflow.
For wider context, browse our medical coding library on ICD-10, CPT and modifiers. You can also review our revenue cycle services or see how we work within individual specialties.
Frequently Asked Questions (FAQs) About Charging Self-Pay Patients
Is the CPT code for RSV vaccine the same for infants and adults?
When do I use 96380 instead of 96381 for Beyfortus?
How do I bill the 200 mg second-season dose of nirsevimab?
Why did Medicare deny our adult RSV vaccine claim?
Will immunization coding cleanup work with our existing EHR?
The RCM Performance Gap Analysis
Answer 5 quick questions to see where your practice is leaving money on the table.