Senior UX Designer | Oak Street Health | 2 Months

A small, high‑impact feature that cut coding time in half and boosted accuracy by ~90%

Visit Code Calculator

How can we using AI advancements to create an egg freezing assistant to improve women's fertility success rates?

How might we automate visit code entry to maximize patient care time and minimize both administrative burden and financial waste?

Design Process

I front‑load on user research and workflow mapping to remove friction where it matters most. For this project, that meant understanding how providers arrive at codes today, where errors creep in, and what inputs could be safely automated

Role

As Senior UX Designer, I led the end‑to‑end design lifecycle: discovery, research synthesis, interaction design, prototyping, and stakeholder alignment. I partnered with Product, Billing Ops, Revenue Cycle, and Eng for feasibility and launch

Goal

Create an embedded calculator that suggests the correct visit code with minimal manual input, reducing errors, time, and stress while increasing coding accuracy and revenue capture

Outcome

  • ~50% faster code entry (time cut roughly in half)

  • ~90% increase in coding accuracy

  • Reduced provider cognitive load; fewer downstream billing corrections

Project Details

Meet Dr. Lopez

A dedicated physician wrapping charts late after clinic, dreading code entry - a manual, slow, error‑prone
“I just want the right code to be obvious so I can finish and go home - without second‑guessing.”

Meet Our Users: Providers Overwhelmed with Admin Tasks

“I want to feel like I’m not falling behind in life just because I haven’t figured everything out yet. I need support that gets me—something that helps me make smart decisions without scaring me.”

Tech Behaviors

Tracks cycle using Clue app

Uses Headspace for guided meditation

Shops online, values personalized recommendations

Comfortable with chatbots if they feel intelligent and friendly

  • Manual input across multiple fields

  • Error‑prone lookups and rework

  • Time‑consuming to confirm codes

  • Inaccurate billing = lost revenue

  • Unnecessary cognitive overhead

Competitive Analysis

After competitive analysis, I found:

  • Many competitors’ software is clunky; only ask essential questions

  • Use a calculator model: enter inputs and click generate

  • Aim for maximum automation

Analogous Research

From Analogous Research, I drew inspiration from:

  • “Add Ons” in Uber Eats

  • Freelance calculator: time + rate + hours + job type = total cost

  • Haircut with additional services (e.g., highlights): calculate total cost for both

Open-Ended Interviews

After open-ended user interviews, I discovered users wanted:

  • Minimal questions

  • Tailored for Scribes

  • Time-Based (not MDM)

  • Include a special “PDV code” option

  • Display meanings for each code

  • Code submission is the final step, so there will be minimal changes post-submission

Research

Must be accessible inside EMR

Must be accessible inside EMR

Must be accessible inside EMR

Cannot add cognitive overhead

Cannot add cognitive overhead

Cannot add cognitive overhead

Fast: minimal clicks, clear defaults

Fast: minimal clicks, clear defaults

Fast: minimal clicks, clear defaults

Requirements

  • Quickly identify and track high-risk patients

  • Prevent hospital admissions

  • Help care teams work together better

  • Frustration

  • Exhaustion

  • Overwhelmed

Design Audit

"Coding takes forever, and I’m never 100% sure I got it right - I usually just pick a general code to save time"

Conceptualizing Ideas

Mapping User Flow

Given the project’s scope, I organized a Design Jam with my UXD team:

  • Initially, users entered “# of minutes,” but feedback suggested reversing this to “start time” + “end time” for automatic minute calculation to avoid mental math

  • Ideas included a “general timer,” but it requires manual “start/stop” clicks by the Scribe, so we’re seeking more automation

  • Linking to another part of the EMR was a promising idea but, for the MVP, we opted for simplicity. Not all users use that EMR feature correctly, so we aimed to avoid disrupting the workflow

Design Jam

Given the project’s scope, I organized a Design Jam with my UXD team:

  • Initially, users entered “# of minutes,” but feedback suggested reversing this to “start time” + “end time” for automatic minute calculation to avoid mental math

  • Ideas included a “general timer,” but it requires manual “start/stop” clicks by the Scribe, so we’re seeking more automation

  • Linking to another part of the EMR was a promising idea but, for the MVP, we opted for simplicity. Not all users use that EMR feature correctly, so we aimed to avoid disrupting the workflow

Lofi Evolution

Lofi explored:

  1. One‑tap access from any chart state

  2. Auto‑population of known fields

  3. Guardrails to reduce miscoding

  4. Collaboration cues when a second set of eyes is needed

  5. Stays in‑flow; no modal dead‑ends

Adding to Design System

While starting the lo-fi design, I realized our design system lacked a calculator pattern.

I submitted the rationale and benefits for its creation, and it was approved!

Having the questions stacked like that takes up a lot of room, but was necessary to follow the design pattern of questions

Checking for Viability, Testing for Edge Cases

Early Dev Approval

Early in lo-fi creation, I consulted with my dev team to confirm functionality and avoid limitations.

Their advice helps guide my design, ensuring efficiency and preventing wasted effort.

Aside from the detailed annotations and hifi’s, I always like to hand off a super specific user flow mapping to my devs. I find it acts as a concrete instructional manual for them to get behind the workflow.

Task Scenario Testing

I conducted Task Scenario testing with 5 participants, asking 5 questions each:

  • Feedback was positive, but they struggled with the PDV question

  • I realized the design was overly complicated

  • There were edge cases I needed to account for

  • I simplified the question from:

“Would you like to add additional PDV codes for a non-PDV visit?” to “Was this visit scheduled as a PDV?”

Validating User Needs' Met

The user feedback proved to be successful in meeting their needs:

  • “Good, the Scribe doesn’t need to memorize codes”

  • “Easier and faster”

  • “Intuitive”

  • “No hesitations”

Combatting Edge Cases

In combination of the lo-fi phase + user testing, I identified several edge cases:

  • Appointment type may change, requiring updates for new additions

  • Users need manual code search

  • Incorrect code generation; users need a way to enter the correct one

  • Handle scenarios where a patient leaves early and isn’t billed

  • Users should be able to remove one code and add another

Build + Refine

Dev Build Out

While the Devs were building the design, they identified an issue:

  • When re-adding codes, the side panel reset to an empty state, and pulling existing data was too complex given its rarity

  • The solution: disable the “Add Visit Code” button after a code is added. Users must delete each code to re-enable the button. Though not ideal for UX, it was the best option given the time constraints.

UI to Build out Hifi

Hifi refined:

  • Clear primary action hierarchy

  • Inline explanations only when needed

  • System‑recommended code with confidence indicator

  • Quick edit for edge cases; audit trail preserved

“Now the right code just shows up, I barely have to think about it. It saves me at least 10 minutes per chart and I’m confident I’m billing correctly.”

Clickable Prototype

Final Design Call Outs

Measuring Success

50% reduction in time spent on code entry

50% reduction in time spent on code entry

50% reduction in time spent on code entry

90% increase in billing code accuracy

90% increase in billing code accuracy

90% increase in billing code accuracy

Lessons Learned

The Good

Small Changes, Big Impact
A reminder that even small feature tweaks can make a huge difference for both users and business revenue

The Bad

Overcomplicated Design Process
Refining the questions and user flow was more complicated than it needed to be; would have done more user mapping from the jump

Opportunities

Beyond MVP
Future plans include expanding automation features and further integrating the tool to enhance user experience and operational efficiency