Medical Inventory Management App


Impinj is a maker of passive RFID chips that are used to wirelessly connect billions of everyday items to applications (learn more at Impinj approached my team at General Assembly to develop a proof of concept mobile app that would demonstrate the value of their technology to hospitals. Assemble is the name of the app we designed.


Highly valuable medical equipment often gets left in hospital rooms after a patient is released, forcing hospitals to over-lease or over-purchase to maintain operations. Searching for missing devices can account for 20-30% of staff time and $4.5B/yr in redundant purchases in the US alone. This cost is passed on to patients in the form of more expensive care.

Scope + Role

Our team had three weeks to research the problem, explore possible solutions using Impinj technology, test prototypes, iterate and present our findings.

I led the interaction design and information architecture while supporting research and visual design.


Understanding the Problem Space

The first phase of research was immersion. With very little background in medical device inventory or RFID technology, we relied on the expertise of subject matter experts.

  • An ICU Nurse reported that he’ll frequently spend 2-3 hrs of his 12 hr shift looking for missing medical devices
  • A program specialist from a psych hospital gave context on how devices can be a patient hazard and are tightly controlled in certain contexts
  • A biomedical engineer blew our minds with the latest on biologically controlled prosthetics and helped us understand why analog inventory solutions are sometimes preferable to medical staff
  • A recently graduated doctor helped us understand the hospital culture than can lead to over-purchasing and shared context on how different floor plans impact device storage strategies
(Illustration by Laruen Brown)

Our interviews revealed that missing devices create a domino problem. For example, in the storyboard above, we show how an ICU nurse takes a device from a nearby room to meet the urgent needs of a patient. This of course creates a subsequent problem for the patient in the next room (and the next). As we researched the broader problem space we began to grasp the impact of these anecdotal stories through a more quantitative lens.

  • Hospitals in the US alone pay $4.5B/yr on redundant device purchases
  • Less than 50% of purchased devices get used
  • Medical staff on average spend 20-30% of their time locating lost devices
  • Quality of care decreases when devices are not immediately available

In purely financial terms, this costs US hospitals $10-20+B each year. Patients bear the burden of these costs.

Technical Research

It was critical to Impinj that we design a solution around nuances of their actual technology as it exists today so we kicked the project off by spending several days onsite and hands-on with Impinj technology. Through this exploration, we internalized key capabilities and limitations of Impinj technology.

Key Learnings
  • Range: usually accurate to ~30’ (theoretical max 50’)
  • Direction: depending on the scanner hardware, it will read an omnidirectional outward radius or forward-face cone
  • Interference: radio waves are blocked by sodium (in humans and medical devices) and can be scattered by metal and liquid
  • Locationposition information requires very expensive scanners and expert device tuning
  • Storage: each chip can hold only 12 bytes of data

Design Process

Success Criteria + Design Constraints

Due to the complexity of our problem space, it was critical that we clearly prioritize the scope and success criteria of our solution. We identified three primary stakeholders and one primary scenario for the Assemble app concept.

  1. Impinj: illustrate value of RFID tech to hospitals
  2. Hospitals: provide better patient outcomes at lower cost
  3. Staff: free up time care for patients instead of looking for missing devices

The specific scenario that best meets the needs of all stakeholders patient room inventory check. This is when hospital staff reset a room after patient discharge or before a new patient arrives. Getting device inventory under control at these existing checkpoints will prevent emergency scenarios and self-correct the domino problem in the storyboard above. We also limited our scope to tagging only high-value reusable medical devices which limits the total number of objects to ~10-20 per room.

Initial Wireframes
  • In our data model every medical device is parented either to a patient, a room or a supply location. But how can a user identify whether they want to scan for medical devices associated with room 304 or just for the patient within room 304?
  • I proposed using RFID tags in patient wristbands and room placards to make it easy to select which device parent should be used.
  • Tags are also used to mark the room perimeter to provide spatial context for scan results.
  • The radial menu in this concept is optimized for speed of ongoing use—to ensure that the primary task of scanning for devices has as few steps as possible.

Client and usability test feedback suggested that the “+” primary action with icons didn’t do enough to optimize for learnability. In addition the client was concerned with the cost and complexity of implementing a scanner with spacial awareness and asked me to redesign using a conical scanner that would not report the relative position of tags.

Design Solution

My follow up design iterations maintained the same goals, but factored in learnings from our early prototypes. The biggest change was to break the single primary “+” icon into three calls to action that combined text and iconographic cues. Since the relative locations of nearby tags can no longer be shown on this screen, it actually didn’t add any friction.

Additionally, I was able to re-use the three tag types, but slightly adapted how they are used. For example we still recommend using perimeter tags but instead of showing the edges of the room, they provide a sanity check for whether a scan has covered the entire room or missed an area. The guiding vision has been to reduce cognitive load wherever possible and many small decisions have been removed and replaced with contextual defaults. For example, when a user is about to identify which room they are about to scan, they no longer have to specify scanner power, or whether they’d prefer to type the room number or scan the door. Instead the app knows a user is about to ID a room and automatically adjusts the power appropriately. Now the GUI prompts the user to either scan the door or type the room number and will record whichever input it receives first.


This design feels successful because it prioritizes a very small problem within an enormously complex problem space and presents a technically feasible solution. Our test feedback has been that the concept feels intuitive, learnable and quick to use. More importantly Impinj is thrilled with the design and is planning to work with a developer to build it out and then show it to Seattle-area hospitals!