A practice-management system its own users had outgrown. The audit found where, and thirty of those users then compared the two.
Type
Shipped
Industry
Healthcare
Year
2026
Role
Head of UI/UX
Scope
13 screens audited
Impact
30 of 30 users preferred the redesign
Audit Framework
How the audit was run
1ExtractionWalk the live application and rebuild every page in Figma. You cannot evaluate what you have only seen; drawing it is how you find out what is actually there.
2Information architectureMap the current navigation as a whole before judging any screen inside it. The structure is the thing every screen sits in.
3Laws of UXEvery extracted screen against the cognitive laws: Hick, Miller, Fitts, Jakob, Tesler, Proximity, Goal-Gradient, Peak-End.
4Nielsen's 10 heuristicsThe same screens again, against the usability heuristics. Each finding names the heuristic it breaks rather than asserting a preference.
5WCAG 2.1 AAAnd a third pass for accessibility. Contrast, input guidance and the states a keyboard or screen reader depends on.
6SynthesisCompile the three passes into one set of findings and decide a design direction from them, rather than fixing screens one at a time.
7Hi-fi redesignRedraw each screen against the direction, and show it beside the original so the argument is visible rather than described.
8Usability testingThirty existing VetIT users compared the two systems. This stage is not in the audit document, which is an expert review; the test came after it.
Three frameworks, run over the same screens three times, is the part worth defending. One pass finds what a designer already suspected. Three passes with named principles produce findings somebody else can check, disagree with, and prioritise, which is what turns an opinion into an audit.
What the extraction found first
Before any screen was evaluated, the navigation was. Eleven top-level modules organised around how the system is built rather than how a clinic works: the audit calls it "system-driven rather than user-driven". The proposal regroups them around the journeys staff actually run.
BeforeAfter
Appointment→OperationsThe section holds hospital ops and rota setup as well as scheduling, so its name described a third of it.
Create New→ClientsA whole module for one action broke the flow. A Clients section is where staff already expect to find a client.
Stock→InventoryThe standard term in both medical and retail systems.
Price Lookup→CatalogLookup is passive. Catalog is a place you browse, compare and select in, which is what the screen is for.
Help→SupportUsers arriving here want assistance now, not documentation to browse.
Reports and Extracts→ReportsTechnical and slightly redundant.
The audit is explicit that this is a proposal rather than a conclusion: the groupings are argued from structural analysis and Miller’s Law, and its own footnote says they should be confirmed with the client team against real workflows and role-based access.
Key Problems
The four heaviest screens
Add new client
The longest section of the audit at fourteen pages, and the only one whose fix removes whole steps from a daily task rather than tidying one.
Six steps for a single task.
Duplicate detection ran after step two, so a member of staff could enter two screens of data before being told the client already existed.
Consent checkboxes did not distinguish "declined" from "not yet asked".
Age was typed in by hand alongside the date of birth.
Search
Twelve pages, and the only screen in the audit where the flow actively destroys work: switching to advanced search reset what the user had already typed.
Modal-in-modal friction: moving from basic to advanced search reset the user.
The Filter button silently switched between basic and advanced without showing which was active.
Two separate pagination controls inside one modal.
Results only appeared after the search was submitted.
Appointments
Eleven pages, and the largest consolidation in the audit: three calendars, three timelines and a day book, several of which did the same job.
Three calendars, three timelines and a day book, with overlapping functions.
Each appointment card carried more information than could be read at a glance.
Filters lived behind a popup.
Appointments could only be added by clicking a date, with no visible control.
Dashboard
Eight pages, and the screen every user opens first: whatever is wrong here is wrong on the way to everything else.
Colour was used inconsistently, so it carried no reliable meaning.
Reactivating a panel required a low-precision click target.
And the structure they all sit in
Information architecture
Not a screen, and the highest-leverage change in the deck: it is the structure every other screen sits inside.
Creating a client lived in a general "Create New" section, which broke the flow and made client management hard to find.
"Appointment" named a section that also held hospital operations and rota setup.
"Price Lookup" named a passive action for a section that does more, and pricing controls were split across two places.
"Help" implied browsing documentation.
Key Solutions
What was proposed, screen by screen
Add new client
Merge related steps to take the flow from six to four.
Trigger the duplicate check earlier, at the end of step one.
Make the two states explicit.
Calculate age from the date of birth.
Search
Make the entry point to advanced search an explicit, labelled control rather than a mode toggle.
Show the state.
Show the top five recent items and drop the pagination.
Show matches in real time as the user types.
Appointments
Consolidate into fewer view modes.
Reduce what a card shows.
Move them into the page.
Add a dedicated "Add appointment" button.
Dashboard
Neutral colour for general content, and specific colours reserved for status.
Enlarge the target.
And the navigation underneath them
Information architecture
Introduce a dedicated Clients module.
Rename it Operations, to match its actual scope.
Rename to Catalog and bring Price Profile Management under it.
Rename to Support, which matches what users are actually after.
Then thirty of their own users compared the two
30 of 30existing VetIT users preferred the redesignA counterbalanced within-subjects crossover, 15 sessions over 10 days.
What was measured: time to complete set tasks, on both systems, in both orders. Each participant used both systems, and the order was balanced across the group so that familiarity with one could not be mistaken for a property of the other.
things are easier to find
significantly reduced cognitive load
a much better experience compared to the current system
Those are participants’ own words, reported rather than measured, and they are on the page as such.
Participants who used the current system first were slower on the redesign, having arrived fluent in the one and cold on the other. They preferred the redesign regardless.