Key takeaways
CPT code 67028 describes intravitreal injection of a pharmacologic agent (separate procedure) in the posterior segment of the eye.
The 2026 Medicare national average is roughly $114 in the office and $75 in a facility, before GPCI locality adjustment.
Modifier 25 belongs on the same-day E/M code, and leaving it off is the top denial trigger in retina practices.
The drug is never included. Compounded bevacizumab is billed under J7999, and each branded agent and biosimilar carries its own code.
Pabau’s claims management software runs validation checks before a claim can be sent, so incomplete 67028 charges never reach the payer.
CPT code 67028 is the intravitreal injection of a pharmacologic agent, classified by the AMA as a separate procedure. The American Medical Association’s CPT code set places it in the Vitreous Procedures on the Posterior Segment range, codes 67005 to 67043.
The “separate procedure” designation means you may report 67028 on its own. It is not separately payable when it forms part of a more comprehensive vitreous surgery in the same session.
Clinically, the procedure delivers an anti-VEGF agent, a steroid, or another pharmacologic drug into the vitreous cavity. It is given under sterile conditions, usually in an office or an ambulatory surgery center (ASC).
Covered conditions include wet age-related macular degeneration (AMD), diabetic macular edema (DME), central retinal vein occlusion (CRVO), and branch retinal vein occlusion (BRVO).
CPT code 67028: official description and code details
Official AMA descriptor: Intravitreal injection of a pharmacologic agent (separate procedure).
Related ocular injection codes and when they replace 67028
The code follows the injection route, not the drug. An anti-VEGF agent delivered anywhere other than the vitreous cavity is not a 67028. The table sets the code against the neighbors it is most often confused with.
CPT 67516 is the newest of these. It carries the same “separate procedure” designation as 67028, and it does not include the supply of the drug. Practices adding suprachoroidal triamcinolone should confirm the current bundling edits before pairing it with another injection code.
How relative value units (RVUs) differ by setting
RVUs determine Medicare reimbursement and are published annually by CMS. The FastRVU 2026 lookup tool confirms the following values for CPT 67028. Non-facility rates apply when the injection is given in an office. Facility rates apply in an ASC or a hospital outpatient department (HOPD).
Practice expense is what separates the two settings. The PE RVU is 1.91 in the office against 0.75 in a facility. The office carries the staff time, supplies, and overhead for the visit.
A practice that injects in its own office is therefore paid substantially more than one using a hospital outpatient department. That makes an in-office injection protocol worth protecting wherever it is clinically appropriate.
What Medicare pays for 67028 in 2026
CMS publishes the annual Physician Fee Schedule through its fee schedule lookup tool. The 2026 conversion factor is $33.4009. Multiplying that by the RVUs above gives the national average rates below, before geographic adjustment. Your locality’s payment then varies through the Geographic Practice Cost Index (GPCI).
These figures cover the procedure fee only. The drug is reimbursed separately under the applicable HCPCS J-code. For anti-VEGF therapy, that drug payment is often the largest portion of the total. Verify rates each January, since CMS resets the conversion factor at the start of every year.
The chart below splits both settings into their three RVU components.

Pro Tip
Verify your locality-specific GPCI multiplier at the start of each plan year. High-cost localities such as Manhattan and San Francisco can pay 15-20% above the national average. Rural localities may pay 5-10% less. Confirm your MAC (Medicare Administrative Contractor) locality assignment before projecting annual injection revenue.
Which modifiers apply to 67028
Modifier selection decides whether a 67028 claim is paid or reworked. The table below shows which modifier belongs on which line, and what each one tells the payer.
Billing an E/M code on the same day
WPS Government Health Administrators, a Medicare Administrative Contractor, confirms that a same-day evaluation and management service is separately billable. It has to be a distinct, medically necessary visit. The E/M code, typically 92012 for an established ophthalmology patient, must carry modifier -25 to signal that the evaluation was separate from the injection.
- Documentation must support two distinct services, covering both the clinical decision behind the injection and the evaluation findings
- A routine injection visit without new findings or a treatment decision does not justify a separate E/M
- The E/M note cannot simply say “patient here for injection” without documenting examination findings and a clinical assessment
- Modifier -25 draws scrutiny from the Office of Inspector General (OIG), so the documentation has to be airtight
Bilateral injections and the RT/LT rule
Medicare requires -RT and -LT modifiers for bilateral intravitreal injections rather than modifier -50. Bill two line items, 67028-RT and 67028-LT. Each line is then adjudicated as its own service rather than combined into a single bilateral payment. Commercial payers may instead require modifier -50 on a single line, so verify each payer’s bilateral policy before submission.
ICD-10 codes that support medical necessity
Medical necessity for CPT 67028 requires a covered ICD-10 diagnosis code. The CPT-to-ICD-10 crosswalk confirms the most commonly paired diagnoses. Local Coverage Determinations may narrow that list further. Always check the LCD that applies to your MAC before you submit.
Always code to the highest level of specificity. Laterality digits are required for most retinal codes, where 1 is the right eye, 2 the left eye, and 3 bilateral. A code submitted without its laterality digit is one of the most common clean claim failures.
HCPCS drug codes billed alongside the injection
CPT 67028 covers the injection procedure only. The pharmacologic agent is billed separately under its own HCPCS Level II code. Both codes belong on the same claim, or the drug goes unpaid. The table lists the anti-VEGF agents and biosimilars retina practices bill most often.
Compounded bevacizumab is the row worth reading twice. Noridian’s CMS Medicare Coverage Database article A53009 instructs practices to bill it under J7999. That code covers a compounded drug that has no HCPCS code of its own.
Hospital outpatient departments report the same drug under HCPCS code C9257 instead. Coverage terms then sit with each MAC, because bevacizumab is not FDA-approved for ophthalmic use. Some MACs pair it with a defined ICD-10 list, and others require prior authorization.
Commercial payer coverage and prior authorization
Medicare sets the floor for 67028, and commercial plans and Medicare Advantage add conditions on top of it. Those conditions attach to the drug far more often than to the injection.
Step therapy is the one that trips practices up. Many plans want a documented trial of compounded bevacizumab before they approve a branded anti-VEGF agent. Where that rule applies, the trial and the reason for switching belong in the record before the branded claim goes out.
- Prior authorization: Approval is usually drug-specific, so a new agent needs a fresh authorization even for an established patient
- Step therapy: A documented bevacizumab trial may be required first, with the clinical reason for any switch recorded
- Site of service: Some plans steer injections to the office and will not authorize a facility setting without a clinical reason
- White bagging: Where the plan ships the drug from a specialty pharmacy, the practice bills 67028 alone and never the drug code
- Bilateral policy: Commercial plans often want modifier -50 on one line where Medicare wants -RT and -LT on two
- Timely filing: The authorization number and the units have to match the claim, or the appeal window starts running
White bagging changes the economics of the visit rather than the coding. The drug margin moves to the specialty pharmacy and the procedure fee is all that remains. Confirm the drug channel during the eligibility check, not at charge entry.
Documentation the payer expects in the note
A complete 67028 claim needs documentation covering both the procedure and its medical necessity. Each injection encounter note should address the elements below, because that note is what a payer or an auditor reads first.
- Diagnosis: ICD-10 code with laterality, plus the clinical findings that support it, such as OCT imaging and visual acuity measurements
- Treatment plan: Rationale for continuing or initiating anti-VEGF therapy, along with the treatment frequency and the drug selected
- Drug and dose: Name of the pharmacologic agent, concentration, dose administered, lot number, and route
- Laterality: Specify right eye, left eye, or bilateral. It has to match the RT/LT modifier on the claim
- Informed consent: Signed consent documenting the patient’s understanding of risks (endophthalmitis, retinal detachment, raised intraocular pressure)
- Procedure note: Sterile technique, gauge needle used, post-injection IOP check, and any immediate complications
- Drug units and waste: Units administered, plus the JW or JZ modifier on the drug line for a single-dose container
- Prior authorization: Documentation of payer approval number when required, particularly for newer agents or compounded bevacizumab
The drug line carries its own documentation rule. CMS has required a JZ modifier since 2023 when no drug is discarded from a single-dose container, and JW when there is discarded drug. Record the amount given and the amount wasted, because the units on the claim have to match the note.
Practices that build these checks into a clean claim submission routine catch the errors while the note is still open.
Bundling rules and NCCI edits
The National Correct Coding Initiative (NCCI) publishes edit pairs that tell payers which codes are bundled and cannot be billed together without a supporting modifier. For CPT 67028, two bundling scenarios arise most frequently.
- 67028 + 67015 (vitreous tap): NCCI edits may bundle a vitreous tap performed at the same time as the injection. The American Academy of Ophthalmology confirms that a tap done to reduce pressure beforehand may be separately reportable with modifier -59. It has to be a distinct procedural service, separately documented, and medically necessary in its own right.
- 67028 + drug J-code: These are NOT bundled. The J-code must always appear on the same claim as 67028 to capture drug reimbursement. Omitting the J-code results in a zero-drug payment, which is not a denial but a missed charge.
- 67028 + 92012 (ophthalmology E/M): Bundled unless modifier -25 sits on the E/M line, as covered above.
NCCI edit pairs are updated quarterly. Confirm the current edits in the CMS NCCI edit tables before adding modifier -59 to any claim. Working from outdated bundling guidance risks inappropriate unbundling, which is an OIG audit target.
Why 67028 claims get denied
High-volume injection practices see the same denial patterns repeat. The denial codes a payer returns on a 67028 claim usually trace back to one of six root causes. Fixing them at charge entry costs far less than appealing them afterward.
Pro Tip
Run a monthly denial report filtered to CPT 67028 and sort it by remark code. Practices that do this routinely find 70-80% of their injection denials tracing to two or three root causes. Fixing those at the workflow level removes most of the rework.
How practice management software simplifies intravitreal injection billing
A retina practice running dozens of injections a week checks the same four details on every claim. Laterality, modifier -25, the companion J-code, and an LCD-covered diagnosis all have to line up. Done by hand, one of them eventually slips through to submission.
Practice management software like Pabau moves those checks into the charge-entry screen. Our software for cleaner claims runs validation in the background every time you send a claim. The Send button stays disabled while a required detail is missing.
Pabau also connects to Claim.MD, the US clearinghouse, so injection claims go out electronically to thousands of payers. Eligibility checks, claim status, and electronic remittance advice all post back into the same record.
For a retina practice, that means fewer incomplete claims leaving the building and a shorter wait for payment on every injection.

Reduce intravitreal injection claim denials with Pabau
Pabau connects clinical documentation, charge entry, and claim submission in one workflow. See how retina and ophthalmology practices use Pabau and Claim.MD to reduce 67028 denials and speed up payment cycles.
Conclusion
Where you inject moves more money on 67028 than how you code it. The office rate pays roughly $39 more per eye than the same injection in a facility. Protect that site-of-service margin before you tune the coding details.
After that, the wins are procedural. Six root causes account for most 67028 denials, and each one is a check that belongs at charge entry rather than in an appeal queue. Moving them upstream costs a workflow change once, instead of an appeal every month.
Pabau blocks an incomplete 67028 claim from being sent, so the correction happens before the payer sees it. Book a demo to see how a retina practice runs its injection billing in Pabau.
Continue your research
Need to understand what happens after a claim is submitted? Electronic remittance advice explains how ERA files work and how to read a payer’s payment explanation.
Want to bring your overall denial rate down? Managing claim denials in healthcare covers the approach retina and multi-specialty practices use to track and resolve denials.
Checking your injection note before the charge goes out? What a superbill contains walks through the fields that carry a procedure code and its diagnosis onto the claim.
Worried about prior authorization on newer anti-VEGF agents? Insurance eligibility verification shows what to confirm before the patient sits down for the injection.
Looking for a complete medical billing reference? Revenue cycle management outlines the full billing lifecycle from charge capture through final payment.
Frequently asked questions
What does CPT code 67028 cover?
CPT code 67028 is the intravitreal injection of a pharmacologic agent, listed as a separate procedure. It sits in the Vitreous Procedures on the Posterior Segment section of the AMA CPT code set. It covers the procedure only. The drug injected is billed separately under a HCPCS J-code such as J0178 (aflibercept) or J2778 (ranibizumab).
What is the Medicare reimbursement rate for CPT 67028?
The 2026 Medicare national average is approximately $114 in a non-facility (office) setting. A facility setting such as an ASC or HOPD pays approximately $75. Payment then adjusts by geographic locality through the GPCI multiplier. Verify your own locality rate in the CMS Physician Fee Schedule lookup tool.
What modifiers are used with CPT code 67028?
The primary modifiers are -RT for the right eye, -LT for the left eye, and -50 for a bilateral procedure. Medicare prefers -RT and -LT on separate lines. Modifier -25 goes on the same-day E/M code, not on 67028 itself. Modifier -59 may override a specific NCCI edit when a vitreous tap is separately reportable.
Can CPT 67028 be billed with an E/M code on the same day?
Yes, when a separately identifiable evaluation and management service is performed and documented. The E/M code, such as 92012, must carry modifier -25 to show it was distinct from the injection. Documentation must support both services independently. A note limited to “patient here for injection” does not justify a separate E/M charge.
What ICD-10 diagnosis codes pair with CPT 67028?
The most common pairings are H35.32- for exudative wet AMD and E11.311 for type 2 diabetes with retinopathy and macular edema. H34.81- and H34.83- cover central and branch retinal vein occlusion. Always code to the highest level of specificity, including laterality digits. Then check your MAC’s LCD for the covered diagnosis list.
What is the difference between CPT 67028 and HCPCS J-codes for intravitreal drugs?
CPT 67028 covers the injection procedure itself. The HCPCS J-codes J0178, J2778, J7999 and J0179 cover the drug administered. Both codes must appear on the same claim to capture full reimbursement. Submitting 67028 without the applicable J-code means Medicare does not reimburse the drug separately.
What documentation is required to support a 67028 claim?
Required documentation includes the ICD-10 diagnosis with laterality and the clinical findings that support medical necessity. The note must also record the drug name and dose, the injected eye, and informed consent. Add a full procedure note covering technique and the post-injection IOP check. Include prior authorization where the payer requires it.
Which code covers a sub-Tenon’s or suprachoroidal injection?
Those routes have their own codes. Report 67515 for an injection into Tenon’s capsule and 68200 for a subconjunctival injection. Suprachoroidal injection of a pharmacologic agent is 67516, which replaced category III code 0465T in 2024. CPT 67028 applies only when the drug enters the vitreous cavity.