Remedly · Insurance billing

Multi-diagnosis & CPT code selection for insurance billing

I redesigned Remedly’s invoice screen so medical practices can bill treatments with multiple diagnoses and multiple CPT codes accurately, without leaving the system.

Try the interactive prototype

Recreated with Claude from the original product designs.

The redesigned Remedly New Invoice screen, with close-ups of selecting multiple diagnoses and mapping them to CPT codes
Role
Lead Designer
Platform
Desktop
Team
Product, Engineering, Compliance
Status
Shipped

At a glance

One visit, many diagnoses, many codes

Problem

The invoice screen assumed a one-to-one relationship between a diagnosis and a CPT code. Real treatments often involve several of each, so complex cases needed manual workarounds outside the system.

My contribution

As lead designer, I owned the UX end to end: workflow modeling, competitive and standards research, iterative prototyping, and validation with the billing team.

Key decisions

  • Select all applicable diagnoses up front
  • Add multiple CPT codes, each with modifiers and units
  • Link each CPT to its diagnoses from a pre-populated list

Outcome · Shipped

  • Enabled accurate billing for multi-diagnosis treatments
  • Reduced manual workarounds and billing errors
  • Aligned system behavior with CMS standards

Overview

Insurance claims need the full clinical picture

During a patient visit, when insurance is selected as the payment method, medical practices must submit claims with accurate diagnoses and corresponding CPT codes. Many treatments address multiple diagnoses and require multiple CPT codes, often with different units and modifiers.

The existing payment flow didn’t support this real-world complexity, which led to billing errors, rework, and claim rejections.

The original invoice screen, with a single Diagnosis search field, a single CPT Codes field, and one set of modifiers.
Before: one diagnosis field, one CPT field, one set of modifiers.

Problem

The system assumed one diagnosis maps to one CPT code

Key limitations

  • Only one diagnosis could be selected per visit
  • Each diagnosis could support only one CPT
  • CPTs couldn’t be mapped across multiple diagnoses
  • Complex treatments required manual workarounds outside the system

Real-world example

A provider treats 15 moles

Billing that one visit takes three CPT codes. Each may need different modifiers, specific units, and an association with one or more diagnoses.

The system couldn’t handle this logic without errors.

  • 17000 First lesion
  • 17003 Lesions 2–14 (with units)
  • 17004 15+ lesions

Goals

Match the screen to how billing really works

  1. Support multiple diagnoses per visit
  2. Allow multiple CPTs per diagnosis
  3. Preserve billing accuracy and compliance (CMS-1500)
  4. Reduce cognitive load for front-office and billing staff
  5. Align the UI with real-world medical billing workflows

01 DiscoverResearch

Grounding the design in billing standards

I focused on three areas to make sure the design reflected both medical billing standards and how staff actually work.

1

Standards review

  • Studied how diagnoses and CPTs are entered on the CMS-1500 claim form
  • Mapped relationships between diagnoses, CPTs, modifiers, and units
2

Competitive & comparative analysis

  • Reviewed workflows from several medical billing and EHR systems
  • Analyzed how other platforms handle multi-diagnosis treatments, CPT grouping, and diagnosis-to-code mapping
3

Internal stakeholder interviews

  • Partnered with internal billing specialists
  • Validated edge cases, common errors, and mental models
  • Identified where current workflows caused confusion or rework

02 ExploreExploration

Exploring how to group and assign codes

I explored several layouts for CPT grouping, diagnosis assignment, and error prevention before arriving at the final design.

Option A: numbered CPT code rows, each with modifiers, a diagnosis field with an Apply to all checkbox, and a date field.
Option A · Numbered CPT rows, each with modifiers, a diagnosis field with “Apply to all,” and a date.
Option B: numbered CPT code rows with modifiers and a diagnosis field with an Apply to all checkbox, without a date field.
Option B · The same CPT-first structure without the date field.
Option C, first variation: a diagnosis field beside numbered CPT code rows, each with modifiers and a charge.
Option C · Diagnoses beside per-CPT charges.
Option C, second variation: a diagnosis list with Add Diagnosis, a multi-select CPT field, and modifiers for each selected CPT code.
Option C, variation · A multi-select CPT field with modifiers listed for each selected code.

03 DecideKey design decisions

Four decisions that shaped the solution

1

Diagnosis pre-selection

  • Users select all applicable diagnoses up front for a treatment
  • Diagnoses persist across CPT selection
2

Flexible CPT assignment

  • Users can add multiple CPT codes
  • Each CPT has a diagnosis association (via a pre-populated dropdown), modifiers, and units
3

Clear hierarchy & mapping

  • The visual structure makes it clear which CPTs belong to which diagnoses, and how units and modifiers apply
  • Reduces errors without adding complexity
4

Iterative validation

  • Explored multiple design patterns for CPT grouping, diagnosis assignment, and error prevention

04 DeliverSolution

A redesigned payment & billing flow

I redesigned the existing payment screen to better reflect real-world medical practice while keeping the interface intuitive and efficient.

Step 1

Select every diagnosis for the visit

When the charge goes to insurance, staff search for and select all applicable diagnoses at once. Each one appears as a removable chip.

The Diagnosis dropdown open with a search field and checkboxes; one diagnosis is checked.
Step 2

Add a CPT code with modifiers and a charge

Each CPT line holds the CPT code, up to four modifiers, a quantity, and a charge. The total updates as charges are entered.

A CPT line with code 01230 selected, modifiers 5, 88, 19, and 11, and a $250.00 charge; three diagnoses selected above.
Step 3

Link the CPT to its diagnoses

The Associated Diagnosis dropdown is pre-populated with only the diagnoses selected above, so staff choose from the diagnoses already recorded for the visit.

The Associated Diagnosis dropdown on a CPT line, listing the three diagnoses selected earlier.
Step 4

Map many diagnoses to many codes

A single CPT can carry more than one diagnosis, and additional CPT lines can be added for complex treatments, all in one clear structure.

A CPT line linked to two diagnoses, with a second empty CPT line added below and a $250.00 total.

05 PrototypeTry the prototype

Build an insurance invoice

A working recreation of the final New Invoice screen. Select diagnoses, add CPT lines, and create the invoice.

Open full screen
  1. Open Diagnosis and select two or three diagnoses.
  2. Pick a CPT code, then add modifiers, quantity, and a charge.
  3. Use Associated Diagnosis to link the CPT to one or more diagnoses.
  4. Add another CPT line, then Create Invoice. Try submitting early to see validation.

06 OutcomeOutcome

Shipped

Billing that reflects real treatments

Enabled accurate billing for multi-diagnosis treatments

Reduced manual workarounds and billing errors

Improved claim readiness and confidence for staff

Aligned system behavior with CMS standards and real clinical workflows