Our complete ophthalmology billing and coding guide

Eye exam codes vs. E/M: the 12-element threshold and the two-payer split.

Ophthalmology is one of the only specialties where the office visit itself has two entirely valid, non-interchangeable code families, and picking wrong doesn't just underpay — a vision plan will reject an E/M claim outright, and Medicare won't pay two code families for one reason on one visit. This guide goes past the payer-type rule of thumb: the twelve exam elements that separate intermediate from comprehensive, how one encounter legitimately splits across a vision plan and a medical plan on the same date, why the new-patient clock ignores which family you billed last time, and what modifier 25 actually requires.

Key takeaways

  • All 12 exam elements, not "a thorough exam," decide 92004/92014 versus 92002/92012. Document fewer than three and neither eye code is supportable at all — the visit has to stand as E/M or not be billed as a visit.
  • One visit can legitimately bill two payers — routine refraction to the vision plan, a medical finding to the medical plan — but only when the note itself separates which finding drove which service.
  • The three-year new/established clock ignores code family. A patient seen last year under an eye code is established for E/M this year, and the reverse holds just as true.
  • Modifier 25 requires two genuinely separate problems, not two code families describing one exam — routine use of it to bill both families is the audit pattern payers watch for, not an occasional correctly-documented instance.

Why one office visit has two billing systems

The eye visit codes (92002, 92004, 92012, 92014) aren't a lightly-modified version of E/M for eye doctors — they're built around a completely different unit of measurement. E/M leveling since the 2021 guideline overhaul runs on medical decision making or total time; the eye codes never adopted that framework and still run on a fixed count of examination elements plus whether a diagnostic or treatment plan was initiated or continued. A coder has to know which ruler applies before the note is written, not after — confusing the two isn't a documentation-quality problem, it's a category error, and category errors are what a vision plan rejects on sight and what Medicare treats as a duplicate for the same diagnosis.

The 12 elements that decide intermediate vs. comprehensive

The American Academy of Ophthalmology's own Eye Visit Code checklist enumerates twelve examination elements. Documenting three to eleven of them supports the intermediate codes — 92002 (new patient) or 92012 (established); all twelve, plus initiation or continuation of a diagnostic or treatment plan, supports the comprehensive codes — 92004 (new patient) or 92014 (established). Fewer than three supports neither eye code.

The 12 exam elements (AAO Eye Visit Code checklist, as reported by AAPC's coding newsletter — confirm current wording against the Academy's own checklist PDF before building a template from it).
#Element
1Visual acuity
2Gross or confrontation visual fields
3Extraocular motility
4Conjunctiva
5Ocular adnexa — lids and lashes
6Pupil and iris
7Cornea
8Anterior chamber
9Lens
10Intraocular pressure (tonometry)
11Optic nerve disc
12Retina and vessels

⚠️ This build sourced the list above from a secondary AAPC coding newsletter citing the Academy's own checklist, since the primary checklist sits behind the Academy's members-only coding-topics area; confirm current wording against that source before building a documentation template from it. Dilation is expected as medically necessary — document the reason when it's deferred (recent dilation elsewhere, contraindication, refusal) rather than omitting it silently, since a silent gap reads as a missed element, not a documented clinical decision.

The direction that matters on audit: downcode to intermediate when an element genuinely wasn't performed, never upcode to comprehensive because eleven elements plus a plausible assumption about the twelfth "usually" happens. Payers that review ophthalmology charts specifically look for a comprehensive code billed against a note that's missing one of the twelve without a documented reason.

Splitting one visit across a vision plan and a medical plan

A patient can walk in for a routine refraction and leave with a new medical diagnosis found on the same exam — early cataract, a glaucoma-suspect finding, diabetic retinopathy. That's two distinct reasons for one visit, legitimately splittable across two payers, provided the note keeps the two reasons separate rather than blending them into one undifferentiated exam narrative.

How a split visit is documented and billed.
Portion of the visitBilled toTypical code familyExample diagnosis
Routine refraction, no new findingVision planEye code, or the plan's own routine-exam codeZ01.00 exam of eyes and vision without abnormal findings
Refractive error corrected, nothing medical foundVision planEye codeH52.13 myopia, bilateral · H52.4 presbyopia
New or existing medical finding, separately documentedMedical plan / MedicareE/M, or an eye code if the visit is still exam-element-driven rather than MDM-drivenH40.9 unspecified glaucoma (pending workup) · E11.9 type 2 diabetes, eye involvement being evaluated
Abnormal finding on an otherwise routine screening examVision plan, redirected to medical if follow-up is scheduledEye codeZ01.01 exam of eyes and vision with abnormal findings

The failure mode isn't the split itself — it's a note that never separates the two reasons, leaving the coder to guess and default to whichever payer processes faster. Structure the note so the routine and medically-driven narratives are each independently readable, with their own assessment and plan, even when they happened in the same twenty minutes with the same patient.

New patient vs. established: the clock ignores which family you billed

CPT's new-versus-established distinction runs off whether any physician of the same specialty and subspecialty within the group provided a face-to-face professional service to the patient in the prior three years — it has nothing to do with which code family that prior visit used. A patient seen under 92014 fourteen months ago is established today even if today's visit is coded as 99213, and a patient seen under 99203 two years ago is established today even if today's visit is coded as an eye code. Billing a new-patient code (92004, 92002, 99202-99205) because the last visit fell under the other family is a preventable denial, most common in multi-provider practices where front-desk staff pull "new vs. established" from the scheduling system rather than the billing history.

Modifier 25 and the CO-18 duplicate trap

The scenario modifier 25 exists for here is narrow: a significant, separately identifiable E/M service on the same day as an eye code (or vice versa), addressing a problem genuinely distinct from what drove the first service. A diabetic patient in for a scheduled comprehensive eye exam who also needs an urgent, unrelated medical decision addressed the same day — a medication interaction question, an acute unrelated symptom — is a legitimate 25 scenario if the note documents both problems and both decision-making processes independently.

What it is not for: billing both an eye code and an E/M code for the same diagnosis, same encounter, same reasoning, hoping one of the two pays. That pattern denies as CO-18 (duplicate) when a payer catches it, and a high ratio of dual-billed visits is a recognized audit trigger regardless of whether any single claim was correct. The distinguishing question on every dual-billed date isn't how thorough the documentation is — it's whether there are actually two problems in the note, not one problem described twice.

Do
  • Count the exam elements against the AAO's own checklist before choosing intermediate versus comprehensive, every visit.
  • Keep a routine-exam narrative and a medically-driven narrative separately readable in the note when a visit will split across two payers.
  • Pull new-versus-established status from billing history, not the code family of the last visit.
  • Document two independently supported problems before appending modifier 25 to a same-day eye code plus E/M claim.
Don't
  • Don't bill 92004 or 92014 on a note missing one of the twelve elements without a documented clinical reason.
  • Don't bill both payers off one undifferentiated exam narrative and hope the coder downstream sorts it out.
  • Don't assume switching code families resets the new-patient clock.
  • Don't use modifier 25 as a routine way to bill an eye code and E/M together for one reason.
Pro tip

Build the intake form to ask which benefit the patient wants used before the exam starts — vision, medical, or "whichever finds something." That answer tells the coder which family to default to before the note is written, instead of reconstructing intent from a finished chart afterward.

Losing eye-exam revenue to code-family denials?

We'll audit a sample of recent visit claims for exam-element gaps, split-visit billing errors, and modifier 25 patterns that put your practice at audit risk.

Book a free claims review

Frequently asked questions

Do we need all 12 exam elements documented to bill 92014, or can we bill intermediate instead?

You need all 12 for the comprehensive codes (92004 new patient, 92014 established) plus documentation that a diagnostic or treatment plan was initiated or continued. Documenting three through eleven of the twelve supports the intermediate codes instead (92002 new patient, 92012 established) — fewer than three supports neither eye code, and the visit has to be billed as E/M or not billed as an eye visit at all. Downcoding to intermediate because one element genuinely wasn't performed, rather than upcoding to comprehensive out of habit, is the defensible choice on audit.

Can the same visit be billed partly to a vision plan and partly to a medical plan?

Yes, when the note clearly separates which finding drove which service — the routine refractive portion goes to the vision plan under a routine-exam diagnosis, and the medically necessary portion (a new finding, a systemic disease affecting the eye, follow-up on a diagnosed ocular condition) goes to the medical plan or Medicare with its own diagnosis and its own documented medical decision making. A note that doesn't distinguish the two reasons for the visit can't legitimately support billing two payers for one encounter, and both payers are likely to see the other claim eventually.

Does the three-year new-patient rule reset if a patient switches between eye codes and E/M?

No. New-versus-established status runs off whether any physician of the same specialty and subspecialty in the group has seen the patient face-to-face in the prior three years, regardless of which code family that prior visit was billed under. A patient seen last year under an eye code (92014) is established this year even if this visit is coded as E/M (99213), and the reverse holds just as true — billing a new-patient code on the assumption that a different code family resets the clock is a preventable denial.

Verify before billing. CPT is a registered trademark of the American Medical Association; codes here are paraphrased, not reproduced from the CPT Professional edition. CPT, HCPCS and ICD-10 codes, coverage policy, and bundling edits change, including annual code-set updates. This page reflects standard industry practice and is provided for general education — it is not a substitute for your own compliance review, your current payer contracts, or the current-year code sets. Confirm requirements against your specific payer mix before submitting claims.

Related resources