HCPCS code S0620 – Routine eye exam with refraction, new patient
S0620 is the HCPCS code for a routine eye exam, including refraction, for a new patient. It's a temporary national S-code. Medicaid plans and many commercial insurers pay it, but traditional Medicare never does.
One rule decides most claims: the visit has to stay routine. Once the patient reports a symptom, the exam becomes a medical eye visit or E/M service. Get the payer and the visit type right, and you avoid the most common denials. Below, you'll see where S0620 ends and S0621, G0117 and the medical codes begin, plus a checklist to run before you submit.
- Code range
- S0000-S9999 Temporary national codes (non-Medicare)
- Category
- S Temporary national codes (non-Medicare)
- Medicare status
- Not payable under traditional Medicare
- Billable
- No
- Code also known as
- routine eye exam, annual eye exam, comprehensive eye exam, eye check-up
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
S0620 is the HCPCS code for a new patient’s routine eye exam with refraction. S0621 is the parallel code for established patients.
Traditional Medicare does not pay S-codes, so S0620 goes to Medicaid managed care, commercial plans and some Medicare Advantage plans.
Any symptom or complaint turns the visit into a medical eye visit or E/M service, which S0620 cannot report.
Who may bill S0620 is payer-specific, so check each contract before an optometrist or ophthalmologist submits it.
Link Z01.00 or Z01.01 as the primary diagnosis, because a symptom code tells the payer the visit was medical.
HCPCS code S0620 reports a new patient’s routine eye exam
HCPCS code S0620 reports a routine ophthalmological examination, including refraction, for a new patient. It covers the annual preventive visit an asymptomatic patient books for a check-up and a new prescription.
S-codes are HCPCS Level II temporary national codes, created for payers other than Medicare. Medicaid programs and commercial insurers use them. CMS maintains them in the HCPCS Level II code set, but Medicare does not pay them. That applies across the range, so HCPCS code S0630 for suture removal by a second provider is denied for the same reason.
Here’s the code at a glance.
Watch the “new patient” qualifier in the descriptor. A returning patient’s routine exam goes on S0621 instead, which the comparison below covers.
What S0620 covers, and when a visit stops being routine
Many S0620 errors start at the line between a routine exam and a medical visit. The code covers preventive, asymptomatic encounters only.
Covered by S0620:
- Refraction and visual acuity testing
- External eye exam and anterior segment check
- Funduscopic evaluation, dilated or undilated
- Intraocular pressure measurement as part of the routine exam
- Routine check of extraocular movements
- History and medication review within the routine visit
Not covered by S0620:
- Any visit where the patient presents with a complaint, such as blurred vision, eye pain, floaters or redness
- Post-operative follow-up visits
- Medical eye visit codes (CPT 92002, 92004, 92012, 92014) or E/M codes
- Glaucoma screening visits that meet the G0117 or G0118 criteria
- Contact lens fittings or spectacle services billed separately
- Established patient routine exams, which use S0621
So here’s the quick test. If the note says “patient complains of” or records any symptom, the visit is no longer routine. Recode it to the right medical eye visit or E/M code before you submit.
S0620 vs S0621: Patient status is the only split
S0620 and S0621 are a matched pair. Both cover routine ophthalmological exams with refraction, and they split on one axis: new vs established patient.
Under the CPT rule most payers follow, a new patient hasn’t had professional services from your physician in the past three years. The same applies to any physician of the same specialty in your group.
Neither descriptor limits who can bill the code. Instead, each payer sets provider eligibility. Many Medicaid programs and vision plans accept S0620 and S0621 from optometrists, while some plans restrict them to ophthalmologists. Check each payer’s policy before the first claim goes out.
S0620 vs G0117 and G0118: When glaucoma screening takes over
G0117 and G0118 are Medicare’s glaucoma screening codes for high-risk beneficiaries. Billers sometimes confuse them with S0620, yet they aren’t interchangeable.
G0117 covers screening by an optometrist or ophthalmologist. G0118 covers screening under their direct supervision.
The working rule is simple. With no complaints and a Medicaid or commercial payer, bill S0620. With a high-risk Medicare patient, bill G0117 or G0118. Traditional Medicare denies S0620 whatever the glaucoma risk, because it doesn’t pay S-codes.
Pro Tip
Document the absence of complaints explicitly in the clinical note. A phrase such as ‘Patient presents for annual eye examination. No visual complaints, eye pain, or new symptoms reported.’ protects the S0620 selection during a payer audit and prevents upcoding scrutiny.
Pick the right eye exam code in four questions
When the front desk and the coder disagree, run the visit through four questions, in order. The first yes routes the visit, as the flow below shows.

- Did the patient report a symptom? Then it’s a medical visit. A new patient’s comprehensive exam, for example, goes on CPT 92004.
- Is the payer traditional Medicare? S0620 won’t pay. A high-risk patient may qualify for G0117 or G0118 instead.
- Has your practice seen the patient in three years? Use S0621, assuming the same specialty saw them.
- None of the above? S0620 is the code. Then confirm the payer lets this provider bill it.
Z01.00 and Z01.01 carry the S0620 diagnosis
S0620 needs an ICD-10-CM code that confirms the encounter was routine. A symptomatic diagnosis code is one of the fastest ways to get the claim denied.
Never attach a symptom code, such as H53.x for a vision disturbance or H57.x for ocular pain, to an S0620 claim. The diagnosis has to back up the routine character of the visit.
Medicaid and commercial plans pay S0620, traditional Medicare won’t
Payer acceptance is the first thing to confirm before an S0620 claim goes out. Here’s how the main payer types treat it.
Confirm acceptance through insurance eligibility verification when you book, not when you bill. A Medicaid patient recently moved into an MCO may now have a routine vision benefit they didn’t have before.
Documentation that holds up in an S0620 audit
An S0620 note has to prove three points. The exam was routine, the rendering provider is eligible under the payer’s contract, and the diagnosis is a routine-exam code. Auditors check those first.
A compliant S0620 note includes:
- Eligible rendering provider: The rendering NPI must be enrolled with the payer as a provider type its contract allows. That means an ophthalmologist or, where the payer permits, an optometrist.
- Explicit asymptomatic status: State in the chief complaint or reason for visit that the patient has no complaints. Auditors look for this element first.
- Date and place of service: POS 11 (office) is standard for most S0620 visits, and it must match your contract.
- Refraction performed: The descriptor includes refraction. So the note confirms it was done, or records the clinical reason it wasn’t.
- ICD-10 linkage: Attach Z01.00 or Z01.01 as the primary diagnosis. For a diabetic patient, add the E-code as secondary.
- Same-day medical visit: If a complaint comes up and a medical service is billed too, document it separately. Payer rules on billing both vary, so check before you submit.
Using one note template across providers makes these elements hard to skip. It’s also a sensible first step in any medical billing compliance program for eye care.
Common S0620 denials, and the fix for each
S0620 denials tend to fall into six patterns, and each one has a clear fix.
Structured denial management workflows can catch these before the claim leaves. If a remittance shows a reason code you don’t recognize, look it up in our list of common denial codes.
How S0620 feeds the HEDIS diabetic eye exam measure
S0620 also matters for quality reporting. Medicaid managed care organizations track the HEDIS Eye Exam for Patients with Diabetes (EED) measure. A properly coded S0620 claim can count toward it.
The National Committee for Quality Assurance (NCQA) maintains the measure. It asks that members with diabetes get a retinal or dilated eye exam each year. An S0620 claim counts when:
- The member has a qualifying diabetes diagnosis (E10.x or E11.x as a secondary code)
- The rendering provider is an ophthalmologist or optometrist
- The note documents a dilated or retinal evaluation
- The date of service falls within the measurement year
Payers running supplemental HEDIS data collection may ask for charts, even on paid claims. Document the dilated exam, and attach both Z01.00 and the diabetes E-code. That way the visit counts on the MCO’s quality scorecard.
Pro Tip
Ask each Medicaid MCO you contract with whether it shares an EED gap list. If it does, request it every year. Then book recall visits for diabetic patients who haven’t had an eye exam in the last 12 months.
Before you submit: How an S0620 claim moves
A routine eye exam claim passes through five hands, and each step can stop it.
- Scheduling: The front desk checks routine vision benefits, frequency and prior authorization.
- Exam: The provider documents no complaints, the refraction and any dilated findings.
- Charge entry: The biller picks S0620 or S0621 and links Z01.00 or Z01.01.
- Submission: The claim goes to the clearinghouse with the payer’s allowed amount loaded.
- Remittance: The payment or denial posts, and denials go back for a fix within the appeal window.
Then run this checklist on every S0620 claim:
- The payer isn’t traditional Medicare, and your system flags Medicare as excluded for S0620
- The patient is new under the three-year rule, otherwise use S0621
- The note says no complaints and confirms the refraction
- Z01.00 or Z01.01 is the primary diagnosis, with any diabetes code as secondary
- Each contracted payer’s allowed amount is entered in your fee schedule
- Prior authorization is attached where the payer requires it
- No 92015 refraction line on the same claim
How Pabau keeps S0620 claims clean before they reach the payer
In many eye care practices, benefits get checked by phone and codes get retyped into a clearinghouse portal. Then claims go out missing an authorization number. Each of those steps is a chance for an S0620 denial.
Pabau, the practice management and billing platform we build, uses record-linked claims management to fill the claim form from the patient record. The HCPCS code on the service lands on the charge line, and the diagnosis comes from the recorded problem list. Built-in ICD-10, CPT and HCPCS libraries let your biller look up a code without leaving the claim.
Before a claim can send, Pabau checks that required fields like membership and authorization numbers are complete. US practices also get eligibility checks, ERA posting and claim status tracking through Claim.MD. So your team spends less time chasing remittances and more time with patients.
Send cleaner routine eye exam claims
Pabau pre-fills each claim from the patient record and holds it until required fields are complete. US practices also get eligibility checks, ERA posting and claim status tracking through Claim.MD.

Conclusion
S0620 rarely denies because the exam was wrong. It denies because the claim went to Medicare, carried a symptom code, or came from a provider the payer doesn’t allow. Each of those can be settled before the patient sits in the chair.
So move the checks upstream. Confirm the payer and benefit at booking, keep the note free of complaints, and check each contract’s provider rules once, not claim by claim. The trade-off is a few minutes at scheduling against weeks in the denials queue.
Book a demo to see how Pabau gets routine eye exam claims out complete the first time.
Continue your research
Want to cut denials across every payer? Denial management in healthcare covers how to track, appeal and prevent denials as a routine.
Need a claim that pays on first pass? Submitting a clean claim walks through the elements every claim needs before it leaves the practice.
Building an audit-ready billing process? Medical billing compliance outlines the documentation standards that protect a practice during payer reviews.
Billing a returning patient’s medical eye visit? CPT code 92012 explains the intermediate eye exam for established patients.
Seeing a new patient with a complaint? CPT code 92002 covers the intermediate eye exam for new patients.
Frequently asked questions about HCPCS code S0620
Is S0620 a billable code?
Yes, with payers that recognize S-codes, such as Medicaid programs and many commercial and vision plans. Traditional Medicare doesn’t pay S-codes, so it denies S0620 every time.
Can I bill S0620 if the exam finds a problem?
Yes, as long as the patient came in without complaints. A finding made during a routine exam doesn’t turn it into a medical visit. Code Z01.01 and treat any follow-up for that finding as a medical visit.
Can I bill CPT 92015 with S0620?
No. The S0620 descriptor already includes refraction, so a separate 92015 charge duplicates it. Payers that accept S0620 deny or bundle the extra refraction line.
Does S0620 require a dilated exam?
No. The routine exam can include a dilated or undilated fundus check. For a diabetic patient, though, document a dilated or retinal exam so the visit counts toward the HEDIS EED measure.
Is S0620 the same as CPT 92004?
No. CPT 92004 is a comprehensive medical eye visit for a new patient, and refraction is billed separately. S0620 is a routine, asymptomatic exam with refraction built in.
What does S0620 pay?
There’s no Medicare rate to anchor it. Each payer sets its own allowed amount in your contract, so load those rates into your fee schedule payer by payer.



