A practice owner posted to r/optometry in early 2026 with a billing situation many optometrists will recognize: 23 claims pending over 60 days with no follow-up, eight denials from basic coding mistakes, 15 patient balances over $200 never sent to collections, and a front-desk manager trying to handle billing while also juggling check-ins and phones.

His estimate: leaving $10,000–$15,000 on the table every month. Annualized, that's $120,000–$180,000 in lost revenue.

This is not an outlier. It is the median optometry practice.

Optometry billing is harder than most specialties because you're operating inside two completely separate insurance systems simultaneously — medical insurance and vision plans — with different coverage rules, different coding standards, different authorization requirements, and different reimbursement rates that can vary by more than 3x for the same visit.

This guide gives you the framework to fix it.

The Dual Billing Challenge: Medical vs. Vision Insurance

Most healthcare specialties deal with one insurance system. Optometrists deal with two — and confusing them is one of the most expensive mistakes in the practice.

Medical insurance covers diagnostic and treatment services for eye diseases: glaucoma, cataracts, diabetic retinopathy, macular degeneration, dry eye disease, and systemic conditions with ocular manifestations.

  • Reimburses $120–$180 for comprehensive medical eye exams (per CMS benchmarks)
  • No frequency limits — covered as often as medically necessary
  • Requires documented medical necessity, ICD-10 diagnosis codes that establish a medical condition
  • Billed using E/M codes (99202–99215) or ophthalmological service codes (92002–92014)

Vision plans cover routine eye care and refractive services: annual exams for glasses/contact prescriptions, refraction, frames, and lens allowances.

  • Reimburse $45–$70 for routine exams
  • Strict frequency limits — typically once every 12–24 months
  • The chief complaint drives eligibility: "I need new glasses" = vision plan; "My eyes hurt" = medical insurance

The revenue gap between billing correctly and billing incorrectly on a single visit is over $100. If you're seeing 20 patients a day and misclassifying even 20% of visits, that's $400+ in daily revenue leakage — before you account for denial rework costs.

The chief complaint rule

The most important documentation habit in optometry billing: write down the chief complaint verbatim. This single field determines which insurance system you bill.

Bill vision plan when the chief complaint is:

  • "I need new glasses / contacts"
  • "Time for my annual exam"
  • "My prescription has changed"

Bill medical insurance when the chief complaint is:

  • "My eyes hurt / are red / are dry"
  • "I'm seeing floaters / flashes"
  • "I have diabetes and need my annual eye check"
  • "My vision has changed suddenly"
  • "I was referred for glaucoma monitoring"

Coordinating benefits between the two systems

VSP offers coordination of benefits (COB) on many (not all) plans, allowing patients to apply their vision benefit to the uncovered portions of a medical exam plus refraction — reducing their out-of-pocket cost. EyeMed is more restrictive, coordinating only noncovered refraction when performed with a medical eye exam. Each vision plan's COB rules differ, so verify per patient, per plan.

The COB workflow:

  1. Bill medical insurance first for the medical exam
  2. Receive EOB from medical insurer
  3. Submit to vision plan with the EOB for COB processing
  4. Vision plan covers remaining exam or refraction amounts up to their benefit level

When done correctly, this approach maximizes revenue from both systems and reduces patient out-of-pocket costs — improving patient satisfaction alongside your collections.

Most Common Optometry Coding Errors (and How Much They Cost)

The MGMA notes that optometry denial rates are rising due to increasing billing complexity. In 2025, coding and documentation errors across U.S. practices contributed to an estimated $125 billion in improper payments. For optometry specifically, here are the errors that show up most often — and their revenue impact.

Error 1: Wrong insurance — billing vision plan when medical applies

Revenue impact: $75–$110 lost per visit (difference between medical reimbursement of $150+ and vision plan payment of $45–$70)

The patient presents with blurry vision and dry eyes. Staff routes to vision plan because it's an "eye exam." Medical insurance would have paid 2–3x more. The fix: document chief complaint clearly and train front desk staff on the routing decision.

Error 2: Upcoding or downcoding exam levels

Revenue impact: $15–$60 lost (or compliance risk) per visit

Billing a 92014 (comprehensive established exam) when documentation only supports a 92012 (intermediate) will trigger downcoding on audit. Conversely, consistently billing 92012 when the visit qualifies as 92014 means leaving $15–$30 per visit on the table. Use the documentation to determine the code — not the other way around.

Error 3: Missing modifier -25 when billing E/M + procedure same day

Revenue impact: Denial of either the exam or the procedure

When performing a separate, significant E/M service on the same day as a procedure (e.g., monitoring an established glaucoma patient AND performing visual field testing), modifier -25 on the E/M code tells the payer the services were distinct. Without it, the payer bundles and denies one. This is among the most common modifiers missed in optometry.

Error 4: Using unspecified laterality codes

Revenue impact: Denial or delay; each denied claim costs $118–$181 to rework

Billing H25.10 (age-related nuclear cataract, unspecified eye) instead of H25.11 (right eye) or H25.12 (left eye) flags incomplete documentation. Payers treating "unspecified" as shorthand for incomplete notes will deny. Always specify laterality — right, left, or bilateral.

Error 5: Billing 92 codes for complex medical conditions

Revenue impact: Audit risk, potential recoupment, underpayment

Some major medical insurers have begun restricting 92xxx codes to routine/non-medical exams only. Using 92014 to bill the management of progressive glaucoma — when 99214 with medical decision-making documentation would be correct — can result in denied claims or, worse, post-payment recoupment during audits.

Error 6: Missing refraction billing (or failing to collect)

Revenue impact: $15–$25 lost per applicable visit

Refraction (HCPCS 92015) is not covered by Medicare and must be billed directly to the patient as an out-of-pocket service. Many practices either forget to bill it or don't collect it consistently. An ABN (Advance Beneficiary Notice) is required when billing a non-covered service to Medicare patients. Without it, you cannot collect from the patient if they dispute.

Error 7: Timely filing misses

Revenue impact: 100% denial, no appeal option

Each payer has a timely filing window — typically 90 days to 12 months. Once missed, the claim is gone. For the practice described on Reddit with 23 claims over 60 days with no follow-up, some of those claims are approaching or past timely filing deadlines. This requires an AR tracking system and a weekly aged claims review, not monthly.

92 Codes vs. 99 Codes: When to Use Which

This is one of the most debated topics in optometry billing, with significant financial implications. Here's the definitive breakdown.

The 92xxx codes (Ophthalmological Service Codes)

CodeDescriptionPatient Type
92002Ophthalmological services, new patient, intermediateNew
92004Ophthalmological services, new patient, comprehensiveNew
92012Ophthalmological services, established patient, intermediateEstablished
92014Ophthalmological services, established patient, comprehensiveEstablished

Use 92 codes when:

  • The visit is primarily focused on examining and assessing the visual system
  • The encounter is a routine or comprehensive eye exam
  • Managing stable, non-complex ocular conditions
  • The patient's chief complaint is refraction/vision-related

Caution: Some major insurers (including BCBS in certain states like North Carolina) do not accept 92 codes at all for medical visits — they require 99 E/M codes for anything beyond routine vision. Know your payer-specific rules.

The 99xxx codes (Evaluation & Management Codes)

CodeDescriptionTypical Use
99202New patient, low complexity
99203New patient, low-moderate complexity
99204New patient, moderate complexityGlaucoma suspect, new DM eye exam
99205New patient, high complexity
99212Established, low complexity
99213Established, low-moderate complexity
99214Established, moderate complexityOngoing glaucoma, DED management
99215Established, high complexitySight-threatening condition

Use 99 codes when:

  • The primary reason for the visit is managing a medical eye condition
  • Multiple chronic conditions are being managed (e.g., cataracts + dry eye + diabetic retinopathy)
  • The exam includes substantial medical decision-making or significant time
  • The complexity of the condition warrants coordination of care or referrals

The revenue argument for 99 codes:

A practitioner in a hospital-based system with a high volume of ocular disease reported that 99214 often provides greater reimbursement than 92014 for established patients with cataracts plus another condition. The difference may be $5–$20 per visit — but annualized across a high-volume practice, that adds up materially.

One r/optometry commenter summarized the shift clearly: "Since the 2021 changes to 99 code documentation, it is easier to bill 99 codes for many visits, and in situations with multiple chronic conditions, you should be."

The post-2021 documentation change that many practices are still missing

The AMA's 2021 revision to E/M documentation rules eliminated the complex point-counting system. As of 2021, 99 code level is determined by either medical decision-making complexity or total time spent on the date of encounter. This made 99 codes significantly more accessible — especially for optometrists managing patients with multiple ocular comorbidities.

If your practice is still defaulting to 92 codes for patients with glaucoma, DED, cataracts, or diabetic eye disease, you're likely leaving revenue on the table.

The caveat on 99 code bundling:

If you bill an ancillary test (e.g., OCT, CPT 92134) separately, you cannot count that test in the "order and interpret tests" category when determining your 99 code level for the same visit. The separate code already captures the work.

Medical Billing for Eye Exams: When Exams Qualify for Medical Insurance

Routing the right exam to medical insurance is where optometry practices have the largest revenue recovery opportunity.

Qualifying diagnoses for medical insurance billing

Medical insurance (including Medicare Part B) covers eye exams when there is a documented medical condition requiring evaluation or management. Common qualifying conditions include:

  • Diabetes mellitus: Annual diabetic retinal exam (ICD-10: E11.311, E10.311, etc.)
  • Glaucoma / glaucoma suspect: Monitoring and management (H40.xx series)
  • Age-related macular degeneration: Management and monitoring (H35.31xx)
  • Cataracts: Pre-operative evaluation (H25.xx, H26.xx)
  • Dry eye disease: Diagnosis and management (H04.12x)
  • Hypertensive retinopathy: (H35.03x)
  • Retinal detachment / tear: Acute evaluation (H33.xx)
  • Floaters with underlying cause: When organic cause identified
  • Sudden vision change: Acute evaluation required
  • Post-surgical follow-up: Cataract, LASIK, vitreoretinal

Medicare-specific rules for medical eye exams

Medicare covers medically necessary eye exams (using 99 or 92 codes) when:

  • There is a documented diagnosis requiring active management or monitoring
  • Documentation supports medical necessity (not routine vision check)
  • The exam addresses the medical condition — not just refraction

What Medicare does NOT cover:

  • Routine eye exams (no medical diagnosis)
  • Refraction (92015) — always non-covered under Part B, patient pays out-of-pocket
  • Contact lens fitting

The diabetic eye exam opportunity:

Diabetic retinal exams are one of the most consistently billable medical visits in optometry. Every patient with a diabetes diagnosis qualifies for annual medical billing — regardless of whether they also need glasses. Bill to medical insurance for the exam; if they also need a refraction, bill 92015 separately to the patient (or coordinate with their vision plan).

Managing Optical/Retail Revenue Alongside Clinical Billing

Many optometry practices have a retail optical component — frame sales, contact lens dispensing — that operates on completely different financial rails from the clinical side. Revenue management for both requires separate tracking.

The revenue segregation problem

Mixing optical revenue with clinical billing in your reporting obscures both. Your clinical collections rate (net collections on submitted claims) should be tracked separately from optical revenue (retail transactions). If your overall "revenue" looks fine because optical is doing well, you may be missing that your clinical billing is leaking 20% to unworked denials.

Key optical billing considerations

  • Contact lens fitting fees (92310–92313): Billable separately from the exam. Many practices undercharge or skip billing these. Established-patient contact lens fittings (92313) are a commonly missed code.
  • Contact lens materials: Typically patient-pay transactions, but some vision plans offer materials allowances. Track materials separately from exam billing.
  • Spectacle lens prescriptions: The prescription is included in the exam; the frames/lenses are retail. Vision plan benefits for materials should be verified and communicated to patients before dispensing.
  • Refraction: As noted above, 92015 is non-covered by Medicare and should be billed directly to patients. Some vision plans cover it; check per plan.

Optical AR management

Contact lens and frame dispensing that involves vision plan allowances creates its own receivables cycle. Vision plan reimbursements for materials can run 30–60+ days. Track optical AR separately, and follow up on aged balances just as you would clinical claims.

Denial Management for Optometry Practices

The average claim denial rate in healthcare runs 5–10%, with optometry on the higher end due to billing complexity. Each denied claim costs $118–$181 to rework — and claims that aren't reworked at all represent 100% revenue loss.

The denial management workflow

Step 1: Categorize every denial

Don't treat all denials as equivalent. Track denial reason codes and sort them:

  • Administrative denials (wrong ID, eligibility lapsed, timely filing) — fixable immediately
  • Coding denials (wrong code, missing modifier, bundling issue) — fixable with correction and rebill
  • Medical necessity denials — require documentation submission and appeal
  • Authorization denials — prevention-focused (you should have gotten auth first)

Step 2: Track denial rates by payer

Some payers deny at 2–3x the rate of others. A payer with consistently high denial rates either has billing requirements you're not meeting or is gaming the system. Tracking by payer helps you identify patterns and respond systematically.

Step 3: Set rework deadlines

Every denial should have a rework deadline shorter than the payer's appeal filing window. A 90-day appeal window doesn't mean you have 90 days — work denials within 2–3 weeks of receipt.

Step 4: Implement pre-submission claim scrubbing

Modern practice management systems and billing clearinghouses can scan claims for common errors before submission. Catching errors before the payer sees them is far cheaper than working denials after the fact. Nearly 48% of healthcare providers still process claims manually — this is preventable.

Step 5: Close the loop with front desk

Many optometry denials originate at check-in: expired insurance, wrong plan ID, missing authorization. Create a feedback loop from billing to front desk so systematic errors get corrected at the source.

Top denial categories in optometry (with prevention steps)

Denial TypePrevention
Wrong insurance billedChief complaint documentation + verification before appointment
Incorrect/missing modifierBilling team training + pre-submission scrubbing
Missing laterality codeEHR template defaults with laterality fields required
Missing prior authPre-auth checklist for high-cost procedures
Timely filing30-day internal filing deadline (not 90 days)
Duplicate claimClaim status checks before resubmission
Eligibility not verifiedSame-day eligibility check at check-in
Missing chief complaintProvider training on documentation habits

Insurance Verification Best Practices

A significant portion of optometry denials are preventable with better upfront verification. Eligibility verification is not a one-time check at scheduling — it requires a two-step process.

Step 1: Verify at scheduling

  • Confirm both medical and vision coverage (patients often carry both)
  • Document: plan name, plan ID, group number, deductible status, copay amounts, vision benefit frequency (when last used)
  • For medically-necessary visits: confirm coverage for the anticipated diagnosis and check prior auth requirements
  • Note: many vision plans restrict frequency — if a patient's last comprehensive exam was 10 months ago and the plan requires 12 months, document the scheduling gap

Step 2: Re-verify at check-in

Coverage changes frequently — mid-year employer changes, Medicaid redeterminations, Medicare eligibility changes. A verification done at scheduling may be stale by the appointment date. Re-verify at check-in, especially for:

  • Patients with Medicaid (eligibility changes monthly in some states)
  • First visit of the calendar year (deductibles reset; coverage may have changed)
  • Any patient who mentions they "just changed jobs"

Vision plan nuances to verify

  • Frequency limitation date: When was the last covered exam billed?
  • Materials allowance: Dollar amount and what it covers (frames vs. contacts vs. both)
  • COB availability: Does this plan coordinate with medical insurance?
  • In-network vs. out-of-network: Is the patient's plan a vision plan HMO (in-network only) or a PPO?
  • Contact lens fitting coverage: Is it a separate benefit or included in the exam benefit?

When to Outsource Billing: The 7–10% Cost vs. Revenue Recovered Analysis

The r/optometry post that launched this article concluded with the practice owner wrestling with this exact question: outsourcing would cost 7–10% of collections, and hiring full-time in-house costs $50,000+. Is either worth it when you're already losing $10K–$15K per month?

The community's answer was direct: "If you're missing out on $120,000 to $160,000 annually, hiring a billing expert is essential. Investing $50,000 is a great deal."

The math on outsourcing

For an optometry practice with $1.2M in annual collections:

  • Outsourced billing at 8%: $96,000/year
  • In-house FTE biller: $50,000–$65,000 in salary + $15,000–$20,000 benefits = $65,000–$85,000
  • In-house is cheaper — but only if your biller is performing at full capacity and has the expertise to work both medical and vision billing

For practices where billing is handled by the office manager or front desk (dual-role), the comparison is different. The actual cost isn't the salary — it's the revenue leakage from unworked denials, miscoded exams, and missed charges. If that leakage exceeds what outsourcing would recover, outsourcing wins.

Signs outsourcing makes financial sense

  • Your denial rate is above 8%
  • Days in AR exceed 35 (the benchmark is 30 or below for optometry)
  • Net collection rate is below 93%
  • You have no visibility into your collection metrics at all
  • Your biller is handling other responsibilities alongside billing
  • You're seeing more than 100 patients per week with two doctors and one billing person

Signs in-house is working (and should stay in-house)

  • You have a dedicated, experienced biller who understands both medical and vision coding
  • Your denial rate is below 5%
  • Collections are consistent and predictable
  • You know your payer-mix breakdown and can identify underperformers

What to require from an outsourced billing partner

  • Optometry-specific experience (medical and vision plan handling; 92 and 99 code expertise)
  • Clear metrics reporting: denial rate, days in AR, net collection rate, payer-specific performance
  • Full AR management — not just claim submission
  • HIPAA-compliant systems and BAAs in place before access to any patient data
  • No long-term contracts without performance guarantees

For a full framework on evaluating billing partners, see our guide to choosing a medical billing company, RCM vs medical billing comparison, and billing audit checklist.

Running a Billing Audit on Your Optometry Practice

Before you hire anyone, outsource anything, or make major billing changes, audit where you actually stand. A billing audit tells you where money is going and why.

The 30-minute optometry billing self-audit

Step 1: Pull your denial rate (last 90 days)

Total denied claims ÷ Total submitted claims = Denial rate

Benchmark: below 5%. Red flag: above 10%.

Step 2: Calculate days in AR

Total outstanding AR ÷ (Total charges last 90 days ÷ 90) = Days in AR

Benchmark: below 30 days. Red flag: above 45 days.

Step 3: Check your AR aging buckets

  • 0–30 days: Normal
  • 31–60 days: Needs follow-up
  • 61–90 days: Urgent
  • 90+ days: At risk of timely filing expiration; many payers won't pay past 180 days

Step 4: Audit a sample of 20 charts

For each chart, verify: correct insurance was billed, correct code was used for the chief complaint, all procedures were billed (refraction, ancillary tests), modifiers were applied correctly, and the claim was actually submitted and has a status.

Step 5: Check your 92 vs. 99 utilization

Pull a report of your code distribution. If 92014 is your most common code regardless of patient complexity, you may be defaulting to 92 codes for visits that would qualify (and pay more) under 99 codes.

See our medical coding audits guide for a more comprehensive audit approach.

Frequently Asked Questions

Q: What's the difference between medical insurance and vision insurance in optometry billing?

A: Medical insurance covers eye conditions requiring diagnosis and treatment — glaucoma, diabetic retinopathy, dry eye disease, etc. It reimburses $120–$180 for comprehensive exams. Vision plans cover routine eye care — annual exams, glasses, contacts — at $45–$70. The patient's chief complaint determines which to bill. Getting this routing right is worth $75–$110 per visit.

Q: When should I use 92 codes vs. 99 codes?

A: Use 92 codes (92002–92014) for routine or comprehensive eye exams focused on the visual system. Use 99 codes (99202–99215) when the visit primarily addresses a medical eye condition requiring clinical management, complex decision-making, or management of multiple chronic conditions. Since 2021, 99 code documentation is based on medical decision-making or total time — making them more accessible for optometrists managing complex patients. Some major payers do not accept 92 codes for medical visits at all.

Q: Is refraction covered by Medicare?

A: No. Refraction (HCPCS 92015) is explicitly non-covered by Medicare Part B. It must be billed directly to the patient. Always use an Advance Beneficiary Notice (ABN) for Medicare patients when performing a non-covered service. Some vision plans do cover refraction; verify per plan.

Q: What is the most common reason optometry claims get denied?

A: The top reasons are: incorrect or incomplete patient information, coding errors (wrong CPT, missing modifier, wrong laterality), billing the wrong insurance (vision vs. medical), missing prior authorization, and timely filing misses. Coding errors alone account for a substantial portion of denials and are largely preventable with staff training and pre-submission claim scrubbing.

Q: How do I bill when a patient has both medical insurance and a vision plan?

A: If the visit qualifies as a medical visit (medical chief complaint, medical diagnosis), bill medical insurance first. If refraction is also performed, bill 92015 to the vision plan or patient. Coordinate benefits per each plan's COB policy — VSP coordinates benefits on many plans; EyeMed is more restrictive. Always verify the patient's specific plan before assuming COB applies.

Q: Is outsourcing optometry billing worth the 7–10% fee?

A: It depends on your current performance. If your in-house billing has a denial rate above 8%, days in AR above 35, or you're losing $10K+/month in missed revenue (like the practitioner on r/optometry), the math strongly favors outsourcing or adding a dedicated biller. The 7–10% fee should be measured against revenue recovered, not against current collections.

Q: What billing metrics should I track every month?

A: At minimum: denial rate, days in AR, net collection rate (target 93%+), payer-specific denial rates, and AR aging (% in 0–30, 31–60, 61–90, 90+ buckets). If you don't know these numbers today, that itself is a revenue risk. Pull them before your next billing meeting.

About GetPracticeHelp

GetPracticeHelp.com is a free resource for independent healthcare practice owners. We research, compare, and connect you with the vendors and tools that help your practice run better — from billing and credentialing to EHR, staffing, and compliance. Browse 160+ vetted vendors at getpracticehelp.com/browse.