UX Lead — Enterprise SaaS — EMS / NEMT

Traumasoft
Holistic Scheduling &
Enterprise Design System

A 12-week multi-phase UX engagement to redesign the Scheduling and CAD workflows of a legacy EMS platform, and deliver a production-ready Enterprise Design System from scratch.

Role
UX Lead / Senior Product Designer
Team
3Pillar Global — Xavier, Alan, Mario, Nubia, Luis, Don
Scope
Research · Holistic Scheduling · CAD · Enterprise DS
Outcome
4 Personas · Journey Maps · DS v1.0 · Adoption Plan · Strategic UX Report
Phase 1: Foundations Phase 2: Personas & Journeys Phase 3: Usability Testing Phase 4: Enterprise DS
Traumasoft
CAD Grid — Active Units
Scheduler
ALS-0517 · Burke
BLS-1123 · Open Shift
ALS-0808 · Bell
Design System
Inter · 8dp grid · v1.0
Storybook Ready ✓
01 — Product & Context

What is Traumasoft?

Traumasoft is an all-in-one cloud-based SaaS platform built for EMS (Emergency Medical Services) and NEMT (Non-Emergency Medical Transport) operations. It covers the entire operational lifecycle — from dispatch and CAD, to scheduling, ePCR documentation, billing, fleet management, and employee portal — and is updated bi-weekly in production for hundreds of ambulance companies across the US.

Despite its comprehensive coverage, the platform carried years of legacy UI debt. Users across multiple client companies consistently reported interface complexity, dense information architecture, low visual hierarchy, and stability friction. Traumasoft partnered with 3Pillar Global to bring a structured UX approach — starting with the two highest-impact modules: Holistic Scheduling and the CAD Grid (Computer-Aided Dispatch) — while simultaneously building an Enterprise Design System that could scale to every module.

🚑

EMS / NEMT Operations

Supports ambulance companies of all sizes — from regional fleets to multi-state networks. Users range from field paramedics to system administrators and dispatch supervisors.

☁️

Cloud-Based, Bi-Weekly Releases

The platform deploys updates every two weeks, requiring the design system to be production-ready quickly. Engineering and design velocity were non-negotiable constraints.

🧩

Multiple Interconnected Modules

CAD, Scheduling, ePCR, Billing, Fleet, Employee Portal, HR, Payroll — all deeply interconnected. UX decisions in Scheduling had direct downstream effects on CAD and payroll reconciliation.

Legacy Platform Screenshots

The existing Traumasoft UI, while functional, reflected years of feature-first development without a unified design language. Here's what we were working with at the start:

Traumasoft Schedule Templates screen
Schedule Templates — The scheduling module presented templates in a dense table with minimal visual hierarchy. Actions (Edit, Copy, Delete) were crowded into a small rightmost column with no clear primary vs. secondary differentiation. The interface lacked visual grouping, breathing space, and status indicators that would help schedulers quickly scan the state of each template.
Traumasoft Daily Worksheet screen
Daily Worksheet — The core operational view used by schedulers each shift. This screen attempted to show punch-in status, timeoff, and shift assignments simultaneously, resulting in extreme information density. Rows were near-identical in visual weight, with color (yellow highlights for open shifts) as the only differentiation signal — a critical accessibility gap in a high-stakes dispatch environment.
Traumasoft CAD Grid screen
CAD Grid — The dispatch screen showed unit columns, crew assignments, and time slots in a grid requiring significant training to read correctly. Regional tabs (IL, CA, NY) were undifferentiated visually, and the trip status legend (Assigned/En Route/At Scene) relied on small color chips that were hard to parse at a glance under dispatch pressure.

02 — Design & Research Problem

Why we needed to start from scratch

Before any redesign could begin, we needed to understand what we were really solving. The client came to us with a component library already in hand — and a request to "just implement it." What we found told a different story.

"When a device as simple as a door has to come with an instruction manual — even a one-word manual — then it is a failure, poorly designed."

— Don Norman, The Design of Everyday Things (framing used in our CAB kickoff session to align stakeholders on the value of UX research)

The Starting Point: A Generic Component Library

Traumasoft provided us with a downloaded generic Figma component library (Comp1–3) as the intended foundation for the new design system. While technically structured, this library:

  • Was not adapted to Traumasoft's brand, color language, or EMS-specific workflows
  • Lacked an 8dp spacing system or consistent layout grid
  • Had no defined interaction states (hover, focus, disabled, error) for critical components
  • Did not account for accessibility requirements (contrast, touch targets) in a safety-critical domain
  • Was disconnected from any real user research or workflow mapping

The Real Problem: No Shared Mental Model

Beyond the component library, the deeper issue was that Traumasoft lacked a holistic understanding of how different user roles — dispatchers, schedulers, field crew, admins — moved through their workflows and where they experienced the most friction. Without that foundation:

  • Any redesign risked optimizing for the wrong pain points
  • Components built without research context would require expensive rework
  • Holistic Scheduling required understanding the full lifecycle — planning, assignment, execution, reconciliation — not just the scheduler's screen
Generic component library 1
Comp1 — Generic radio groups and selection patterns from the provided library. Colors did not match Traumasoft brand, and component documentation was absent.
Generic component library 2
Comp2 — Typography scales from the downloaded library. While Inter was a solid choice, size tokens and line-height mappings were not aligned to Traumasoft's specific content types (dense data tables vs. call-to-action headings).
Generic component library 3
Comp3 — Color palette documentation in the provided library. Accessible teal brand colors and semantic states (warning, success, error) were not yet mapped to Traumasoft's specific EMS use cases.

Our Structured Response: A 4-Phase Engagement

Rather than proceeding directly to component implementation, I proposed reframing the engagement as a phased research-and-design effort. Each phase had clear deliverables tied to business outcomes, with research feeding directly into design system decisions.


03 — My Role

UX Lead — ownership, decisions & collaboration

As the UX Lead on this engagement, I was responsible for co-leading all four phases of the project alongside Alan Maginn (Principal UX Researcher) and Mario Mora (Front-End Engineer). While Alan owned the research facilitation and analysis, I owned the design direction — from the very first prototype sketches to the final Enterprise Design System architecture.

My first major contribution was at the kickoff stage: I helped frame the research objectives and scope with the Traumasoft team, establishing shared definitions of success across six dimensions — objectives, research scope, design system requirements, success metrics, risk identification, and governance protocols. This ensured that every subsequent research insight was anchored to a decision-making framework, not just a list of observations.

One of my most consequential early decisions was auditing the generic component library that Traumasoft had provided and recommending against direct implementation. I mapped the existing components against the real scheduling and dispatch workflows revealed in preliminary stakeholder conversations, and clearly articulated where the gaps were. This reframing saved the project from building on a misaligned foundation — and positioned the Enterprise Design System as a research-informed system, not a style guide.

🎨 Design Direction 🔬 Research Framing 🧱 Design System Architecture 👥 Stakeholder Alignment 🗺️ Journey Mapping 🧪 Prototype Design 📊 Component Audit 📋 Adoption Planning

Team at 3Pillar Global

Xavier CabreraUX Lead / Designer
Alan MaginnPrincipal UX Researcher
Mario MoraFront-End Engineer (DS)
Nubia BarbaScrum Master
Luis MartinezProgram Manager

04 — Phase 1

Foundations — Understanding before designing

01

Foundational Research & Strategic Framing

Weeks 1–3 · Jan 15 – Feb 9, 2026 · Stakeholder interviews, CAB session, component audit, proto-personas, quick wins

What we did

Phase 1 launched with a structured kickoff that I co-facilitated with Alan. We aligned with Traumasoft's team on six dimensions: project objectives, research scope (Scheduling + CAD), design system requirements, success metrics, risk register, and governance protocols. This kickoff established a clear shared language for the rest of the engagement.

Over the following three weeks, we conducted 8 stakeholder interviews (CJ Vattimo, Henry Cary, Melanie Franklin, Marie Eisbrenner, Renee Moore, Megan Westerhoff, Justin Kinsey, Lauren Nieto) and hosted the Client Advisory Board (CAB) workshop — a structured facilitation session with real users from partner companies, focused on non-negotiables for CAD and Scheduling, tension mapping, and priority stress-testing.

In parallel, I led a formal audit of the generic component library, mapping each component class against the actual scheduling and dispatch workflows. I identified where states were missing, where brand alignment was absent, and where accessibility standards (touch targets, contrast, states) fell short — producing a component roadmap that would guide Phase 4.

Phase 1 Deliverables

  • Initial Findings Report — key pain points and needs per user persona
  • Preliminary Proto-Personas — initial user archetypes based on stakeholder research
  • Strategic Recommendations — "quick win" improvement opportunities tied to business impact
  • Holistic Scheduling Tailored Report — scoped analysis of the scheduling lifecycle
  • High-Level Strategic Opportunity Framework — for executive alignment
  • Design System Foundational Elements — component roadmap and token strategy

All Phase 1 tasks completed by Feb 9, 2026

8 stakeholder interviews completed Jan 20–23 · CAB workshop facilitated · Proto-personas delivered Feb 26

Stakeholder Interviews — Full Tracking

Stakeholder interview tracking table
Stakeholder Interview Tracker — I tracked all 8 stakeholder sessions including names, dates, completion status, meeting recording links, and AI-generated notes (via Gemini) for async synthesis. This structured approach ensured no perspective was lost and that analysis could be distributed across the team for parallel synthesis. Stakeholders represented roles from EMS operations directors to dispatch supervisors and product managers — giving us a rich cross-functional view of the platform's pain points from people who live with it daily.

Project Timeline — 12-Week Workstreams

12-week project workstreams timeline
Workstreams Overview — The engagement ran two parallel tracks: the Workflow Redesign track (research-driven, user-validated) and the Design System Component Implementation track (engineering-driven, component-first). Phase 1 (Foundational Research & Strategic Framing) anchored both tracks — research outputs fed directly into component prioritization, while design token decisions were validated against real workflow needs uncovered in stakeholder interviews.

Phase 1 in the 12-Week Workstream

Workflow Redesign Track
Phase 1: Foundational
Design System Track
DS Phase 1: Strategic Framing

Both tracks ran concurrently from Week 1, with strategic framing sessions informing component prioritization in parallel with stakeholder interviews.

"The CAB session revealed that dispatchers' non-negotiables — system back behavior, override control, and compliance audit trails — were entirely absent from the generic component library we'd been handed. That single session reframed the entire design system scope."

— Xavier Cabrera, UX Lead, reflecting on Phase 1 kickoff findings

05 — Phase 2

Personas & Journeys — Building empathy at scale

02

Ethnographies, Design Concepts & Initial Validation

Weeks 4–6 · Feb 9 – Mar 9, 2026 · On-site shadowing, concept testing, finalized personas, journey maps

Phase 2 transformed raw interview data into actionable design artifacts. Working closely with Alan's research synthesis, I led the translation of pain points into four finalized user personas, each grounded in direct user quotes and behavioral patterns observed during on-site ethnographies with dispatchers across partner companies.

My key judgment call in this phase: I argued that the journey maps should be organized around operational workflows (Scheduling journey, Dispatching journey) rather than personas — because in EMS, the same person often plays multiple roles in a single shift. This cross-role approach surfaced hand-off friction that persona-centric maps would have missed.

I also designed the initial Scheduling prototype in parallel with ethnographies, ensuring that initial design concepts were informed by real observational data rather than assumptions. The prototype was approved on Feb 13 and used in concept testing sessions conducted Feb 19–27.

Phase 2 Deliverables

  • Finalized User Personas — Admin, Dispatcher, Field Crew, Scheduler (with sub-personas)
  • Finalized Journey Maps — Scheduling Journey + Dispatching Journey (delivered Mar 13)
  • Initial Design Concepts & Prototypes — Scheduler screens + CAD screens in Figma
  • Scheduler Usability Testing Report — Phase 2 findings and recommendations

The Four Core Personas

👨‍⚕️

Field Crew

Paramedics & EMTs

Needs: Quick shift visibility, simple clock-in, no-friction QR redemption
Pain: Can't see their own schedule without navigating 3+ screens
🎙️

Dispatcher

Call Takers / CAD Operators

Needs: Immediate unit availability, clear trip status, fast assignment
Pain: CAD grid is overwhelming — no way to filter to what's urgent now
📅

Scheduler

Workforce Planners

Needs: Template management, bulk assignments, open shift visibility
Pain: No calendar view — daily worksheet is the only operational view
⚙️

Admin / Supervisor

Operations Managers

Needs: Compliance reporting, cross-module visibility, audit trails
Pain: Reports scattered across modules — no single source of truth

Scheduling Journey Map

01
Plan

Define templates, shift patterns, rotations

02
Assign

Bulk assign employees via wizard or drag-and-drop

03
Execute

Daily worksheet, punch-in, CAD handoff

04
Monitor

Open shifts, no-shows, real-time coverage gaps

05
Reconcile

Payroll discrepancies, punch corrections, reports

Journey steps highlighted in teal = highest pain point density (Assignment + Monitoring), which directly informed prototype prioritization.

Participant Tracking Matrix

User recruitment and phase tracking matrix
Participant Tracking Matrix — This structured spreadsheet tracked 60+ participants across 10 partner companies, logging their role, company, contact person, and status for each research phase (Phase 1 Foundational, Phase 2 Scheduling UT, Phase 3.1 CAD UT, Phase 3.1 Scheduled UT, Phase 3.2 CAD UT, Phase 3.2 Scheduling UT). I used this tracker to identify coverage gaps, ensure role diversity, and flag at-risk phases where participant count was below minimum thresholds. The matrix also revealed a recurring pattern: many participants self-identified as dual-role (Dispatcher + Admin or Field Crew + Dispatcher), which led to a key methodological pivot described in Phase 3.
📄 Phase 2 Deliverables — View Original Documents
📊
Traumasoft UX Research — Phase 2 Report
Full research findings, personas, journey maps · Google Drive PDF
📅
Persona — Scheduler
Finalized persona with needs, pain points & sub-personas
👨‍⚕️
Persona — Field Crew
Paramedics & EMTs — validated with real field crew interviews
🎙️
Persona — Dispatcher
CAD operators & call takers — on-site shadowing informed
⚙️
Persona — Admin / Supervisor
Operations managers — compliance & cross-module visibility needs
🗺️
Journey Map — Scheduling
Plan → Assign → Execute → Monitor → Reconcile
🚑
Journey Map — Dispatching
Intake → Assignment → En Route → On Scene → Transport → Complete

06 — Phase 3

Usability Testing — Pressure-testing concepts with real users

03

Continued Design & Testing

Weeks 7–9 · Mar 9 – Apr 8, 2026 · Two rounds of usability testing (3.1 + 3.2) — Scheduling and CAD, in parallel

Recruitment Challenge & Methodological Pivot

Our original recruitment plan called for clearly separated quotas: 4–6 dispatchers and 4–6 field crew members, recruited as distinct groups. Reality looked different. When participants began confirming sessions, the majority self-identified as hybrid roles — "Field Crew & Dispatcher," "Admin/Scheduler," or "Dispatcher/Scheduler" — reflecting the operational reality of smaller EMS companies where staff wear multiple hats.

Rigid role quotas were no longer meaningful. Rather than forcing participants into categories that didn't match their work, I proposed a methodological pivot: we would record each participant's actual company, contact, and session notes first, then assign their primary research lens (Dispatcher, Scheduler, Field Crew, or Both) after reviewing their interview content. This approach preserved statistical validity while producing richer, more nuanced data about cross-role pain points that a rigid quota system would have filtered out.

Two Rounds, Two Workflows

Phase 3 was structured as two testing rounds, each covering both Scheduling and CAD prototypes:

Phase 3.1 (Mar 16–20)

CAD + Scheduling sessions. Focused on first-pass validation of core flows — template management, schedule wizard, CAD grid trip assignment, and call intake.

Phase 3.2 (Mar 30 – Apr 3)

Refined prototypes tested after incorporating 3.1 findings. Deeper focus on edge cases — open shift filling, bulk assignment conflicts, CAD incompatibility warnings, and drag-and-drop interactions.

Component Validation — Design System Insights

Usability sessions weren't only about workflow validation — they were also used to test the design system components themselves. Key findings that shaped component guidelines:

Radio Groups & Selection

Participants consistently missed small radio inputs when scanning dense data tables. We elevated to card-style radio groups with full-row click targets — matching the Comp1 pattern but sized for EMS data density.

Filter Chips & Tables

Dispatchers needed to apply multiple filters simultaneously under time pressure. Pill-style filter chips with visible active states significantly reduced cognitive load vs. dropdown menus. This became a DS rule: always prefer filter chips over dropdowns in operational views.

Color & Status Tokens

The existing CAD grid used color as the only differentiator for trip status. We mandated dual coding (color + icon/label) as a design system rule. The teal brand color (#0B7B8C) was validated as meeting WCAG AA on white and dark surfaces.

Phase 3 Deliverables

  • Usability Testing Reports — Phase 3.1 (Scheduling + CAD) — findings and recommendations
  • Usability Testing Reports — Phase 3.2 — refined insights and component-level guidance
  • Clickable Prototypes — Scheduling (Calendar View, Wizard, Templates, Requests) and CAD Grid (with drag-and-drop, incompatibility warnings, emergency call intake)
  • Updated Design System Componentry — incorporating testing feedback into component states and interaction patterns

07 — Phase 4

Enterprise Design System — From research to production

04

Design Refinement, Final Validation & Presentation

Weeks 10–12 · Mar 23 – Apr 13, 2026 · Enterprise DS v1.0, Storybook, Adoption Plan, Strategic UX Report, Final Presentation

Phase 4 was where all the research, prototypes, and component iterations converged into a production-ready system. My role shifted from designer-researcher to design system architect — I was responsible for deciding which components to formalize first, how token structures mapped to workflow contexts, and what the governance model for ongoing contributions would look like.

I prioritized components based on frequency of use across our validated workflows, cross-module applicability, and implementation complexity. Buttons, form inputs, data tables, filter chips, navigation patterns, and modal/sheet behaviors were formalized first — the components that appeared in every single tested workflow.

The Figma design tokens (color, typography, spacing, shape, elevation) were connected directly to the Vue 3 + TypeScript Storybook repository developed by Mario, ensuring Figma and code were a single source of truth. I co-created the token naming conventions with Mario to ensure they were interpretable by both designers and engineers — avoiding the common "ds-color-primary-500" problem where semantic meaning is buried in scale numbers.

Phase 4 Deliverables

  • Refined Design Concepts & Prototypes — Scheduling + CAD (Figma, high fidelity)
  • Enterprise Design System v1.0 — Figma components + Vue 3 Storybook (code repository)
  • Enterprise Adoption Plan — governance, versioning, CI/CD pipeline, component ingestion workflow, consuming team guidelines
  • Strategic UX Report — comprehensive summary of all research, findings, and strategic frameworks
  • Detailed Personas — finalized with sub-personas for all four user groups
  • Final Presentation — executive-ready summary of the engagement, recommendations, and next steps

Enterprise Design System — Architecture

🎨

Foundations & Tokens

Color (teal brand + semantic states), Typography (Inter scale mapped to EMS content types), 8dp Spacing System, Shape tokens, Elevation levels. All exported as CSS variables from Figma via design token pipeline.

🧱

Component Library

Buttons, Inputs, Tables, Filter Chips, Navigation, Modals, Bottom Sheets, Cards, Status Badges, Data Grids — all with defined states (default, hover, focus, disabled, error, loading) and accessibility annotations.

📚

Documentation & Adoption

Storybook documentation for every component, CI/CD pipeline guide, component ingestion workflow, best practices for consuming teams, and a versioning and governance protocol co-created with the Traumasoft engineering lead.

Screen Mapping — Legacy to New Workflows

A critical deliverable that I personally led was the Screen Mapping exercise — a comprehensive audit of all legacy Traumasoft screens mapped to new workflow architectures, with priority assessments for both our team and Traumasoft's product team.

Legacy ModuleLegacy ScreenNew WorkflowPriorityIn Scope
SchedulerSchedule TemplatesTemplates — Central ViewHighYes
SchedulerView Weekly ScheduleCalendar ViewHighYes
CADDaily WorksheetCalendar View / CAD GridHighYes
CADCAD GridCAD Grid — RedesignedHighYes
CADCall IntakeCall Intake (new flow)HighYes
SchedulerManage Schedule WizardSchedule WizardHighYes
SchedulerTime-off RequestsRequests — Time OffHighPartial
PayrollDiscrepancy Report(Out of scope — Phase 2)LowNo

08 — Obstacles & Resolutions

Real challenges, real decisions

01 — Generic Component Library as the Starting Point

Problem: The client provided a downloaded Figma component library not adapted to their brand, workflows, or accessibility needs. Proceeding directly would have produced a visually inconsistent, operationally irrelevant system.
My decision: I audited the library systematically — component by component — against our preliminary stakeholder findings. I produced a gap analysis that clearly showed where generic components failed the EMS context (no status badges for trip states, no data-dense table patterns, no EMS-specific icon vocabulary). I presented this to Traumasoft leadership not as "your library is wrong" but as "here's what it would take to make this right for your users" — reframing the conversation toward investment rather than blame.
Outcome: Traumasoft approved a full design system build from scratch, using the generic library as inspiration (not source), grounded in our research findings. Enterprise DS v1.0 was delivered ahead of schedule.

02 — Legacy Platform UI — Dense, Inconsistent, Deeply Embedded

Problem: The existing Traumasoft platform (Plat1–3) had 20+ years of feature accretion with no design system. Dense tables, inconsistent interaction patterns, and no clear visual hierarchy made it difficult to propose changes without risking user retraining overload.
My decision: Rather than wholesale redesign, I proposed a "progressive elevation" strategy — keeping familiar information architectures intact while systematically improving visual clarity, spacing, and hierarchy. Users would recognize their workflows; they would simply feel less cognitively taxing. I created before/after mockups for key screens to help stakeholders visualize change without feeling disrupted.
Outcome: Concept tests in Phase 3 showed strong positive reactions to the new Scheduler Calendar View and CAD Grid — users consistently described the redesigned screens as "cleaner" and "easier to scan" without feeling like a completely foreign tool.

03 — Hybrid User Roles Breaking Recruitment Quotas

Problem: Our target recruitment plan assumed clean role separation (dispatchers vs. field crew). In practice, most participants were hybrid roles — making strict quotas both impractical and analytically misleading.
My decision: I proposed and implemented a post-interview role assignment methodology: record participants' actual job context first, conduct sessions normally, then classify their primary research lens afterward based on which workflows they spent the most time discussing. This preserved the integrity of both workflow tracks while acknowledging the operational reality of EMS staffing.
Outcome: We actually ended up with richer, more nuanced data — hybrid participants surfaced hand-off friction points between scheduling and dispatch that single-role participants would never have mentioned. This finding directly shaped two new design patterns in the CAD Grid.

04 — Multiple Stakeholders, Divergent Priorities

Problem: The engagement involved stakeholders from Traumasoft's product, engineering, and operations teams — plus 10+ partner EMS companies with their own feature requests. Aligning this many perspectives without losing focus was a constant challenge.
My decision: I used the CAB session's "Priority Stress Test" activity to force stakeholders to make hard trade-off decisions in a structured context — choosing one capability to improve if only one was possible. This surfaced clear consensus around scheduling reliability and dispatch decision support as the top two priorities. I used these outputs as the explicit scope filter for every subsequent design decision, reducing scope creep significantly.
Outcome: Phase 3 and 4 remained tightly scoped to Scheduling and CAD — the two highest-priority areas — while the Design System was built to be extensible to all modules. The Strategic UX Report codified short/mid/long-term opportunities for all other areas.

09 — Impact & Learnings

What we built, what I learned

4

Finalized User Personas

Admin, Dispatcher, Field Crew, and Scheduler — each with sub-personas and validated journey maps — replaced assumptions with evidence across all four user groups.

2

Validated Journey Maps

Scheduling Journey and Dispatching Journey — documenting 5-stage workflows, pain points, hand-off friction, and design opportunities mapped to specific interaction patterns.

v1.0

Enterprise Design System

Vue 3 + TypeScript Storybook with full component library, design tokens, CI/CD pipeline documentation, and an enterprise adoption plan — delivered to Traumasoft's engineering team.

60+

Research Participants

Across 10 partner companies — Bell, Brewster, KQT Health, Medical Edge, Medstar, MMT, Norcal, Priority, Senior Care, WLRC — spanning Admins, Dispatchers, Field Crew, and Schedulers.

Strategic Learnings as a UX Lead

🏥

Domain depth changes everything

EMS is not a typical enterprise SaaS environment. Users make life-critical decisions under cognitive load, time pressure, and regulatory scrutiny. Every UX decision — from color contrast to click target sizing — carries higher stakes. I learned to ask "what happens if this fails at 3am during a mass casualty event?" before finalizing any interaction pattern.

🔗

Research and design systems must be coupled

In most engagements, research and design systems are parallel workstreams that rarely talk to each other. At Traumasoft, I fought to make them directly dependent: no component was formalized until the research had validated the interaction context it would appear in. This took more time upfront but prevented expensive rework in Phase 4.

👥

Legacy users need evolution, not revolution

Users who have spent years in a system develop deep muscle memory — even for bad patterns. The most effective redesign strategy wasn't to throw out everything familiar; it was to preserve structural familiarity while systematically improving clarity, hierarchy, and efficiency. Small changes, clearly communicated, generated more trust than radical reinventions.

"The most powerful thing we did was start with a CAB session where real dispatchers and schedulers told us, unprompted, what could never break. That list became the design system's non-negotiable constraints — and it prevented us from optimizing for the wrong things."

— Xavier Cabrera, UX Lead

What's Next — Short / Mid / Long Term

Short Term

Finalize Phase 3.2 usability testing reports · Deliver refined CAD Grid prototype · Present Strategic UX Report to Traumasoft leadership

Mid Term

Extend Design System to ePCR and Billing modules · Conduct longitudinal testing with pilot EMS companies · Establish Traumasoft internal design governance committee

Long Term

Full platform migration to new design system · Employee Portal redesign · Analytics dashboard for operations directors · Mobile companion app for field crew


Research Analysis — Scheduling & Daily Worksheet

The Deep Dive:
Understanding Before Redesigning

Before touching any design file, I conducted an in-depth analysis of the Traumasoft Scheduling and Daily Worksheet modules — mapping the full information architecture, documenting every user journey, cataloguing UX failures ("crimes"), and identifying the highest-leverage opportunities. This document became the north star for all design decisions in Phases 2–4.

View Full Analysis Document
Figma — Traumasoft Preliminary Designs · Analysis Board

Analysis Document Overview

The analysis was structured across six areas: Introduction & Context, Information Architecture, Concepts & Screen Guide, UX Audit (Crimes), Full User Journeys, and Identified Problems & Opportunities.

Full analysis document — 6-panel overview
Full Analysis Document — The complete board covers: Template vs. Publish mental model, the three methods to fill a schedule, navigation structure redesign proposal, full step-by-step flow, and the identified UX problems with proposed solutions.
Mental model, 3 ways to fill, UX crimes, admin dashboard structure
System Mental Model & UX Crimes — Left: Template (skeleton) vs. Published Schedule (body) — the most critical conceptual gap for new users. Right: The four UX "crimes" — Fear of Delete, Missing Copy, No Drag-and-Drop, and Confusing Terminology.
Secondary flows, template paths, availability, cost center, rotation config
Secondary Flows & Edge Cases — Shift bids by seniority, the "dangerous vs. smart" paths for template changes, availability & request management, cost center concepts, rotation configuration detail, and critical notification scenarios.
Full user journey — creating a new schedule from scratch
Full User Journey — Creating a New Schedule from Scratch — Journey 1 mapped the complete flow: HOME → Schedule Template (min 2:23) → Publish Schedule (min 8:51, select dates → generate → confirm) → Fill with Employees (choose between Path A: Individual, Path B: Bulk/Schedule Wizard, Path C: Rotation Patterns) → View Weekly Schedule (min 23:49, verify & refine coverage) → Done. Time benchmarks per screen were captured during on-site shadowing.
Key Findings

Top 5 UX Problems — Scheduling & Daily Worksheet

These problems were surfaced directly from user interviews, on-site shadowing, and the analysis document. Each one has a measurable impact on operational efficiency.

PROBLEM 01
The "Delete" Button That Doesn't Delete — But Looks Like It Does
Fear of Delete · Publish Schedule Template screen
On the Publish Schedule Template page, when you need to change a published schedule (e.g., published until Dec 31, but now in May you need to update it), you see a large red "DELETE" button. The word sounds catastrophic — as if clicking it will destroy weeks of work and wipe out the schedules of hundreds of employees.
The technical reality: Traumasoft never truly deletes anything. It only marks records with a hide flag in the database. Tech support can always recover the data. But end users have no way of knowing this — so most don't publish far out, creating a "publish only until I'm sure there won't be changes" culture that defeats the purpose of long-term scheduling.
PROPOSED FIX
Rename to "Remove Future Shifts" + show a confirmation modal that previews exactly which date ranges will be affected. Use less scary language: "Archive" or "Pause" for the action. The Path 2 (Smart Way) proposal involves a system that auto-detects what will be added, changed, or deleted before committing.
Publish Schedule Template Region 1 Jan 1 – Dec 31, 2025 DELETE Region 2 Mar 1 – Jun 30, 2025 DELETE 😰 Will this destroy everything?! 😱 Reality: Nothing is deleted. It only adds a "hide flag" in the database. Most dangerous UX crime — cited in every interview
PROBLEM 02
No "Copy Schedule" Feature — 1,825 Hours Lost Per Year
Missing Copy Button · Schedule Wizard
It is extremely common in EMS scheduling to need to copy a schedule from one month to the next: January goes perfectly → copy it to February, then adjust 5%. Or Region 1 works well → copy it to Region 2, then modify for local staffing. There is no native "Copy" button anywhere in Traumasoft.
What users do instead: Open the existing schedule, take notes (mentally or on paper), navigate to a different date range, create it manually. For a company with 500 employees, CJ (Traumasoft's scheduling expert) estimates this costs 1,825 hours of admin time per year.
PROPOSED FIX
A "Copy Selected Shifts" button in the Schedule Wizard that asks: "To which date range do you want to copy?" — allowing bulk duplication of an entire month's or region's shifts with one action. This is the highest-ROI feature in the entire analysis.
Schedule Wizard Month: January · Region 1 · All Profiles Search (12,000 shifts) Jan 1 — Region 1 — EMT — Morning shift Jan 1 — Region 1 — Paramedic — Night shift Jan 2 — Region 1 — Driver — Morning shift ... 11,997 more shifts selected Edit Selected Apply Changes Copy Selected? Missing feature cost: 1,825 hours/year for a 500-employee company = ~$45K in admin time at avg wage
PROBLEM 03
No Drag-and-Drop in Quick Assign — Competitors Have Had It for Years
View Weekly Schedule · Quick Assign
In the View Weekly Schedule screen's Quick Assign modal, schedulers cannot drag an employee from the available employees list to a shift slot. This interaction — basic for any calendar/scheduling tool — requires instead navigating to a different admin screen to make the assignment. Tools like WhenToWork (a direct competitor) have offered drag-and-drop for years.
During concept testing in Phase 2, when we showed participants a mockup with drag-and-drop, the most common reaction was: "Wait — why doesn't it already do this?" It was the single most spontaneously requested feature across all sessions.
PROPOSED FIX
Employee List panel (left) → Drag employee card → Drop onto shift slot in the calendar grid (right). Confirmation appears inline. The Calendar View redesign I built in Figma already implements this interaction pattern with a visual drag-and-drop ghost preview.
Quick Assign — View Weekly Schedule AVAILABLE EMPLOYEES Dolores M. James R. Sarah K. Alex T. (dragging) Alex T. SCHEDULE GRID — WEEK VIEW MON TUE WED THU FRI SAT ALS-01 D.M DROP BLS-01 Current flow: Must navigate to a different admin screen to assign. No drag. Competitor WhenToWork: Has had drag-and-drop assignment since v1.
PROBLEM 04
Rotation Assignments — Row-by-Row Hell for 12-Day Rotations
Rotation Assignments screen · Configuration
EMS companies that use rotating shift patterns (e.g., 24h-on / 48h-off, or Week 1: Mon-Fri, Week 2: Wed-Sun cycles) must use Rotation Assignments. The problem: if you're working a 12-day rotation, you need to fill in 12 individual rows, one by one — specifying region, vehicle, and position for each separate day. For a company with 50 employees on this pattern, that's 600 individual data entries.
There is also no drag-and-drop to copy a day's configuration across the rotation. The proposed solution from the analysis: a "Set all shifts in rotation to this specific shift" option that copies one configured row to all days in the rotation instantly.
PROPOSED FIX
"Set all shifts in rotation to this specific shift" — configure one day, then propagate to all. + Drag-and-drop to copy a day's configuration quickly across the rotation pattern. The naming convention "2448a" (where 'a' means variant) should also be made visible and searchable.
Rotation Assignments — Profile 2448a Day Region Vehicle Position Sun Region 1 Ambulance A Driver Mon Tue Wed Thu Fri · · · Day 12 12-day rotation = 12 rows to fill manually, one by one Proposed: "Apply this row to all days in rotation" Configure once → propagate instantly to all 12 rows
PROBLEM 05
A 25-Item Alphabetical Menu With No Functional Logic
Navigation & Information Architecture · Scheduling Module
If you open the Scheduling section in Traumasoft, you see a menu with ~25 items organized alphabetically. "Availability Management" appears before "Schedule Templates" — even though Templates is always the logical first step. Items that belong to fundamentally different workflows (strategic configuration, daily operations, employee self-service) are all presented at the same visual level with no grouping.
Additionally, different user roles see different subsets of these items, but the interface doesn't explain why — creating confusion and support tickets when users can't find screens their colleagues mentioned.
PROPOSED REDESIGN
4 functional groups: Strategic (Templates, Publish, Rotations) · Tactical (Wizard, Weekly View, Employee Schedule) · Inbox (Time Off, Trade/Pickup Requests) · System (Admin/Permissions). The items don't change — only the organization does. Reduces onboarding time dramatically.
CURRENT (Alphabetical ✗) PROPOSED (Functional ✓) Availability Management Bulk Employee Rotation Assignments Call Notes Summary Employee Rotation Assignments Employee Schedule Manual Availability Page Out Log Publish Schedule Template Schedule Wizard Trade Substitution Request View Monthly Schedule View Weekly Schedule ... +13 more items No grouping. No logic. ⚙ STRATEGIC Schedule Templates Publish Schedule Rotation Profiles ⚡ TACTICAL Schedule Wizard (Batch) View Weekly Schedule Employee Schedule 📥 INBOX Time Off Requests Trade / Pickup Requests 🔒 SYSTEM User Admin / Permissions 4 groups. Clear logic. Same items. Better structure.
Opportunities

Top 5 Opportunities — Scheduling & Daily Worksheet

These are the highest-leverage improvements identified from the analysis — ranging from quick wins to strategic platform shifts.

🏷️
OPP 01 — Quick Win
Rename "Delete" → "Remove Future Shifts"

Vocabulary change + a confirmation modal that previews exactly which date ranges will be hidden. Low technical cost, maximum trust impact. This single change would eliminate the #1 anxiety reported by schedulers across all interviews.

Low effort High impact
📋
OPP 02 — Core Feature
"Copy to Date Range" in the Schedule Wizard

Select shifts (e.g., all of January, Region 1) → prompt: "To which date range do you want to copy?" → auto-generate the duplicate. Eliminates 1,825 hours/year of manual recreation. The single highest-ROI feature in the entire analysis.

Medium effort Critical ROI
🗂️
OPP 03 — IA Restructure
Regroup Scheduling Menu by Function

Implement the 4-group structure (Strategic / Tactical / Inbox / System). The items don't change — only the grouping does. Zero backend work required. Dramatically reduces onboarding time and "where is X?" support tickets for new schedulers.

Minimal effort High onboarding impact
🖱️
OPP 04 — Interaction Design
Drag-and-Drop Assignment in Calendar View

Employee panel (left) → drag card → drop onto shift slot in the grid. The Calendar View redesign already includes this interaction in Figma. In concept testing, this was the most spontaneously requested feature — users expected it to already exist.

Medium effort User satisfaction jump
🔔
OPP 05 — System Reliability
Critical Notifications System — Expiring Templates With Configurable Timing

The analysis documents a real scenario: you publish Region 1 until Dec 31. Nobody notices. Dec 31 arrives — at 11:59pm, no schedule exists for Jan 1 at 12:01am. Dispatch operations go into chaos. Emergency calls are made to management. This is not hypothetical — it has happened to multiple Traumasoft clients.

30 days prior
Informational notification: "Region 1 schedule expires in 30 days."
14 days prior
Alert: "If no action in 2 weeks, 47 employees will have no schedule on Jan 1."
2 days prior
Critical: Escalate to supervisor. Require action to dismiss.
The CAD module analysis — covering the dispatch workflow, trip assignment, and call intake — is documented in the next section.
CAD Analysis coming in the next section ↓
CAD — Computer Aided Dispatch
CAD — Problem & Insights

The Dispatch Grid:
Where Every Second Costs

The CAD Grid is the operational heartbeat of Traumasoft — the real-time dispatch view where every active ambulance, wheelchair unit, and crew assignment is visible at once. Dispatchers live in this screen during every shift, managing incoming calls, tracking unit status, handling callouts, and coordinating crew coverage across multiple regions. In this context, UX friction is not an inconvenience — it is a patient safety risk. A missed incomplete-crew indicator, an overwhelming right-click menu, or a buried action during a callout can cascade into an uncovered shift, a delayed response, or an operational emergency.

Why CAD Cannot Be Fixed in Isolation

One of the most important insights from the analysis is that the CAD Grid is the last mile of a 4-phase setup chain. Problems that appear on the dispatch screen often originate upstream — in how Shift Profiles were created, how templates were published, or how employees were assigned. Fixing only the CAD UI without addressing the configuration pipeline would produce surface improvements without resolving the root causes of dispatcher friction.

Master Architecture — The 4-Phase Chain
PHASE 1 — CONFIGURATION 🧱 Create Shift Profiles 500 trucks = 500 profiles ⚠ Enormously tedious No bulk import PHASE 2 — TEMPLATE 📋 Create Schedule Template Group all profiles + positions ⚠ "Template before template" Add employees optional PHASE 3 — PUBLISH & STAFF 📢 Publish → 1,825 empty shifts Assign employees (Wizard/Tool A) ⚠ Mystery prerequisite Assign template to user profile PHASE 4 — CAD OPERATIONS (Daily Life) 🖥️ Real-time dispatch · Callouts · Trip Assignment Right-click → Edit Shift · Crew changes · Hold Over ⚠ Problems here often originate in Phases 1–3 No visual crew incomplete alerts · Overwhelming menus

The CAD Grid (Phase 4) is the last stop in a chain that starts with Shift Profile configuration. Incomplete crew visibility in CAD is downstream of an incomplete setup in Phase 1. Fixing the dispatch UI without addressing upstream data gaps produces partial improvements at best.

7 Key UX Insights — CAD & Configuration

🙈
Incomplete Crew Blindness
When a unit goes from 2/2 to 1/2 crew after a callout, there is no visual alert in the CAD Grid. "People just have to know to look for it." — Dispatcher quote. This is the most dangerous UX gap in the entire system.
🔁
Clunky Callout Workflow
Handling a sick call requires: CAD Grid → find unit → right-click → Edit Shift → pop-up → change Earning Code → Accept → employee removed. Six steps under night-shift pressure, with no undo and no confirmation of the crew state left behind.
📅
Date Blindness in Employee Scheduling
The Employee Schedule tool does not display when the published template ends. Users can try to assign an employee to dates beyond the published range — and the system accepts it silently, creating phantom assignments that never appear in CAD.
📋
Overwhelmed Right-Click Menu
The CAD Grid Unit Actions context menu has 10 options: Select Post, Send Unit to Post, Set Unit at Post, Select Shift Employee, Edit Shift, Employee Lookup, Edit Shift Vehicle, Swap Crew, Hierarchy Profile, Block Off Time. No hierarchy, no separation of critical vs. rare actions.
🧩
Tedious Shift Profile Creation
500 different daily shifts = 500 individual Shift Profiles to create manually. No CSV import, no bulk creation, no duplication tool. Melanie's real-world solution: teach 3–4 examples and leave the rest "as homework" for new clients.
The Mystery Prerequisite
Employees must have a Schedule Template assigned in their User Profile before they can be scheduled. When Alan asked why, Melanie's answer: "I don't know, it's a backend requirement." An invisible dependency that blocks scheduling with no clear error message.
🤝
No Partner Linking — Ever-Repeat Manual Assignment
Alan asked: "If Jen always works with Ed, can we link them?" Melanie: "That would be useful but it does not exist." Every shift, partner pairs must be manually re-assigned from scratch — a daily tax on scheduler time with no workaround. Inconsistent wizard behavior compounds this: the Employee Schedule tool can auto-populate on republish, but the Wizard cannot.

The Callout Journey — A Dispatcher's Perspective

It's 2am. No supervisors on site. A paramedic calls in sick. The dispatcher must mark the callout, find a replacement, and ensure the unit doesn't go out understaffed — all while monitoring active calls. Here is exactly what the legacy CAD system makes them do:

📞
TRIGGER
Phone call received
Employee calls dispatch: "I can't make it today." Night shift, no supervisor present. Dispatcher must act alone.
🖱️
ACTION — CAD GRID
Find the unit and right-click
Navigate to CAD Grid → scan visually for ALS-2 → right-click on the shift cell → a 10-item context menu appears. Locate "Edit Shift" among options like "Select Post", "Send Unit to Post", "Hierarchy Profile"…
📝
ADJUSTMENT
Change Earning Code in pop-up
Pop-up opens. Change Earning Code from "Regular" → "Sick, No Pay". Click Accept. The employee is now removed from the shift.
⚠️
THE CRITICAL CONSEQUENCE
Unit is now 1/2 crew — with no visual warning
ALS-2 now has 1 EMT and requires 1 Paramedic + 1 EMT. The CAD Grid does not flag this. No alert, no color change, no badge. "People just have to know to look for it." If a call comes in and ALS-2 is the closest unit, it could be assigned to a life-threatening call with an incomplete crew.
No undo. No confirmation of resulting crew state. No automatic suggestion to find a replacement or move the unit to OOS (Out of Service) zone. The dispatcher must manually remember to do all of this.
🛠️
MANUAL RECOVERY
Dispatcher improvises a fix
Options: right-click → "Swap Crew" to pull from another unit, right-click → "Employee Lookup" to find available staff, or manually move ALS-2 to "OOS Zone" to prevent trip assignment. All actions require separate navigations with no guided workflow.
CAD — Design Decisions

From Legacy Grid to
Clarity Under Pressure

The new CAD designs translate the friction inventory directly into focused design interventions. Each decision is traceable to a specific pain point, grounded in dispatcher behavior observed during on-site ethnographies, and validated against the holistic scheduling design system to ensure visual and interaction consistency across modules.

🖥️
DESIGN DECISION 01
Updated CAD Grid — Information Hierarchy & Crew Status Visibility
LEGACY PAIN POINT

The original CAD Grid showed unit names, time slots, and crew assignments at equal visual weight — no distinction between a fully staffed unit, an incomplete unit, and an empty slot. Dispatchers had to scan each cell manually to assess crew completeness, under real-time operational pressure.

KEY DESIGN DECISION

Introduced a tiered status system for every unit cell: fully staffed (neutral), incomplete crew (amber warning badge + subtle background tint), unassigned (red indicator). Status is communicated through both color and iconography — dual-coding for accessibility and high-stress readability. Unit name, crew count ratio (1/2, 2/2), and active trip status are visible without any interaction.

OUTCOME FOR DISPATCHERS

A dispatcher can now scan the entire grid and immediately identify which units need attention — without right-clicking, without counting names, without "just knowing to look." Critical incomplete-crew states are impossible to miss.

CAD GRID — Updated View UNIT CREW STATUS POSITION ALS-01 2/2 ✓ Available D. Morales / A. Kim ALS-02 ⚠ 1/2 ! Incomplete ⚠ J. Rivera / — BLS-01 0/2 Unassigned — / — BLS-02 2/2 On Trip T. Brooks / M. Lee Full crew Incomplete ⚠ Unassigned On Trip
DESIGN DECISION 02
Exceptions Side Panel — Surface What Needs Attention, Not More Data
LEGACY PAIN POINT

Exception states — incomplete crews, units in OOS zone, hold-over extensions — were invisible unless a dispatcher actively searched for them. The grid showed the normal state; the abnormal state was buried. In a high-volume dispatch center, exceptions are exactly what needs to be surfaced first.

KEY DESIGN DECISION

Introduced a collapsible Exceptions side panel that aggregates all current exception states in one place — incomplete crews, overdue hold-overs, OOS units, and unassigned shifts. The panel uses progressive disclosure: a badge count on the collapsed state, full detail on expand. Dispatchers can triage exceptions without leaving the main grid context.

OUTCOME

Dispatchers no longer need to "just know" which units are compromised. The panel is always present as a safety net — pulling exception states out of the grid and into a dedicated, scannable surface.

CAD GRID ALS-02 ⚠ 1/2 BLS-01 — 0/2 EXCEPTIONS 3 ⚠ ALS-02 Incomplete 1/2 crew · Find replacement → ✗ BLS-01 Unassigned 0/2 crew · Assign now → ⏱ ALS-05 Hold Over Extended to 20:00 · Review → View All Exceptions →
🚨
DESIGN DECISION 03
Take Emergency Call — Guided Critical Action with Inline Confirmation
LEGACY PAIN POINT

Taking an emergency call from the CAD Grid required navigating through the right-click context menu — the same 10-item menu used for callouts, shift edits, and crew swaps. In a life-safety emergency, a high-cognition right-click menu with no visual priority hierarchy is a critical failure point. The action most likely to be needed urgently was visually indistinguishable from rarely-used options.

KEY DESIGN DECISION

Emergency call intake is now a dedicated top-level action — visible from the CAD Grid header, not buried in context menus. The flow uses a two-step confirmation pattern: (1) intake call details, (2) confirm assignment to unit. The ProQA integration (pre-arrival medical instructions) is surfaced in a side-panel, not a separate screen, keeping the dispatcher in context throughout.

OUTCOME

Emergency intake time reduced. The two-step pattern ensures confirmation before assignment, preventing accidental dispatches to incomplete-crew units. ProQA instructions are visible alongside the assignment decision — not in a separate workflow tab.

Take Emergency Call — 2-Step Flow STEP 1 — INTAKE Nature of call: Location: Next: Assign Unit → STEP 2 — ASSIGN & CONFIRM Assign to unit: ALS-01 — 2/2 crew ✓ ProQA instructions → Dispatch Confirmed ✓ ProQA Integration — Inline Side Panel Pre-arrival medical instructions visible alongside assignment — not in a separate screen. Dispatcher stays in context throughout the full intake-to-dispatch workflow.
📞
DESIGN DECISION 04
Call Intake — Structured Flow to Eliminate Cognitive Overload
LEGACY PAIN POINT

The legacy Call Intake workflow required dispatchers to navigate across multiple screens while simultaneously speaking with a caller, tracking unit availability, and documenting call details. The lack of a unified intake form meant critical information was captured inconsistently — sometimes in the system, sometimes on paper.

KEY DESIGN DECISION

A single-screen structured intake form with logical section grouping — caller info, patient details, pickup/dropoff, and call nature — all visible without scrolling for standard calls. Form fields use progressive disclosure: advanced fields (certifications required, special instructions) expand on demand. Real-time unit availability is visible in a sidebar panel, not on a separate tab.

OUTCOME

Dispatchers can complete intake without switching screens — reducing documentation errors and call handle time. The structured form also ensures all required fields are captured before the call can be assigned.

Call Intake — Single-Screen Structured Form CALLER INFORMATION Caller name Phone PATIENT & NATURE Patient name Nature: Cardiac ↓ PICKUP / DROPOFF Pickup address Destination ▸ Advanced options (certifications, notes) Assign Unit → AVAILABLE UNITS ALS-01 ✓ 2/2 0.8mi · ETA 3min ALS-02 ⚠ 1/2 Incomplete crew BLS-03 ✓ 2/2 1.2mi · ETA 5min Crew status visible alongside form — no tab switching.

5 Shared Design Principles — CAD Module

📊
Information Hierarchy First
Exception states must be more visible than normal states. Incomplete crew is more important than full crew. Design the CAD Grid so abnormality catches the eye before normalcy does.
📌
Side Panels for Context
Related information (unit availability during call intake, exceptions during dispatch) belongs in a side panel — not a new screen. Dispatchers cannot lose their operational context for any action.
🏷️
Clear Status Chips — Dual Coding
All status indicators use both color and text/icon. No color-only coding. Crew availability, trip status, and exception states are always labeled — critical for colorblindness and high-stress scanning.
🔽
Progressive Disclosure
Show what's needed for the 90% case. Advanced fields, rare actions, and complex configurations expand on demand. The 10-item right-click menu becomes 3 primary actions + "More" — reducing decision fatigue under pressure.
🔒
Safer Critical Actions — Confirm Before Commit
Actions with irreversible or high-impact consequences (callout marking, emergency dispatch, shift deletion) require a two-step confirmation that shows the resulting state before committing. The dispatcher sees "ALS-02 will have 1/2 crew after this action" before clicking Accept — not after. This pattern is consistent with the broader design system's approach to destructive and critical actions across Scheduling and CAD.
UX Lead Decisions — CAD

How I Shaped the CAD Design Direction

From Analysis to Argument

I used the friction inventory, the callout journey map, and the blueprint of the CAD Unit Actions menu to make a clear case to stakeholders: the CAD Grid's problems were not cosmetic. The 10-item context menu, the absence of crew-complete indicators, and the disconnect from the upstream configuration pipeline were systemic failures that required systemic solutions — not just visual cleanup. This argument shifted the client's expectation from "make it look better" to "make it work differently."

Prioritizing Exceptions Over Controls

When deciding what to design first for CAD, I pushed to prioritize the Exceptions panel and the incomplete crew indicator over adding new controls or features. My reasoning: dispatchers don't need more things to interact with — they need fewer things to miss. A dispatcher who can always see which units are compromised is more operationally effective than one with 15 new menu options. This "surface the problem, not more controls" philosophy became a guiding principle for the entire CAD redesign.

Design System Consistency

I ensured that every CAD component — status chips, side panels, confirmation modals, form fields — uses the same design tokens and interaction patterns as the Holistic Scheduling redesign. A dispatcher who moves from the scheduling view to the CAD Grid encounters the same visual language: identical status colors, same chip anatomy, same panel behavior, same confirmation modal pattern. This consistency reduces context-switching cognitive load — critical when users move rapidly between modules during high-pressure operational moments.


Final Designs & Prototypes

From Research to
Production-Ready Design

Every screen shown here is traceable to a specific pain point documented in the research, a decision made during usability testing, or a constraint surfaced by real dispatchers and schedulers during on-site shadowing.

Research → Design → Test → Iterate 2–3 iterations per screen Usability tested · 60+ participants One design system · Scheduling + CAD
SCHEDULING MODULE
SCREEN 01 — NEW

Scheduling Overview — The Missing Home Base

The original Traumasoft had no entry dashboard for scheduling. Managers had to navigate to 4+ separate screens to understand the day's coverage status. Based on the most cited pain point in Phase 1: "I don't know where to look first when I start my shift."

✓ Did not exist in legacy
Scheduling Overview — new screenView in Figma → ↗
PAIN POINT SOLVED
No entry point. Managers opened 4+ screens to understand daily coverage. Critical alert status completely invisible.
KEY DECISIONS
Action Required alerts with 3 severity levels (red/orange/blue). KPI strip: Overall Coverage %, Open Shifts, Pending Requests. Coverage by Region with inline progress bars. Direct CTAs: View in Grid →, Review Requests →, View Templates →.
OUTCOME
Schedulers assess the full operational state in under 10 seconds. Critical understaffing surfaces immediately with a direct CTA. Reduces shift start orientation time from minutes to seconds.
SCREEN 02 — REDESIGNED

Schedule Templates — Structured, Scannable, Actionable

The legacy screen mixed active templates and drafts with zero visual differentiation. Users couldn't tell what was "live" at a glance. The redesign adds service type chips (ALS, BLS, Wheelchair, CCT, Dispatch), status badges (Active/Draft), sorting, and author attribution.

Redesigned · IA Restructure
Schedule Templates — redesignedView in Figma → ↗
PAIN POINT SOLVED
Legacy mixed active templates and drafts without differentiation. "Which template is the right one?" was recurring confusion in Phase 1 interviews.
KEY DECISIONS
Color-coded service type chips. Active/Draft status badges. Last Modified with author attribution. "50 templates · 21 active, 15 drafts" in header. Inline edit/more actions per row. Search + Columns toggle.
OUTCOME
Schedulers instantly identify template state, type, and recency. Reduces the error of publishing the wrong template.
SCREEN 03 — NEW · #1 REQUESTED FEATURE

Calendar View — Weekly & Monthly — The View Everyone Asked For

The original Traumasoft had no calendar view. Schedulers only saw a dense daily table. This was the #1 spontaneously requested feature in every Phase 1 interview: "I just want to see the week at a glance." Weekly and monthly views were designed with drag-and-drop assignment and a direct bridge to the Schedule Wizard.

✓ New · Most requested feature
WEEKLY VIEW — with employee panelView in Figma → ↗
WEEKLY VIEW — unit timeline focusView in Figma → ↗
PAIN POINT SOLVED
No temporal scheduling view — only a daily table. Impossible to see patterns, gaps, or open shifts across a full week or month.
KEY DECISIONS
Units as rows, time as columns. Open shifts in orange for immediate visibility. Inline role badges (PM, EMT, WC). "Open this month in Schedule Wizard" — direct bridge to bulk editing. Filters: Vehicle Type + Role + Show open shifts only.
OUTCOME
Schedulers see coverage gaps across a full week or month at a glance. Open shifts are impossible to miss. The Wizard bridge eliminates the context switch.
SCREEN 04 — REDESIGNED + CRITICAL FIX

Schedule Wizard — The Power Tool, Now With "Copy to Date Range"

The Wizard already existed as Traumasoft's most powerful scheduling tool — but was missing the most requested capability: copying shifts to another date range. The redesign adds this as a top-level bulk action, alongside a cleaner filter UI and a transparent results table before committing changes.

Critical Fix: Copy to Date Range
WIZARD EMPTY STATE View in Figma → ↗
WITH RESULTS + BULK ACTIONS View in Figma → ↗
COPY TO DATE RANGE — The critical fix View in Figma → ↗
CRITICAL FIX
"Copy to Date Range" — 1,825 hours/year saved. Copying January's schedule to February was a full manual recreation. Now it's a 3-click operation: select shifts → "Copy to date range..." → specify destination. The highest ROI fix of the entire engagement.
PAIN POINT SOLVED
No Copy function. January's schedule had to be manually recreated in February. CJ estimated 1,825 admin hours lost per year for companies with 500 employees.
KEY DECISIONS
Results table shows all affected shifts before committing. Shift ID links for traceability. Earning Code visible inline. Bulk actions: Assign, Edit fields, Copy to date range, Delete shifts.
OUTCOME
Mass scheduling operations that took hours now take minutes. The transparent preview table ensures schedulers know exactly what they're about to change.
SCREEN 05 — 3 ITERATIONS · FINAL APPROVED

Daily Worksheet — From Dense Table to Operational Control Room

The Daily Worksheet went through more iterations than any other screen in the project — 2 versions were designed and discarded before reaching the final approved design. It was the screen dispatchers and schedulers lived in most, so every pixel decision had direct operational consequences.

3 versions · 2 discarded
Design Evolution — Why We Discarded 2 Versions
VERSION 1 — DISCARDED ✗
Report-style layout. Sections stacked vertically. No timeline, no real-time context. Felt like a list, not an operational workspace.
VERSION 2 — DISCARDED ✗
More columns and data, but still table-based. Better than V1 but still no operational timeline. Felt like a spreadsheet, not a dispatch tool.
FINAL VERSION — APPROVED ✓
Timeline-based, units as rows. Live mode badge. Coverage Summary + Exceptions side panel. Shift Profiles as drag-and-drop cards. This actually feels like a dispatch control room.
FINAL — Daily Worksheet with timeline, Coverage Summary & ExceptionsView in Figma → ↗
PAIN POINT SOLVED
No temporal view. No exception surfacing. No role-based layouts. No guided shift creation. Dispatchers and schedulers saw the same undifferentiated table.
KEY DECISIONS
Badge "Live mode · Editable". Timeline with inline editable role chips. Coverage Summary panel (BLS/ALS/CCT counts). Exceptions tab with 5 categories. Manage Views: System/Personal/Team views. 3-step Create Shift wizard with auto-duration calculation.
OUTCOME
The Daily Worksheet now functions as an operational control room — not a report. Exceptions surface automatically. Shift creation is guided. Role-based views give dispatchers and schedulers exactly what they need.
REQUESTS MODULE — NEW

Shift Pickup Requests — Overtime Visibility Before Approval

A new screen addressing one of the key tensions identified in the CAB session: "Coverage optimization vs. crew fatigue and morale." The scheduler now sees exactly how many hours an employee will have AFTER picking up a shift — with a visual overtime risk bar — before approving.

✓ New · Compliance by design
Shift Pickup Requests — Scheduler ViewView in Figma → ↗
PAIN POINT SOLVED
Schedulers approved pickup requests without knowing if the employee would hit overtime. Fatigue rules and labor agreements were violated unknowingly.
KEY DECISIONS
Current hours vs. After shift hours with visual bar. Overtime shown in red. Queue priority (#1, #2) for fairness. Employee View / Scheduler View toggle. Hours visualization: Worked · Scheduled · After shift · Overtime.
OUTCOME
Schedulers make informed approval decisions. Labor compliance is supported by design — not by memory. The visual overtime bar makes fatigue risk impossible to ignore at the moment of decision.
CAD MODULE
CAD SCREEN 01 — BEFORE & AFTER

CAD Grid — From Passive Display to Dispatch Command Center

The CAD Grid is the most operationally critical screen in Traumasoft — dispatchers live here during every shift. The redesign focused on three things: making status scannable at a glance, surfacing exceptions proactively, and reducing the cognitive load of the right-click context menu.

Iterated with clients
BEFORE — Initial iteration (no status filters, no timeline blocks)View in Figma → ↗
AFTER — With timeline blocks, status filters & Inter-Zone panelView in Figma → ↗
PAIN POINT SOLVED
Unit status with no visual hierarchy. Exceptions invisible unless the dispatcher actively searched for them. Emergency Call buried in the same menu as rarely-used actions.
KEY DECISIONS
Status filter bar (Available/Assigned/En Route/Late). Trip blocks as color-coded blocks on the timeline. Emergency Call and Call Intake as top-level buttons. Exceptions badge always visible. Separate Inter-Zone & Deployed Units panel.
OUTCOME
Dispatchers see the full operational picture without right-clicking. Critical states (Late, Incomplete crew) are impossible to miss. The Exceptions panel aggregates all issues in one scannable surface.
CAD SCREEN 02 — BEFORE & AFTER

Trip Details — From Basic Panel to Intelligent Dispatch Assistant

The original Trip Details panel showed basic trip info and a few action buttons. The redesigned panel adds unit compatibility highlighting with color-coded Match/Possible legend, recommended units, and a direct assignment CTA — turning a passive display into an active decision-support tool.

Dispatch Decision Support
BEFORE — Basic trip info, no unit highlightingView in Figma → ↗
AFTER — With unit highlighting, Match legend & direct assignmentView in Figma → ↗
PAIN POINT SOLVED
Dispatchers had to cross-reference clinical notes from a separate system while simultaneously checking unit availability in CAD. Two systems, one time-critical decision.
KEY DECISIONS
Unit highlighting ON/OFF toggle. Color-coded Match legend: Best match (free & compatible) / Possible with trade-offs / Not available. "Assign to Unit" as primary CTA. Show on Map, Mark Late as secondary actions.
OUTCOME
All dispatch-critical information in one panel. The unit highlighting prevents assignment to incompatible units. Dispatchers can see exactly which units are the best fit before committing.
CAD SCREEN 03 — NEW · "People Just Had to Know"

Exceptions Panel — From Invisible to Impossible to Miss

This panel directly addresses the most dangerous UX gap in the legacy CAD: "There is no visual warning for incomplete crews. People just have to know to look for it." — Melanie, Traumasoft. The Exceptions Panel surfaces every anomaly with severity classification, intelligent suggestions, and direct action buttons.

✓ New · Safety Critical
What each exception type covers:
⚠ Weight Critical (016-M)
Patient 340 lbs exceeds wheelchair capacity (250 lbs). Suggested: Reassign to bariatric-capable unit WC-1 or WC-4.
🚨 High-Risk Call (017-N)
Psychiatric emergency with barricade situation. Suggested: Experienced ALS crew with psychiatric training and police escort.
⚡ Level of Care Mismatch (018-O)
Trip requires CCT care, assigned to BLS unit. Suggested: Reassign to Critical Care Transport CCT-1 or CCT-2.
❤️ STEMI Alert — Level Mismatch (019-P)
STEMI requires ALS level of care, currently assigned BLS. Suggested: Upgrade to ALS unit for advanced cardiac monitoring.
PAIN POINT SOLVED
Incomplete crews, level-of-care mismatches, and high-risk calls were invisible unless the dispatcher actively searched for them. In high-volume dispatch centers, exceptions were routinely missed.
KEY DECISIONS
Filter tabs: All · Missing Data · Mismatch · High-Risk · Time Conflicts. Each exception shows: Trip ID, type, description, suggested action. "Reassign Unit" as primary CTA. "Mark as Handled Manually" as an escape hatch.
OUTCOME
From "people just have to know where to look" to a system that tells dispatchers exactly what's wrong and what to do about it. Exceptions are now impossible to miss and trivial to act on.
CAD SCREEN 04 — REDESIGNED

Right-Click Menu & Take Emergency Call — Hierarchy Over Volume

The legacy menu had 10 flat options with no hierarchy. The redesign reduces cognitive load through grouping, sub-menus for status changes with timestamps, and destructive actions in red. The Emergency Call flow was also iterated based on client feedback to align with real dispatch protocols.

Iterated Based on Client Feedback
REDESIGNED RIGHT-CLICK MENU — hierarchical with sub-menusView in Figma → ↗
TAKE EMERGENCY CALL — Before client iterationView in Figma → ↗
PAIN POINT SOLVED
10 flat options with no hierarchy. Emergency Call intake scattered across multiple screens during a life-safety event. Status changes with no timestamp confirmation.
KEY DECISIONS
Sub-menus reduce the primary menu to 7 core actions. Change Status shows existing timestamps to confirm the correct state. "Elapsed" timer on the Emergency Call modal. ProQA tab for pre-arrival instructions. Destructive actions in red.
OUTCOME
Dispatchers reach critical actions faster with fewer decision points. The tiered menu matches mental models: primary actions first, destructive actions visually differentiated. Emergency intake matches real dispatch sequence.
CAD SCREEN 05 — NEW

Incompatibility Warning — No Blind Assignments

When a dispatcher assigns a trip to an incompatible unit (e.g., a Wheelchair trip to an ALS unit), the system surfaces an Incompatibility Warning modal before the assignment is committed. This directly addresses the "Confirm Before Commit" design principle: all high-impact actions show a preview before confirmation.

✓ New · Confirm Before Commit
Incompatibility Warning modal — level of care mismatchView in Figma → ↗
PAIN POINT SOLVED
Dispatchers could accidentally assign trips to incompatible units with no system warning. The error would only surface later in the Exceptions panel — after the trip was already committed.
KEY DECISIONS
"Incompatibility Warning — This assignment may cause issues." Shows specific mismatch (e.g., Level of care mismatch: Trip requires Wheelchair, but ALS-4 is ALS). Warning note: trip will be flagged and appear in Exceptions Center. Cancel / Assign Anyway CTAs.
OUTCOME
Dispatchers are informed of mismatches at the moment of decision — not after the fact. The "Assign Anyway" escape hatch supports legitimate overrides while requiring explicit acknowledgment.
Cross-Module Design Principles

What ties every screen together

🔴
Exceptions First
Abnormal states are more visually prominent than normal states — across every module. Unfilled shifts, incomplete crews, overtime risk, and level mismatches always surface before "everything is fine" content.
📌
Side Panels, Not New Screens
Trip details, shift details, and exception details open in side panels — never navigating away from the operational context. Dispatchers and schedulers never lose their place in the flow.
🏷️
Dual-Coded Status
Every status indicator uses both color AND text/icon. No color-only coding anywhere. ALS = teal chip with label. Open shift = orange with text. Critical = red with warning icon + description.
🔽
Progressive Disclosure
Advanced options are hidden by default and expand on demand. The primary interface shows what 90% of users need 90% of the time.
Confirm Before Commit
All irreversible or high-impact actions show a preview of the resulting state before confirmation. No blind edits, no silent deletions.
🔗
One Design System
Every token — color, spacing, typography, component anatomy — is shared between Scheduling and CAD. A scheduler moving to the dispatch grid encounters the same visual language. Zero relearning cost.
Key Findings, Learnings & Reflections

What this engagement
taught me as a UX Lead

A 12-week engagement across 4 phases, 60+ research participants, 10 partner EMS companies, and two fully redesigned mission-critical modules. Here is what the data showed, what surprised me, and what I would carry into every complex enterprise engagement from here on.

KEY FINDINGS What the research revealed

01

The scheduling system is misunderstood by its own users

The Template vs. Published Schedule distinction — arguably the most fundamental concept in Traumasoft — was not understood by the majority of participants in Phase 1. Most users worked around the system rather than with it. Schedulers who had been using Traumasoft for 3+ years still had misconceptions about what "Delete" did on the publish page. This was not a training failure — it was a design failure. The mental model was never made visible in the UI.

02

Dispatchers operate in constant exception mode — the system assumes a default that rarely exists

On-site shadowing at dispatch centers revealed that dispatchers rarely experience a "normal" shift. Callouts, level-of-care mismatches, late punch-ins, and incomplete crews were daily events — not exceptions. Yet the entire CAD Grid was designed for the normal case, with exceptions invisible or buried. The system was built for an idealized workflow that almost never occurs in practice.

03

Role boundaries are fluid in EMS — research quotas must account for this

We planned to recruit distinct Dispatcher, Scheduler, Field Crew, and Admin cohorts. In reality, the majority of participants wore multiple hats simultaneously. A "dispatcher" was often also an admin and sometimes a scheduler. This meant that the cross-role journeys we documented — particularly the Scheduling-to-CAD handoff — were far richer than single-role research would have produced. The hybrid participant phenomenon became a finding in itself.

04

The CAB session was the single most valuable research artifact

The Client Advisory Board session — a structured facilitation with real operators from 5 partner companies — surfaced operational non-negotiables that individual interviews had not. The "Priority Stress Test" activity forced stakeholders to choose one capability over all others, producing clear consensus that became the explicit scope filter for the entire design phase. The CAB session also revealed that dispatch authority and compliance audit trails were non-negotiables that the generic component library we had been given completely ignored.

05

The highest-value improvements were vocabulary and visibility — not new features

The two changes with the largest projected impact on daily operations were: (1) renaming "DELETE" to "Remove Future Shifts" with a confirmation preview, and (2) making incomplete crew status visible in the CAD Grid. Neither required new functionality — both required rethinking what was already there. The most impactful UX work in this engagement was not additive. It was clarifying what the system already did, and making it honest about it.

LEARNINGS What I take forward as a UX Lead

🏥

Domain depth is not optional in safety-critical systems

EMS is not a typical enterprise context. Dispatchers make decisions under time pressure that affect patient outcomes. Every UX choice — touch target size, status color contrast, confirmation dialog wording — operates in a domain where errors are not just frustrating, they are potentially dangerous. I learned to ask "what happens at 3am during a mass casualty event?" before finalizing any interaction. That question is now part of my standard design review process for any safety-critical system.

🔗

Research and design systems must be directly coupled

In most engagements, research and design system work run as parallel, loosely connected tracks. At Traumasoft, I argued for direct dependency: no component was formalized until the research had validated the workflow context it would appear in. A status chip for "incomplete crew" was not designed in the abstract — it was designed after we had watched dispatchers miss that exact state during on-site shadowing. This coupling added time upfront and eliminated expensive rework in Phases 3 and 4.

🔄

Legacy users need evolution, not revolution

Users who have spent years in a system — even a frustrating one — develop deep muscle memory and mental models. The Daily Worksheet's 3-iteration journey taught me that the most effective redesign strategy is progressive elevation: preserve structural familiarity, systematically improve clarity and hierarchy. The final approved design kept the operational structure dispatchers expected, while making exceptions visible, status readable, and actions guided. Users described it as "the same, but finally working."

📊

Stakeholder facilitation is a design skill

The CAB session's "Priority Stress Test" — forcing 15 stakeholders from 5 companies to agree on a single highest-priority capability — was itself a design artifact. It had a structure, a purpose, and a measurable output. Running it well required the same skills as designing a good interface: clear information hierarchy, progressive disclosure of complexity, and a confirmed commitment before moving on. I now treat stakeholder facilitation as a core UX deliverable, not a meeting.

🗺️

Journey maps are most valuable when they cross role boundaries

The decision to organize journey maps around operational workflows (Scheduling journey, Dispatching journey) rather than individual personas was one of the most consequential choices of the project. Because EMS staff routinely play multiple roles in a single shift, cross-role journey mapping surfaced handoff friction — the moment where scheduling decisions became dispatch problems — that persona-centric maps would have completely missed. The incomplete crew problem in CAD is a scheduling problem in disguise.

Scope discipline protects research quality

With 10 partner companies, dozens of stakeholders, and a platform covering 8 modules, scope creep was a constant risk. Using the CAB session outputs as an explicit, documented scope filter — "we prioritize Scheduling and CAD because that is what the participants themselves chose" — gave every subsequent scope discussion an objective anchor. When a stakeholder asked why we weren't redesigning billing or ePCR, the answer was the participants' own words. Documented research makes scope decisions defensible.

ROADMAP What comes next

SHORT TERM
  • Deliver Phase 3.2 usability testing reports for Scheduling and CAD
  • Finalize refined prototypes for both modules
  • Present Strategic UX Report to Traumasoft leadership
  • Deliver Final Presentation with adoption plan
MID TERM
  • Extend Design System to ePCR and Billing modules
  • Conduct longitudinal testing with pilot EMS companies post-launch
  • Establish Traumasoft internal design governance committee
  • Build partner linking feature (Jen + Ed always work together)
LONG TERM
  • Full platform migration to new design system
  • Mobile companion app for field crew (shift visibility, punch-in)
  • Analytics dashboard for operations directors
  • Employee Portal redesign with self-service scheduling

"The most powerful thing we did was start with a CAB session where real dispatchers and schedulers told us, unprompted, what could never break. That list became the design system's non-negotiable constraints — and it prevented us from optimizing for the wrong things."

Xavier Cabrera · UX Lead · Traumasoft Engagement · 3Pillar Global · Jan–Apr 2026
Trauma soft
EMS · NEMT · SaaS

Final Designs & Prototypes

From Research to
Production-Ready Design

Every screen shown here is traceable to a specific pain point from the research, a decision made during usability testing, or a constraint surfaced by real dispatchers and schedulers during on-site shadowing. Nothing was designed speculatively — every interaction pattern was validated before being finalized.

Research → Design → Test → Iterate 2–3 iterations per screen Usability tested · 60+ participants One design system · Scheduling + CAD
SCHEDULING MODULE
SCREEN 01 — NEW SCREEN

Scheduling Overview — The Missing Home Base

The original Traumasoft had no entry dashboard for scheduling. Managers had to navigate to 4+ separate screens to understand the day's coverage status. Based on the most cited pain point in Phase 1: "I don't know where to look first when I start my shift."

✓ Did not exist in legacy
Scheduling Overview — new screenView in Figma ↗
PAIN POINT SOLVED
No entry point. Managers opened 4+ screens to understand daily coverage. Critical alert status completely invisible.
KEY DECISIONS
Action Required alerts with 3 severity levels (red/orange/blue). KPI strip: Overall Coverage %, Open Shifts, Pending Requests. Coverage by Region with inline progress bars. Direct CTAs: View in Grid →, Review Requests →, View Templates →.
OUTCOME
Schedulers assess the full operational state in under 10 seconds. Critical understaffing surfaces immediately with a direct CTA.
SCREEN 02 — REDESIGNED

Schedule Templates — Structured, Scannable, Actionable

The legacy screen mixed active templates and drafts with zero visual differentiation. Users couldn't tell what was 'live' at a glance. The redesign adds service type chips (ALS, BLS, Wheelchair, CCT, Dispatch), status badges (Active/Draft), sorting, and author attribution.

Redesigned · IA Restructure
Schedule Templates — redesignedView in Figma ↗
PAIN POINT SOLVED
Legacy mixed active templates and drafts without differentiation. 'Which template is the right one?' was a recurring confusion in Phase 1 interviews.
KEY DECISIONS
Color-coded service type chips. Active/Draft status badges. Last Modified with author attribution. '50 templates · 21 active, 15 drafts' in the header. Inline edit/more actions per row. Search + Columns toggle.
OUTCOME
Schedulers instantly identify template state, type, and recency. Reduces the error of publishing the wrong template.
SCREEN 03 — NEW · #1 REQUESTED FEATURE

Calendar View — Weekly & Monthly — The View Everyone Asked For

The original Traumasoft had no calendar view. Schedulers only saw a dense daily table. This was the #1 spontaneously requested feature in every Phase 1 interview: "I just want to see the week at a glance." Weekly and monthly views were designed with drag-and-drop and a direct bridge to the Schedule Wizard.

✓ New · Most requested feature
WEEKLY VIEW — with employees panelView in Figma ↗
MONTHLY VIEW — hide employeesView in Figma ↗
PAIN POINT SOLVED
No temporal scheduling view — only a daily table. Impossible to see patterns, gaps, or open shifts across a full week or month.
KEY DECISIONS
Units as rows, time as columns. Open shifts in orange for immediate visibility. Inline role badges (PM, EMT, WC). 'Open this week in Grid →' direct bridge to bulk editing. Filters: Vehicle Type + Role + Show open shifts only.
OUTCOME
Schedulers see coverage gaps across a full week or month at a glance. Open shifts are impossible to miss. The Grid bridge eliminates the context switch.
SCREEN 04 — REDESIGNED + CRITICAL FIX

Schedule Grid & Wizard — The Power Tool, Now With 'Copy to Date Range'

The Wizard already existed as Traumasoft's most powerful scheduling tool — but was missing the most requested capability: copying shifts to another date range. The redesign adds this as a top-level bulk action, alongside a cleaner filter UI and a transparent results table before committing changes.

Critical Fix: Copy to Date Range
GRID VIEW — Weekly schedule with details panelView in Figma ↗
WIZARD — Copy to Date Range modalView in Figma ↗
CRITICAL FIX
'Copy to Date Range' — 1,825 hours/year saved. Copying January's schedule to February was a full manual recreation. Now it's a 3-click operation: select shifts → 'Copy to date range...' → specify destination. The highest ROI fix of the entire engagement.
PAIN POINT SOLVED
No Copy function. January's schedule had to be manually recreated in February. CJ estimated 1,825 admin hours lost per year for companies with 500 employees.
KEY DECISIONS
Results table shows all affected shifts before committing. Shift ID links for traceability. Earning Code visible inline. Bulk actions: Assign, Edit fields, Copy to date range, Delete. Query by Date Range or Pay Period.
OUTCOME
Mass scheduling operations that took hours now take minutes. The transparent preview table ensures schedulers know exactly what they're about to change.
SCREEN 05 — 3 ITERATIONS · FINAL APPROVED

Daily Worksheet — From Dense Table to Operational Control Room

The Daily Worksheet went through more iterations than any other screen in the project — 2 versions were designed and discarded before reaching the final approved design. It was the screen dispatchers and schedulers lived in most, so every pixel decision had direct operational consequences.

3 versions · 2 discarded
Design Evolution — Why We Discarded 2 Versions
VERSION 1 — DISCARDED ✗
Report-style layout. Sections stacked vertically. No timeline, no real-time context. Felt like a list, not an operational workspace.
VERSION 2 — DISCARDED ✗
More columns and data, but still table-based. Better than V1 but still no operational timeline. Felt like a spreadsheet, not a dispatch tool.
FINAL VERSION — APPROVED ✓
Timeline-based, units as rows. Live mode badge. Coverage Summary + Exceptions side panel. Shift Profiles as drag-and-drop cards. This actually feels like a dispatch control room.
FINAL — Daily Worksheet with timeline, Coverage Summary & Exceptions panelView in Figma ↗
PAIN POINT SOLVED
No temporal view. No exception surfacing. No role-based layouts. No guided shift creation. Dispatchers and schedulers saw the same undifferentiated table.
KEY DECISIONS
Badge 'Live mode · Editable'. Timeline with inline editable role chips. Coverage Summary panel (BLS/ALS/CCT counts). Exceptions tab with 5 categories. Manage Views: System/Personal/Team views. 3-step Create Shift wizard with auto-duration calculation.
OUTCOME
The Daily Worksheet now functions as an operational control room — not a report. Exceptions surface automatically. Shift creation is guided. Role-based views give dispatchers and schedulers exactly what they need.
REQUESTS MODULE — NEW

Shift Pickup Requests — Overtime Visibility Before Approval

A new screen addressing one of the key tensions identified in the CAB session: "Coverage optimization vs. crew fatigue and morale." The scheduler now sees exactly how many hours an employee will have AFTER picking up a shift — with a visual overtime risk bar — before approving.

✓ New · Compliance by design
Shift Pickup Requests — Scheduler View with overtime visibilityView in Figma ↗
PAIN POINT SOLVED
Schedulers approved pickup requests without knowing if the employee would hit overtime. Fatigue rules and labor agreements were violated unknowingly.
KEY DECISIONS
Current hours vs. After shift hours with visual bar. Overtime shown in red. Queue priority (#1, #2) for fairness. Employee View / Scheduler View toggle. Hours visualization: Worked · Scheduled · After shift · Overtime.
OUTCOME
Schedulers make informed approval decisions. Labor compliance is supported by design — not by memory. The visual overtime bar makes fatigue risk impossible to ignore at the moment of decision.
CAD MODULE
CAD SCREEN 01 — BEFORE & AFTER

CAD Grid — From Passive Display to Dispatch Command Center

The CAD Grid is the most operationally critical screen in Traumasoft — dispatchers live here during every shift. The redesign focused on three things: making status scannable at a glance, surfacing exceptions proactively, and reducing the cognitive load of the right-click context menu.

Iterated with clients
BEFORE — Initial iteration (filter OFF, static grid)View in Figma ↗
AFTER — Final version (status bar, timeline, deployed units)View in Figma ↗
PAIN POINT SOLVED
Unit status with no visual hierarchy. Exceptions invisible unless the dispatcher actively searched for them. Emergency Call buried in the same menu as rarely-used actions.
KEY DECISIONS
Status filter bar (Available/Assigned/En Route/Late). Trip blocks as color-coded blocks on the timeline. Emergency Call and Call Intake as top-level buttons. Exceptions badge always visible. Separate Inter-Zone & Deployed Units panel. Zoom control for density management.
OUTCOME
Dispatchers see the full operational picture without right-clicking. Critical states (Late, Incomplete crew) are impossible to miss. The Exceptions panel aggregates all issues in one scannable surface.
CAD SCREEN 02 — BEFORE & AFTER

Trip Details — From Basic Panel to Intelligent Dispatch Assistant

The original Trip Details panel showed basic trip info and a few action buttons. The redesigned panel adds clinical notes (ALI/CHARLIE/DISPATCH protocol), recommended units ranked by distance and availability, and a direct assignment CTA — turning a passive display into an active decision-support tool.

Dispatch Decision Support
BEFORE — Basic trip info, toggle highlight onlyView in Figma ↗
AFTER — Highlighting enabled, compatible units ranked by matchView in Figma ↗
PAIN POINT SOLVED
Dispatchers had to cross-reference clinical notes from a separate system while simultaneously checking unit availability in CAD. Two systems, one time-critical decision.
KEY DECISIONS
Recommended units ranked by distance + availability. Color-coded match indicators (Match / Possible). 'Assign to Unit' as primary CTA. Show on Map, Mark Late as secondary actions. Highlighting enabled shows compatible units directly on grid.
OUTCOME
All dispatch-critical information in one panel. The recommended units list prevents assignment to incomplete-crew units. Clinical notes eliminate the system-switching that cost critical seconds.
CAD SCREEN 03 — NEW · "People Just Had to Know"

Exceptions Panel — From Invisible to Impossible to Miss

This panel directly addresses the most dangerous UX gap in the legacy CAD: "There is no visual warning for incomplete crews. People just have to know to look for it." The Exceptions Panel surfaces every anomaly with severity classification, intelligent suggestions, and direct action buttons.

✓ New · Safety Critical
Quote from on-site shadowing
"People just have to know to look for it physically." — Melanie, Traumasoft internal trainer
Exceptions Panel — Final versionView in Figma ↗
PAIN POINT SOLVED
Incomplete crews, level-of-care mismatches, and high-risk calls were invisible unless the dispatcher actively searched for them. In high-volume dispatch centers, exceptions were routinely missed.
KEY DECISIONS
Filter tabs: All · Missing Data · Mismatch · High-Risk · Time Conflicts. Each exception shows: Trip ID, type, description, suggested action. 'Reassign Unit' as primary CTA. 'Mark as Handled Manually' as an escape hatch.
OUTCOME
From 'people just have to know where to look' to a system that tells dispatchers exactly what's wrong and what to do about it. Exceptions are now impossible to miss and trivial to act on.
CAD SCREEN 04 — REDESIGNED

Right-Click Menu & Take Emergency Call — Iterated Based on Client Feedback

The legacy menu had 10 flat options with no hierarchy. The redesign reduces cognitive load through grouping, sub-menus for status changes with timestamps, and destructive actions (Cancel Trip, Delete Trip) in red. The Emergency Call flow was also iterated based on client feedback to align with real dispatch protocols.

Hierarchy over volume
REDESIGNED RIGHT-CLICK MENU — grouped actions, status sub-menu with timestampsView in Figma ↗
TAKE EMERGENCY CALL — Before client iteration (Intake + ProQA tabs, elapsed timer)View in Figma ↗
PAIN POINT SOLVED
10 flat options with no hierarchy. Emergency Call intake scattered across multiple screens during a life-safety event. Status changes with no timestamp confirmation.
KEY DECISIONS
Sub-menus reduce the primary menu to 7 core actions. Change Status shows existing timestamps to confirm the correct state. 'Elapsed' timer on the Emergency Call modal. ProQA tab for pre-arrival instructions. Destructive actions in red.
OUTCOME
Dispatchers reach critical actions faster with fewer decision points. The tiered menu matches mental models: primary actions first, destructive actions visually differentiated.
CAD SCREEN 05 — SAFETY GUARDRAILS

Incompatibility Warning & Full Call Intake — Confirm Before Commit

Two screens that embody the 'Confirm Before Commit' design principle. The Incompatibility Warning fires when a dispatcher tries to assign a trip to an incompatible unit — preventing errors before they happen. The full Call Intake form captures all dispatch-critical data in a structured, tab-based layout.

Confirm Before Commit
INCOMPATIBILITY WARNING — level-of-care mismatch detected before assignmentView in Figma ↗
FULL CALL INTAKE — structured form with all dispatch-critical fieldsView in Figma ↗
PAIN POINT SOLVED
Dispatchers could assign mismatched units without any system warning. Call intake data was captured across multiple screens with no single source of truth.
KEY DECISIONS
Incompatibility Warning shows exactly what the mismatch is ('Trip requires Wheelchair, but ALS-4 is ALS') with 'Assign Anyway' as an explicit escape hatch. Call Intake uses tabbed layout: Intake · Patient Details · Dates & Times · Service & Equipment · Medical · Billing · Notes.
OUTCOME
Mismatches are caught before dispatch, not after. Call intake is a single structured flow — dispatchers never lose context. All fields are validated before 'Save & Dispatch to CAD' is enabled.
Cross-Module Design Principles

What Ties Every Screen Together

🔴
Exceptions First
Abnormal states are more visually prominent than normal states — across every module. Unfilled shifts, incomplete crews, overtime risk, and level mismatches always surface before 'everything is fine' content.
📌
Side Panels, Not New Screens
Trip details, shift details, and exception details open in side panels — never navigating away from the operational context. Dispatchers and schedulers never lose their place in the flow.
🏷️
Dual-Coded Status
Every status indicator uses both color AND text/icon. No color-only coding anywhere. ALS = teal chip with label. Open shift = orange with 'Open shift' text. Critical = red with warning icon + description.
🔽
Progressive Disclosure
Advanced options (certification requirements, special instructions, alert timing) are hidden by default and expand on demand. The primary interface shows what 90% of users need 90% of the time.
Confirm Before Commit
All irreversible or high-impact actions (callout marking, delete, bulk edit, emergency dispatch) show a preview of the resulting state before confirmation. No blind edits, no silent deletions.
🔗
One Design System
Every token — color, spacing, typography, component anatomy — is shared between Scheduling and CAD. A scheduler moving to the dispatch grid encounters the same visual language. Context switching has zero relearning cost.