What is the 67028 CPT code?
The 67028 CPT code bills the intravitreal injection of a pharmacologic agent such as an anti-VEGF drug, reported once per eye with a laterality modifier and on a separate claim line from the drug’s HCPCS J-code. The code covers only the injection procedure, not the medication, so a complete claim always carries at least two lines.
- 2026 reimbursement. The injection itself pays roughly $114 in the office and about $75 in a facility setting under the CY 2026 Medicare Physician Fee Schedule, but the separately billed drug can run $1,800 to $2,000 per dose.
- Drug billed separately. The medication goes on its own line with the correct HCPCS J or Q code, the injected units, the National Drug Code, and a JZ or JW waste modifier.
- Laterality on every line. Missing RT or LT on the 67028 line or the drug line is the single largest source of intravitreal injection denials.
What does the 67028 CPT code cover?
CPT 67028 covers the procedural work of injecting a pharmacologic agent into the vitreous cavity, described by the AMA as a separate procedure. It represents the injection itself, not the drug. The medication is billed separately with its own HCPCS J or Q code, which is why a complete claim always has at least two lines: one for the procedure and one for the drug.
The code treats conditions driven by abnormal retinal blood vessels and fluid, most commonly wet age-related macular degeneration, diabetic macular edema, and retinal vein occlusion. It carries an XXX global period, meaning it is not tied to a surgical global, but when performed inside another procedure’s global period a surgical modifier such as modifier -79 precedes the eye modifier. The decision to inject is usually driven by imaging, so this code pairs closely with OCT of the retina (92134), which documents the fluid that justifies treatment.
The most common issue we see ophthalmology practices run into is treating 67028 as a simple procedure code when it is actually the anchor of a multi-line buy-and-bill claim. The injection fee is roughly $114, but the drug on the same claim can be $1,800 to $2,000 per dose. Getting the injection line right is the minimum. Getting the drug line right is where the revenue lives.
Because 67028 is designated a separate procedure, it cannot be reported alongside a more comprehensive vitreous procedure on the same eye at the same session unless the circumstances genuinely make the injection a distinct service. If a vitrectomy and an injection happen on the same eye the same day, 67028 typically bundles into the vitrectomy. The separate-procedure designation also means no pre or postoperative global days attach, so each injection encounter stands on its own for billing purposes.
Anti-VEGF Drugs and HCPCS Codes
| Anti-VEGF agent | HCPCS drug code | Billable unit | Approx cost/dose |
|---|---|---|---|
| Aflibercept (Eylea) | J0178 | Per 1 mg | ~$1,850 |
| Ranibizumab (Lucentis) | J2778 | Per 0.1 mg | ~$1,170 |
| Bevacizumab (Avastin, off-label) | J9035 | Per 10 mg | ~$50 to $80 |
| Faricimab (Vabysmo) | J0225 | Per 1 mg | ~$2,190 |
| Aflibercept 8 mg (Eylea HD) | J0179 | Per 1 mg | ~$2,300 |
Newer agents and biosimilars such as Ahzantive and other Eylea biosimilars each carry their own HCPCS code. Verify the current code, unit, and average sales price against the CMS ASP drug pricing file each quarter, since these values change. For a deeper look at the biosimilar billing differences, see our guide to billing Eylea biosimilars.
Geographic atrophy drugs administered by intravitreal injection, such as pegcetacoplan (Syfovre, J1442) and avacincaptad pegol (Izervay, J0212), also report under 67028 for the injection. These carry their own dosing, unit definitions, and payer coverage rules that differ substantially from the anti-VEGF agents above. When a patient receives both an anti-VEGF and a GA drug at the same visit in the same eye, only one 67028 is payable per eye per day due to the medically unlikely edit, so the second agent and its drug code are typically scheduled for a separate date of service.
Compounded bevacizumab, the most frequently injected agent by volume, is billed under J9035 with the exact number of units administered. Some payers require the NDC of the compounding pharmacy, and the FDA has issued repeated guidance on the compounding standards that affect coverage. Practices that switch compounding sources mid-quarter should verify that the new NDC is accepted by each payer before the first claim ships.
In retina billing the drug line is the revenue, and a single dropped J-code or missed modifier can erase a whole encounter. Compare vetted ophthalmology billing companies that handle 67028, buy-and-bill drug claims, and JW/JZ discipline, and get matched in about 30 minutes at no cost.
How do you bill 67028 for both eyes on the same day?
For bilateral same-day injections, append modifier -50 to the 67028 line with one unit, which pays at 150 percent under the Medicare bilateral rule, or bill two lines with RT and LT per payer preference. The drug is reported for each eye, often on separate lines with RT and LT and the correct units, since two eyes use two doses.
A right-eye diagnosis linked to a left-eye injection line will reject, so laterality has to match across the procedure, the drug, and the diagnosis. When the second eye is treated on a different day, bill two separate unilateral encounters. And because 67028 has a medically unlikely edit of one, only one injection per eye per day is payable even if two agents are given, for example an anti-VEGF plus a geographic-atrophy drug.
Providers often come to us after months of bilateral denials that nobody could explain, and the cause is almost always a laterality mismatch between the 67028 line, the J-code line, and the ICD-10 code. All three lines have to agree on which eye, and no scrubber catches the cross-line mismatch unless it is built to look for it.
What modifiers does the 67028 CPT code require?
67028 needs a laterality modifier on every line, and the same-day exam and drug waste each have their own modifier. Getting placement right prevents the most common injection denials: a surgical modifier precedes the eye modifier, and the waste modifier belongs on the drug line, not the procedure.
| Modifier | Where it goes | Why it matters |
|---|---|---|
| RT / LT | On the 67028 line and the drug line | Missing laterality auto-rejects the claim |
| -50 | On the 67028 line for same-day bilateral | Pays at 150 percent with one unit |
| -25 | On a same-day, separately identifiable E/M | CMS Targeted Probe audits target this pairing |
| -JZ | On the drug line when there is no waste | Mandatory since July 2023 for single-dose vials |
| -JW | On a second drug line for discarded units | Reports a unit or more of documented waste |
When an injection falls inside another procedure’s global period, the surgical modifier goes first, then the eye modifier. For a deeper look at how global-period modifiers stack with retina injections, see our modifier -79 guide. For same-day E/M pairing, our post on billing office visits with eye injections covers the documentation that CMS auditors look for.
Which diagnoses support the 67028 CPT code?
67028 and its drug are payable only when the diagnosis matches the payer’s covered indication list, and dry, nonexudative macular degeneration linked to an anti-VEGF is a classic denial. Off-label bevacizumab has payer-specific covered diagnoses, so the indication has to be checked against each plan.
- Wet, exudative age-related macular degeneration in the H35.32 family, such as H35.3211 for the right eye with active choroidal neovascularization.
- Diabetic macular edema, coded with the diabetes code such as E11.311 plus the retinal edema detail.
- Central retinal vein occlusion in the H34.81 family with macular edema.
- Branch retinal vein occlusion in the H34.83 family with macular edema.
- Myopic choroidal neovascularization in the H44.2 family.
- Retinopathy of prematurity in the H35.10 to H35.17 range, per the FDA label and payer policy.
Across the billing companies we vet, the most common diagnosis denial on a 67028 claim is not a wrong code. It is a laterality mismatch: the ICD-10 says right eye, but the procedure line says left. The second most common is linking a dry AMD code to an anti-VEGF injection, which no payer covers. Both are preventable with a pre-submission scrub that cross-checks all three lines.
Why do 67028 injection claims get denied?
The top 67028 denials are a missing laterality modifier, the drug J-code dropped from the claim (often a CO-16 denial), a diagnosis that does not match the drug, a missed JZ or JW waste modifier, and no modifier -25 on a separately billable same-day exam. Prior authorization and the 28-day frequency rule catch the rest.
Most MAC policies set injection frequency at no less than 28 days per eye, so an early re-treatment without documented justification denies. The single most expensive miss is billing the injection without the drug, which forfeits the majority of the encounter’s value. The National Drug Code, drug name, and dosage must appear on the claim, and for not-otherwise-classified drugs the detail goes in item 19 of the CMS-1500.
One question we hear constantly from retina practice managers is why their injection claims deny at a higher rate than everything else on the schedule. The answer is almost always the multi-line complexity: the procedure, the drug, the laterality, the waste modifier, the diagnosis, and the prior auth all have to align, and a single mismatch on any one of them kills the entire claim.
Prior authorization adds another layer. Many Medicare Advantage and commercial plans now require prior auth for high-cost anti-VEGF agents, and the approval is typically eye-specific and drug-specific. Switching from Eylea to Vabysmo mid-treatment, or injecting the left eye when the auth covers the right, triggers a denial that is not a coding error at all but an authorization gap. Across the billing companies we vet, the practices with the lowest injection denial rates are the ones that verify auth status per eye and per drug at every visit, not once at the start of treatment.
The 2026 billing mistake that quietly costs retina practices six figures
The 67028 fee is about $114, but the drug on the same claim can be $1,800 to $2,000 a dose, so the money and the risk both live on the drug line. A retina practice giving 1,500 anti-VEGF injections a year that drops the drug code or misses the JZ modifier on even 3 percent of claims forfeits roughly $85,000 before appeals. Worse, a silent 2 to 3 percent underpayment on a single high-volume drug line such as J0178 can run into six figures a year, based on Corcoran Consulting Group’s retina audit guidance. The fix is a claim scrubber that blocks any 67028 line without a matching drug code, a laterality check across all three lines, and a quarterly reconciliation of the top drug contracts against the current Medicare average sales price.
In our experience matching providers with billing partners, the retina practices that protect this revenue are the ones whose billing team reconciles drug acquisition cost against ASP reimbursement every quarter. When ASP drops and the practice is still buying at contract price, the margin disappears before anyone notices unless someone is watching the spread. The same logic applies in reverse: when a biosimilar enters the market and ASP adjusts downward for the reference product, practices that switch early capture the spread before the fee schedule catches up.
The proposed 2027 Medicare fee schedule would lower the conversion factor further, which compresses the injection fee while leaving the drug economics intact. For retina practices, that shift makes the drug-line discipline even more important: the procedure fee absorbs the overhead, and the drug margin is where the practice actually earns. A billing team that does not reconcile both lines is flying blind on the encounter that generates the most revenue per visit.
Frequently Asked Questions
Yes. 67028 covers only the injection procedure. The medication is billed on a separate line with its own HCPCS J or Q code, the units injected, the National Drug Code, and a waste modifier: JZ for no waste or JW for discarded units. Billing the injection without the drug forfeits most of the payment.
Yes, when the exam is separately identifiable and documented, appended with modifier -25 on the E/M. NCCI bundles established-patient E/M with 67028, so the -25 is required. CMS Targeted Probe and Educate audits scrutinize this pairing, so the note must stand on its own.
Most Medicare Administrative Contractor policies set the minimum interval at 28 days per eye. A re-treatment sooner than that without documented clinical justification, such as a change in agent or worsening disease, is a predictable denial, and many commercial payers apply the same frequency edit.
JZ attests that a single-dose vial or prefilled syringe had no discarded drug, and it has been mandatory since July 2023. JW reports a unit or more of drug that was drawn but discarded, billed on a second line of the same J-code. One or the other belongs on nearly every injection drug claim.
Covered indications include wet AMD in the H35.32 family such as H35.3211, diabetic macular edema coded with the diabetes code like E11.311, and retinal vein occlusion in the H34.81 and H34.83 families with macular edema. The diagnosis must match both the injection and the specific drug per payer policy.
Stop losing drug-line revenue to dropped J-codes, missed waste modifiers, and diagnosis mismatches. Billing Service Quotes matches your practice with vetted medical billing companies that know 67028, buy-and-bill economics, JW and JZ discipline, and anti-VEGF coverage rules, across all 50 states with rates starting at 2.95 percent. Finding a match takes about 30 minutes and is 100% free for providers.
