← All work
Included Health | Enrollment

Insurance card OCR: designing for every way a scan can fail

Product design
Analytics

Company: Included Health Platforms: Mobile and desktop Measured with: Analytics reason codes

Insurance card OCR: designing for every way a scan can fail

Overview

Adding insurance is the first real task many members face, and a failed card scan used to send them back to the start with no explanation.

When a scan fails, the member blames themselves and the team can’t tell why it failed. Both problems cost us enrollments.

My role

I designed the full insurance card flow on mobile and desktop, partnering closely with engineering.

  • Photo and upload paths, plan matching, confirming details and coverage confirmation.
  • A continue-without-insurance path so no one gets stuck.
  • Eight failure states, each mapped to an analytics reason code.
  • An accessibility pass for iOS Largest Text, and a spec mode that copies exact component names for engineering.

Approach

  • Tell the truth about what failed. A file problem, an unreadable photo and an engine error each get their own message. When the engine fails, we say so, instead of asking the member to retake a photo that was never the problem.
  • Give a way out after two tries. After a second unreadable photo, “More ways to add coverage” moves from a text link to a button.
  • Measure every failure. Each state logs a reason code, so the team can see where scans break and fix the right thing.

Solution

Impact

  • Every failure path now ends with a clear next step instead of a dead end.
  • Engineering builds from exact component names and token values instead of guessing from screenshots.
  • Packaged as its own repo so the team can copy the demo and keep building.

Designing for failure made the happy path stronger.

See more of my work

All case studies →
Let’s work together!
Designed and coded with ❤ by David Moore. Copyright 2023. All rights reserved.