CPT code 67904 – Blepharoptosis repair via external levator resection
67904 is the CPT code for repair of blepharoptosis; (tarso) levator resection or advancement, external approach. The levator is reached through an upper eyelid crease incision, then shortened or advanced and refixated to the tarsus. The code applies where levator function is fair to good, and poor function moves the case to the frontalis suspension codes, 67901 and 67902.
Payment turns on the chart more than the technique. Medicare covers the repair only where ptosis causes a measured visual field defect. Most denials trace back to a missing field printout, the wrong bilateral modifier, or confusion with 15823, the upper blepharoplasty code.
- Section
- 10004-69990 Surgery
- Subsection
- 65091-68899 Eye and ocular adnexa
- Code range
- 67901-67908 Repair of blepharoptosis
- Billable
- No
- Code also known as
- external levator resection, levator advancement, tarso-levator resection, ptosis repair
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
CPT code 67904 covers levator resection or advancement through an external approach, used where levator function is fair to good.
Coverage turns on a documented visual field defect, so the perimetry printout and the lid measurements belong in the record.
Bilateral repairs take modifier 50 on one line, or separate RT and LT lines, depending on the payer.
At CY2026 rates, Medicare pays roughly $745 in the office and $508 in a facility, before locality adjustment.
The code carries a 90-day global period, so routine post-operative visits are already paid for in the surgical fee.
What CPT code 67904 covers, and when it applies
CPT code 67904 is reported for repair of blepharoptosis by (tarso) levator resection or advancement, external approach.
That is the wording published by the American Medical Association. The code sits in the 67901-67908 blepharoptosis family, under the Eyelids heading of Eye and Ocular Adnexa.
The external approach reaches the levator through an upper eyelid skin crease incision. The surgeon exposes the aponeurosis, resects or advances it, then refixates it to the tarsal plate. Lid height is usually checked on the table before closure.
Because the repair shortens a working muscle, it suits eyes with fair to good levator function. Where excursion is poor, typically under 4 mm, the muscle cannot lift the lid on its own.
Those cases move to the frontalis suspension codes, 67901 and 67902. The same levator repair done through the conjunctival side of the lid is reported with 67903 instead.
So the approach and the excursion measurement decide the code, not the severity of the droop. The table below maps each member of the family to its defining technique.
Medicare pays 67904 only when the chart proves functional loss
Coverage requires documented functional impairment, not a cosmetic complaint. The threshold is a measurable superior visual field defect, usually 12 degrees or more, with the lid in its resting position.
CMS Article A57618, a Billing and Coding Article associated with LCD L35004, sets out the coding and documentation expectations for blepharoptosis repair.
Claims filed without the full documentation package are denied almost automatically. The required elements are consistent across most payers.
- Visual field testing: Humphrey perimetry or equivalent, run with the lid in its natural, untaped position. Some payers also want a second test with the lid held up, to show the improvement.
- Margin-reflex distance (MRD1): Measured from the corneal light reflex to the upper lid margin in primary gaze. Under 2 mm supports medical necessity.
- Levator excursion: Recorded at the preoperative exam. Fair to good excursion, generally 4 mm or more, is what makes 67904 the right code. Poor excursion points to 67901 or 67902.
- Operative report: Names the external approach and the amount of levator resected or advanced. It should also record how the aponeurosis was refixated to the tarsus.
- Photographs: Preoperative photos showing lid position. Most commercial payers require them, and Medicare reviewers ask for them often enough to make them standard.
Keep all of it in one place. When a records request lands six months later, you want one place to look. The field printout, the photos and the exam findings should all sit on the same encounter.
Pro Tip
Run visual field testing at the initial consultation and store the results in the patient record immediately. When a prior authorization request arrives weeks later, the documentation is already attached to the encounter rather than sitting in a separate filing system.
Bilateral billing is where most 67904 modifier errors start
For a bilateral repair, the payer decides the format. Most Medicare Administrative Contractors (MACs) accept modifier 50 on a single line. Many commercial payers want RT on one line and LT on a second.
Three scenarios cover almost every modifier question on this code: bilateral repairs, a return to the operating room, and staged surgery.
Sending modifier 50 to a payer that wants RT and LT produces a denial, and that denial needs a corrected claim rather than a resubmission.
The American Academy of Ophthalmology advises confirming the bilateral policy before submission. In practice that means before the date of service, because the charge entry screen is too late to find out.
Match the ICD-10 code to the eyelid in the operative note
Every 67904 claim needs a supporting diagnosis, and laterality is where these claims fall over. Submitting H02.401 for the right eyelid when the note says both is a mismatch, and the edit fires before a human ever reads the chart. Use the most specific laterality code the record supports.
Check the accepted diagnosis list in CMS Article A57618 before you rely on a code from memory. Some payers publish narrower lists than CMS, and a less specific code comes straight back. Our ICD-10-CM code library carries the full H02 range if you need to confirm a neighboring code.
What Medicare pays for 67904 in 2026
At CY2026 rates, the national unadjusted payment is about $745 in the office and about $508 in a facility. Both figures move with your Geographic Practice Cost Index (GPCI), so the amount on your remittance will differ. Check your own locality in the CMS MPFS Look-Up Tool before you quote a patient a figure.
How the RVUs add up to the payment
Each figure above is the sum of three RVU components multiplied by the annual conversion factor. Work RVU (7.77) covers surgeon time and intensity. Malpractice RVU (0.65) covers the liability share.
Both are identical wherever the repair happens, so the whole difference between settings comes from practice expense.

One detail catches practices out in 2026. The conversion factor is now two-tier: $33.5675 for qualifying APM participants, and $33.4009 for everyone else.
The figures above use the non-qualifying rate. Qualifying participants land a few dollars higher on the same code, so use your own factor when you model a year of volume.
How 67904 differs from 15823, the upper blepharoplasty code
The short answer is muscle versus skin. 67904 corrects a lid that will not lift, while CPT 15823 removes redundant upper eyelid skin, and sometimes fat. Both can block the superior field, which is why reviewers look closely at the two together.
Billing the pair without independent justification for the blepharoplasty is the unbundling error auditors cite most often on these claims. If the note only explains the ptosis repair, expect the skin excision to be denied or recouped later.
The American Academy of Ophthalmology publishes current guidance on reporting both, and it is worth reading before the claim goes out.
Before you submit: Where 67904 claims go wrong
Almost every 67904 denial is decided before the claim is created. Walk the path the claim takes and the failure points are easy to spot.

Five causes account for most of the denials on this code:
- No visual field result on file: the most common trigger by a distance. Payers ask for the perimetry printout as a condition of payment, so attach it to the encounter before billing.
- The wrong bilateral modifier: keep a payer reference list and check it at scheduling. Fixing this one after the fact costs a corrected claim.
- ICD-10 laterality mismatch: code laterality from the operative note, never from the authorization. The authorization was often issued before the surgical decision was final.
- Unbundling 67904 and 15823: the record has to justify each procedure on its own. Where it justifies only the ptosis repair, the skin excision is denied.
- Missing prior authorization: commercial payers increasingly require it. Medicare also requires prior authorization for this code in a hospital outpatient department, so confirm the setting as well as the payer.
Then run a short check on the claim itself before it goes out. Five lines, thirty seconds:
- One unit of 67904 per eyelid repaired, with the bilateral format the payer expects
- Place of service matching the setting where the surgery took place
- The diagnosis code matching the laterality in the operative note
- The authorization number on the claim, and the authorized eyelid matching the note
- The field printout and photographs attached to the encounter, ready to send
The 90-day global period changes what you can bill next
67904 carries a 90-day global period, so routine post-operative visits inside those 90 days are paid for in the surgical fee. Confirm the assignment in the current fee schedule data for your locality, because global values can change with the annual update.
Some services are still separately billable during the window:
- Treatment of a clearly unrelated condition, using modifier 79 and the appropriate E/M code
- A return to the operating room for a complication, where modifier 78 covers intraoperative services only
- A staged procedure documented as planned at the original surgery, using modifier 58
- Diagnostic tests that are not part of the standard post-operative monitoring protocol
Billing a routine follow-up as a separate visit inside the window is a fast route to an audit. So write the distinction into every post-operative note. Say whether the visit is routine follow-up, or a new problem that earns a separate billable service. That one sentence is what a reviewer looks for.
Pro Tip
Flag the global period end date in your practice management system on the day of surgery. A 90-day countdown attached to the patient encounter prevents accidental unbundling of post-op visits and gives billing staff a clear boundary for modifier decisions.
How Pabau keeps a 67904 claim clean before it leaves the practice
The documentation for this code usually lives in three places. Perimetry sits with the technician, photographs sit on a camera or a shared drive, and the authorization number sits in an inbox. The claim is then built from memory, which is exactly when a laterality or modifier error slips through.
Practice management software like Pabau keeps those pieces on the same encounter. Insurer and policy details live on the patient record, so an invoice routes to the right payer without re-keying.
Pabau’s medical claims management dashboard then shows each claim as pending, submitted, processing, paid or in error. Validation checks also run before the claim is sent. Where a required detail such as a membership number or authorization code is missing, the Send button stays disabled until it is fixed.
In the US, Pabau connects to Claim.MD, our clearinghouse partner. From the same dashboard your billing team can:
- Submit claims electronically to thousands of payers
- Run real-time eligibility checks before the date of service
- Track the status of every claim in one view
- Post electronic remittance advice against the original invoice
Claim.MD also validates claims against payer-specific rules on the way through. So a denial reason reaches the patient record in days, rather than arriving on paper weeks later.

Catch missing claim details before you hit send
Pabau validates the details an insurer needs, such as membership numbers and authorization codes, before a claim can be submitted. Every claim’s status stays in one dashboard, so ophthalmology billing stops living in spreadsheets.
Conclusion
67904 is a well-paid code with a narrow evidence window. The technique decides which code you report, but the chart decides whether you get paid for it. Measure the excursion, run the field test untaped, and write the approach into the operative note.
The trade-off worth remembering is timing. Nearly every fix on this code is cheap before the date of service and expensive afterwards. A payer’s bilateral rule takes two minutes to confirm at scheduling, and a corrected claim takes far longer.
Get those habits in place and 67904 stops being a code your team dreads. Book a demo to see how Pabau keeps ophthalmology documentation and claims on the same record, from consultation through to remittance.
Continue your research
Need to understand how clearinghouse submission works end to end? Medical claims clearinghouse guide covers how claims are validated, scrubbed, and routed to payers before payment.
Tracking denials by code and reason code? Denial codes in medical billing explains CARC and RARC codes so your team can interpret remittance data and action denials faster.
Want to understand the 837P claim format behind your submissions? 837 file guide walks through the electronic claim format used for professional claims including ophthalmic surgical procedures.
Frequently asked questions
Is the visual field test billed separately from 67904?
Yes. Perimetry is a diagnostic test, so it is reported on the day it is performed, usually at the preoperative visit. It is not part of the surgical package for 67904. Keep the printout with that encounter, because payers ask for it later.
Which place of service code goes on a 67904 claim?
Use place of service 11 for an office repair, 22 for a hospital outpatient department, and 24 for an ambulatory surgery center. The entry also decides whether Medicare applies the non-facility or facility rate, so a wrong code misprices the claim.
Can an office visit be billed on the same day as 67904?
Only the visit where the decision for surgery was made. Because 67904 carries a 90-day global period, that visit takes modifier 57. Routine preoperative checks on the day of surgery belong to the global package and are not billed separately.
Can 67904 and 67903 both be reported for the same eyelid?
No. They describe the same levator repair through different approaches, external for 67904 and internal for 67903. One eyelid in one session takes one code. The operative note settles which, so the approach has to be named in writing.
How many units of 67904 are billed for a bilateral repair?
One unit with modifier 50, where the payer accepts bilateral billing on a single line. Payers that want RT and LT take one unit on each line. Billing two units on one line without a bilateral modifier is a common rejection.