Optometry AI Receptionist: Exam Types and Lens Reorders

On this page
An optometry practice looks simple on the phone. People book an exam, ask about glasses, or reorder contacts. For a team shipping a voice agent into practice-management software, each of those calls writes a record that someone downstream trusts.
A wrong exam type changes which insurer gets billed. A swapped eye changes the lenses in the box. A missed "curtain over my vision" is a medical emergency heard by software.
This post is for product and engineering teams who built an optometry AI receptionist themselves and run it across many practices. An AI receptionist for optometrists has a narrower job than a general front desk, and narrower failure modes. It covers where optometry calls break, what the contact lens rules require, and how to test the order record. It is not legal or clinical advice. Rules were checked against the sources linked below in November 2026.
Why the call is the front door to an order record
The caller never sees the record. They say "reorder my usual contacts." The agent must turn that sentence into a brand, a power per eye, a base curve, a diameter, a quantity and a fulfillment method. Then it must write that to the practice system.
That is an agentic workflow: capture, system action, confirmation, write-back. Speech errors enter at capture and surface days later, when a box arrives wrong or a claim bounces.
Nothing throws an error along the way. The record looks valid. The two numbers are just attached to the wrong eyes.

Three things make optometry harder than most appointment lines:
1. Numbers carry signs and decimals. "Minus two fifty" is -2.50. "Two fifty" is something else.
2. Two eyes, two values. Right and left rarely match, and callers say "my bad eye."
3. Money splits two ways. The same visit can bill a vision plan or a medical plan.
Compare this with a dental scheduling agent, where the main risk is the visit slot. Here the risk is in the values attached to the visit.
Exam types: the booking field that decides who pays
Optometry appointment scheduling is a classification problem before it is a calendar problem. Eye exam scheduling hides several visit types behind one phrase, and an "eye exam" is not one thing on the schedule. The visit type often decides which payer is billed, how long the slot is and what the patient owes.
Billing guidance from a coding adviser puts it simply: medical insurance is billed for medical issues, and vision insurance for routine eye examinations. A red-eye complaint is medical. A request for new glasses or contacts is refractive and routine. When a patient has both, the patient keeps the choice to use vision benefits for the refractive part. An agent cannot decide that for them.
Original Medicare adds a trap. Medicare.gov says Original Medicare does not cover routine eye exams, sometimes called refractions, for glasses or contacts. Some Medicare Advantage plans cover more, so callers get different answers.
| Caller says | Likely visit type | Who may be billed | Agent risk |
|---|---|---|---|
| "I need new glasses" | Routine vision exam | Vision plan or self-pay | Books a medical slot by default |
| "My eye is red and itchy" | Medical eye visit | Medical insurance | Books routine, wrong payer |
| "Glasses and my eye hurts" | Mixed complaint | Patient's choice, staff decides | Picks one silently |
| "I want to try contacts" | Exam plus contact lens fitting | Varies by plan | Skips the fitting add-on |
| "My son's school check" | Pediatric exam | Varies by plan | Wrong slot length |
| "Follow-up on my glaucoma" | Medical follow-up | Medical insurance | Booked as routine |
Visit names and billing rules vary by practice and plan. The table shows failure modes to test, not a billing rule.
Contact lens fitting is its own step
The FTC rule (16 CFR 315.2) defines a contact lens fitting as the process that begins after an initial eye examination for contact lenses. It ends when a successful fit is achieved, or when a renewal needs no change. Follow-up visits may be part of it.
So a caller who says "I just want to renew my contacts" may need a fitting visit, not only an exam. If your agent books a plain exam, the patient may leave with no usable contact lens prescription. Test that scenario.
New versus existing patient
Existing patients have an Rx on file, a last exam date and often a preferred doctor. A new patient has none of these. An agent that matches "Maria Lopez" to the wrong chart attaches a new exam to someone else's record. That is a privacy problem and a billing problem.
Read-back should include date of birth or another second identifier before any chart-linked action. This is the same discipline described in our healthcare AI receptionist QA guide.
Urgent symptoms come before any booking logic
Some callers should never reach a scheduling flow. The National Eye Institute lists warning signs of retinal detachment: many new floaters, flashes of light in one or both eyes, and a dark shadow or "curtain" across the field of vision. It states plainly that retinal detachment is a medical emergency and says to get seen right away by an eye doctor or at an emergency room.
A caller will not use those words. They will say "it's like a curtain coming down" or "my left eye went dark an hour ago." Some will bury it: "I'd like to book my annual, oh, and I'm seeing lightning flashes."
Your agent needs a symptom check that runs on every call, not only calls that start with "emergency." The routing tree below puts it first.

Test three things:
- Burying. The symptom appears after a routine request.
- Soft language. "Weird shadow," "curtain," "like a veil."
- Late disclosure. The caller mentions it mid-confirmation.
The pass condition is a live-staff handoff, with the symptom text in the handoff note. The agent should not diagnose, reassure or offer a next-week slot. Clinical thresholds belong to your practices' clinicians, so get their sign-off on the symptom list.
Coverage questions: describe, never promise
"Does my insurance cover this?" is the riskiest question on the line. The agent usually cannot know the answer. Benefits depend on the plan, the group, the visit type and whether the complaint is medical or routine.
Medicare.gov shows how fast the answer changes: routine refraction exams are excluded from Original Medicare but may appear in a Medicare Advantage plan.
The safe script describes the process without promising an outcome. For example: "The office will check your benefits before the visit. I can't confirm coverage on this call." Then log the plan name and member ID for staff.
Frame allowance, contact lens allowance and "in lieu of glasses" rules are plan details. Do not let the agent quote them from a prompt. Treat any sentence like "that's fully covered" as a failed call.
Contact lens reorders: the rules your agent must respect
This is where a legal rule meets a voice workflow. The FTC's Contact Lens Rule is 16 CFR Part 315. As of November 2026, the following points come from the rule text on Cornell LII, the FTC's guide for prescribers and sellers and its FAQs.
- The prescription must be valid. A seller may fill an order only with a valid copy of the prescription or after verifying it. The FTC FAQ says all contact lenses require a valid prescription.
- One year minimum. Under 16 CFR 315.6, a prescription expires on the state-law date, or not less than one year after issue, unless the prescriber sets an earlier date for a documented medical reason.
- Exact brand. Under 315.5(f), a seller may not alter a prescription, including by supplying a different brand unless the patient provided that name. Only identical private-label lenses can be swapped.
- Required content. The prescription includes power, material or manufacturer, base curve or equivalent designation, and diameter when appropriate (315.2).
- Release after fitting. The prescriber must give the patient a copy at the end of the fitting, per FTC guidance.
The FDA says the same thing in consumer terms. Always have a current, valid prescription when ordering. Do not order with an expired one. Be wary of a swapped brand, because brands differ in shape and water content.
Who the rule applies to
The rule's seller duties apply to whoever sells the lenses. If your product places or routes reorders, which duties land on you depends on your contract and who fulfills the order. Ask counsel. The engineering takeaway is simpler: build the gate as if the rule applies.
The gate, in order
A reorder flow should pass five checks in this order:
1. Identify the patient with two identifiers.
2. Check for urgent symptoms (red eye, pain, sudden change).
3. Find a valid Rx on file. If expired or missing, stop and offer an exam booking.
4. Pull brand, power per eye, base curve and diameter from the Rx record. Do not accept them from the caller's memory.
5. Read the order back with eye labels, then confirm pickup or ship.
Step 4 is the key design choice. Callers say "my usual." The record says "Brand X, OD -2.50, OS -3.25, BC 8.6, DIA 14.2." The agent should present the record and ask the caller to confirm it. If the caller disagrees ("my left one changed"), stop. A changed prescription needs an exam, not a note.
Expired prescriptions
An expired prescription is the cleanest test case. The caller wants their lenses, the agent finds a prescription issued 14 months ago, and the practice's expiration rule says no. The correct behaviour is to explain, offer an exam booking and hand off. Quietly ordering is a failure.
Do not hard-code "one year" everywhere. Contact lens prescription expiration is a field on the prescription, because state law or a prescriber's medical judgment can change it. Read the field.
Inbound verification calls
Here is a gotcha for agents that answer the practice's main line. Sellers can verify a prescription by contacting the prescriber, and under 315.5(c) it counts as verified if the prescriber does not respond within eight business hours. The FTC guide defines a business hour as 9 a.m. to 5 p.m., Monday to Friday, excluding federal holidays, in the prescriber's time zone.
The rule also allows automated verification calls, which must identify themselves as a prescription verification request and be recorded in full (315.5(d)).
An AI receptionist could receive one of these. It must not confirm or deny the prescription by itself. It should capture the details, time-stamp the call and route it to staff, because silence is treated as consent. If the prescriber says the prescription is inaccurate, expired or invalid, the seller must not fill it (315.5(e)). Your handoff must be fast enough for staff to say so inside the window.
Why speech errors hit these fields
Optometry values are short and look alike. Several mechanisms matter.
Digits and decimals. Phone audio is typically narrowband. Digit strings are a known weak spot. In one paper on phone transactions, "Digits micro-model for accurate and secure transactions", Whisper-Large had a 4.6% word error rate and Google's numeric-only setting 2.9%, on a 1,149-utterance test set. A purpose-built model got 1.8%. Those figures are not eye prescriptions, but the direction is clear: numbers are harder than words.
Word error rate hides entity errors. A February 2026 preprint, "Sorry, I Didn't Catch That", tested 15 speech models on U.S. street names. Whisper-Large scored 14% overall WER but a 27% error rate on the street names themselves. Averaged across models, 44% of street names were wrong. The authors argue that WER gives an incomplete picture for critical information. Lens brand names behave like street names: rare, domain-specific entities.
Sign and decimal collapse. "Minus two fifty" can arrive as "two fifty," "-2.5" or "2.15." The minus sign is the part that changes the lens type.
Right and left. "Right" is also "write." A caller who says "my right is the weaker one" can be heard as "my light." Worse, the caller may use the words backwards from the chart's OD and OS convention. OD is the right eye and OS is the left, from the Latin terms, per Cleveland Clinic. Some offices write RE and LE instead.
Worked example: compounding risk
This is an illustrative assumption, not a measurement. Suppose each of six reorder fields is captured correctly 98% of the time, independently: brand, OD power, OS power, base curve, diameter and quantity.
The chance all six are right is 0.98^6, about 88.6%. About 1 order in 9 carries at least one wrong field. With 3,000 reorders a month across your practices, that is roughly 340 flawed orders.
Pulling values from the Rx record shrinks the problem for any optometry AI receptionist. Only brand confirmation and quantity come from speech. Then the risk sits in two fields, not six.
What to test on an optometry AI receptionist
Do not score an optometry AI receptionist on its transcript alone. Score the stored order against the Rx on file, and score the audio for what the caller actually said.

Here is a simplified order-record check. It assumes your system exposes the stored order and the prescription as dictionaries. Field names are placeholders.
from datetime import date
def check_reorder(order, rx, today=None):
today = today or date.today()
errors = []
if rx is None or rx["expires"] < today:
if order.get("status") != "blocked_needs_exam":
errors.append("order placed on missing or expired Rx")
return errors
for eye in ("od", "os"):
for field in ("brand", "power", "base_curve", "diameter"):
if order[eye][field] != rx[eye][field]:
errors.append(f"{eye}.{field}: {order[eye][field]} != {rx[eye][field]}")
if order["od"]["power"] == rx["os"]["power"] != rx["od"]["power"]:
errors.append("od and os powers look swapped")
if order.get("fulfillment") == "ship" and not order.get("ship_address"):
errors.append("ship chosen but no address on file")
return errorsRun it on every test call. A pass means no errors from the stored order, not a good-sounding transcript.
How to test an optometry AI receptionist
1. List your scenarios from the prompt and flows. Cover exam types, new and existing patients, pediatric bookings, reorders, expired prescriptions, pickup versus ship, coverage questions, and urgent symptoms.
2. Build caller profiles. Vary accent, speech pace, interruptions, response delay and background noise. A parent calling from a car is a different test from a patient at home.
3. Seed the practice data. Create patients with right and left powers that differ, one expired Rx, one missing Rx and two patients with similar names.
4. Run each scenario over the real phone path. Use PSTN, SIP or WebRTC as your agent does, so codecs and latency match production.
5. Score the stored order, not only the transcript. Compare every field with the Rx. Check exam type against the labelled complaint.
6. Add zero-tolerance gates. Any missed urgent symptom, any order on an expired Rx, any coverage promise, and any swapped eye fails the build.
7. Repeat on every prompt or flow change. Run the same set before each release and compare results, so a fix for one case does not break another.
8. Monitor production calls. Sample recordings, map them to scenarios and review the failures with a human.
Where simulation and monitoring fit
Evalgent generates test scenarios from your agent's prompt and flows, including states, branches, hard constraints and coverage gaps. That is how you find the reorder branch nobody wrote a test for.
It also simulates callers with different accents, pace, interruption levels and background noise, over phone, SIP or WebRTC. It judges from the audio, not only the transcript, because "minus" dropped in a noisy call may never appear in the text. Evalgent works with teams to set up evals for their first agent.
In production, you can push call recordings. Evalgent transcribes them, maps them to scenarios and flags failures such as tool-call failures, PII leakage and policy failures. For how this works on the dental side, see our dental recall analysis. For wider healthcare checks, see voice agent testing for healthcare.
Neighbouring posts cover similar record-integrity problems in other settings: pharmacy refill lines, prescription refill calls, physical therapy scheduling and vet reminder calls. For metrics on intake agents, see healthcare intake voice agent metrics.
Frequently asked questions
What can an optometry AI receptionist do?
It can answer calls, book exam types, collect patient details, take contact lens reorder requests and route urgent symptoms to staff. It should not diagnose, promise insurance coverage or order lenses without a valid prescription. Its value depends on writing the right record, not on sounding natural.
Can an AI receptionist reorder contact lenses?
It can take the request, but the order must match a valid prescription. Under the FTC Contact Lens Rule, a seller may fill an order only with a valid copy or a verified prescription. A good agent pulls the values from the Rx record and reads them back, rather than trusting what the caller remembers.
Can you order contact lenses with an expired prescription?
No. The FDA advises against ordering with an expired prescription, and the FTC rule bars filling one a prescriber has said is expired. The agent should explain that, offer an exam booking and hand off to staff. Expiration is at least one year from issue unless state law or a documented medical reason says otherwise.
How long is a contact lens prescription valid?
Under 16 CFR 315.6, it is valid until the state-law date, or not less than one year after issue, unless the prescriber sets an earlier date for a documented medical reason. State law can set a longer period. Your system should read the expiration date from each prescription instead of assuming one year.
What is the difference between a routine and a medical eye exam?
A routine exam addresses vision correction, such as glasses or contacts, and is usually billed to a vision plan. A medical exam addresses a health problem, such as a red eye, and is billed to medical insurance. Mixed complaints need staff, because the patient chooses how to use their benefits.
Should an AI receptionist answer insurance coverage questions?
It should not promise coverage. Benefits depend on the plan, the group and whether the complaint is medical or routine. The agent can explain that the office will check benefits before the visit, then log the plan and member details for staff. Any "that's covered" statement should fail your tests.
How should an AI receptionist handle eye emergencies?
It should hand off to live staff immediately when a caller describes sudden vision loss, flashes, new floaters or a curtain across their vision. The National Eye Institute calls retinal detachment a medical emergency. The agent should not diagnose or offer a later slot, and should pass the caller's exact words to staff.
How do you test an optometry voice agent?
Generate scenarios for exam types, reorders, expired prescriptions and urgent symptoms. Run them with varied accents, noise and speech pace over the real phone path. Then compare each stored order with the prescription on file. Add zero-tolerance gates for missed emergencies, expired-Rx orders, swapped eyes and coverage promises.
The bottom line
An optometry AI receptionist is only as good as the record it leaves behind: the exam type, the eye labels and the prescription match. Test the stored order against the prescription on file, route urgent symptoms first, and treat every coverage promise and expired-Rx order as a failure.
Related Articles

How to automate voice agent testing: synthetic callers vs manual QA
Learn how ai test automation replaces manual QA for voice agents. Compare synthetic callers vs human testers, with a 5-step framework to scale without hiring.
Read more
AI Agent Testing vs Voice Agent Testing: What General Tools Miss for Voice
AI agent testing measures text outputs. Voice agent testing measures behaviour through an acoustic pipeline. Five failure categories general tools miss.
Read more