Barcode & QR Code Scanner

A feature for quickly accessing participant records in clinical trials

IQVIA

2021

My Role

The initial discovery workshop for this product was conducted by one of my design colleagues. I was solely responsible for all subsequent research and design for this specific feature.

What is IQVIA?

IQVIA is a leading global provider of advanced analytics, technology solutions, and clinical research services to the life sciences industry.

I was on the MedTech team, a startup-like venture within the organization that focused on advancing how patients and management teams interacted with clinical trials through the use of native mobile apps.

What is Capture?

Capture was a native iOS/iPadOS app that improved how study staff managed clinical trials and onboarded participants.

Product Kickoff

When our team approached a new product, we ran a week-long discovery workshop with end users.

This workshop was facilitated by a designer and attended by three end users, plus a variety of other product team members. It allowed us to better understand:

  • who our users were
  • how they work
  • how they think
  • what pain points they typically experience

Our findings during these sessions also helped us:

  • assess product-market fit
  • create a lean set of UX artifacts that we could reference
  • identify specific problems to solve, which informed the feature roadmap

Context & Problem

Individuals interested in participating in a clinical study (also known as a clinical trial) must first complete a screening process to determine eligibility. Eligible candidates can then be enrolled. Screening visits and participation in the study have historically been conducted on site and in person at a clinic. It is worth noting that in recent years, and especially as a result of the COVID-19 pandemic, there has been an increased desire for hybrid and fully-virtual studies. This case study focuses on the in-person and hybrid scenarios.

Study participants are also referred to as “patients,” “volunteers,” and often, “subjects.” I use these terms interchangeably.

While participants may interact with a variety of staff on the study team, the Clinical Research Technician (CRT) is primarily responsible for participant engagement and data collection. The CRT is the core user of the Capture app.

A physical binder is maintained at the study site for every participant. It contains all study-related documents and information for that participant, and is used for the entire duration of the study.

During a study visit, data is captured both by hand (using pen and paper) and electronically (at workstations throughout the facility). Electronic data capture, in particular, is not a user-friendly experience. The online system in use today can be inefficient and difficult to understand and navigate. There is also no good way to consolidate paper-based data with electronically-captured data into a single system.

Target User & Persona

Clinical Research Technician (CRT)

Age & Education

  • 24 to 46 years old
  • Has a Bachelor's degree
  • Completed the CRT training program

Motivations

I want to help run clinical studies so that patients can benefit from new, safe, and effective healthcare options.
I enjoy working with people and helping them feel comfortable.

Skills

  • General computer proficiency and data entry
  • Written and verbal communication
  • Organization and attention to detail
  • Teamwork
  • Bedside manner
  • Able to capture basic health measurements (e.g. height, weight, blood pressure, ECG)

Responsibilities

  • Coordinate study visits
  • Capture participant data and complete tasks according to the study protocol in a timely manner
  • Monitor the safety of participants
  • Work seamlessly with the study team
  • Share data and updates with the Site Coordinator
  • Adhere to regulatory and data privacy requirements

Wants to

  • Easily capture all data electronically
  • Minimize or eliminate errors
  • Avoid stress when processes are inefficient and there are a lot of participants scheduled
  • Not have to worry about the technology, and instead focus on participant interactions

Pain Points

The current processes for capturing data are too inefficient, time consuming, and can lead to errors. I often have to convert written notes and results into a digital format after the fact in order to store them in a database. It's all very tedious.

Goals

Product Goals

To deliver a native mobile application that fully digitizes and modernizes the participant management and data capture experience in a clinical study.

  • Easy to navigate between studies and participants
  • Easy to capture data without error
  • Adhere to strict security and data privacy standards
  • Fast and reliable

This app would integrate into a larger ecosystem of products that address every major facet of the clinical study experience.

Feature Goals

To provide a quick and easy way to navigate to a study participant's digital file, particularly during in-person study visits.

To set the foundation for an extensible barcode/QR code scanning feature that will have additional applications, including the ability to record barcode values in digital forms.

Project Scope

Basic Feature Requirements

  • Barcode and QR code support
  • Dark mode appearance ("dark room vibe")
  • Immersive feeling (e.g., maybe place content over video feed)
  • Manual entry fail-safe so the user can still find the intended subject if there is an issue with scanning
  • Only barcodes fully within the bounds of the viewfinder should be scanned

Design Considerations

  • Errors:
    • What can go wrong?
    • How do I communicate error (and success) states?
  • Permissions: Camera access/entitlement
  • Orientation: Implications of portrait vs. landscape screen orientation?
  • Timing: Scanning should feel natural, responsive, and intentional
  • Forgiving: Easy way to "reset" if the user scans the wrong barcode
  • Verification: How many layers of verification are needed, if any?
  • Entry points: How should this feature be accessed?

User Flows

I wanted to better understand how the user would incorporate this feature into their workflow. I chose to create a flow chart of a possible future-state experience to help me think through the necessary steps and possible gaps. I also mapped the existing experience for comparison.

Search or Browse to Access

Scan Barcode/QR code to Access

Ideation

Entry Points

Where in the existing flow does this feature naturally fit? We needed to provide easy access, and we knew that it was possible for CRTs to manage multiple studies out of the same facility. That suggested placement on the top-levels screens: the study list and the subject list for a specific study.

Barcodes were unique to participants and studies, so there would be no issue scanning a barcode before selecting which study the participant was in.

Study list (home screen)
Subject list

Views

iOS natively supports various presentation views. I explored a few based on placement and prominence on the screen. The small popover off to the side felt odd when I held the iPad in my hands and simulated the experience. A more central viewfinder felt more natural, similar to opening the camera on your device. I liked that the sheet modal allowed for some of the background context to remain visible when using the scanner.

We moved forward with the sheet modal approach.

Popover
Sheet modal
Fullscreen

Scan Mode

It was time to design the main scanner UI. Knowing we preferred a sheet modal approach was a good baseline constraint. I needed to account for some basic functionality and content:

  • A viewport to show the user what the camera sees
  • Instructional copy/messaging
  • A way to manually enter the ID
  • A way to cancel/close the modal

Wireframes

Combining scan functionality with manual entry functionality did not feel right. The manual entry UI added too much clutter and distracted from the intended approach of scanning. We were also banking on manual entry being infrequently used, if ever. It was more of a fail-safe after all.

I decided to use the native segmented control to let the user switch modes, drawing inspiration from how the stock camera app lets you switch between various camera modes, such as photo, video, and portrait.

High-Fidelity Explorations

Manual Entry Mode

Viewfinder Window: Corner Treatment

I wanted the viewfinder window to have four "living" corners that would locate and move to any prominent barcodes. This would help the user see which barcode the camera was actively prioritizing (in case there were multiple). To emphasize this detail, I carefully considered the shape of the corners, the prominence of the lines, and their alignment within the window.

Same thickness; flush overlay
Thicker; center overlay
Thicker; aligned to outer edge
Thicker; outward offset
At-a-glance comparison

Identifying the Barcode

Neutral state
Success state
Failure state

Errors & Stateful Feedback

System alert
Temporary toast: in viewfinder; top & center
Temporary toast: in viewfinder; near barcode
Temporary toast: below instructional copy

Message Treatment

Message Ideas

Participant Study IDs for Verification

During the discovery phase, CRTs emphasized the importance of data accuracy, especially on high-volume days. To help increase confidence that the correct participant was being selected by the barcode scanner, I included a verification step in my designs.

As part of our participant-facing app, Volunteer, I had previously designed a study ID to be used precisely for verification and check-in purposes. I wanted to reuse that design here as much as possible.

Participant Verification

A variety of UI explorations for verification following a successful barcode scan.

Final Designs

Scan Mode: Happy Path

Scan Mode: Invalid Barcode

Manual Entry Mode: Happy Path

Manual Entry Mode: Invalid ID

Lengthy Network Calls

Recognizing that barcode lookups might occasionally experience delays, I wanted to provide feedback to the user that the system was actively processing information.

Participant Verification

Freezing the video feed, blurring the frame, and navigating to a separate screen would allow the CRT to focus more easily on the very important task of participant verification.

If participant photo exists
If participant photo does not exist

Barcode Scanning Prioritization Rules

During the ideation stage, I decided against adding a crosshair to the middle of the viewfinder window. I consulted our engineers and we decided to implement a set of rules that would determine which barcode in the frame was the intended barcode for scanning. At the time, I believed this would be a more delightful solution, as we felt confident enough that we could pinpoint the correct barcode based on the user's positioning of the device. These are the rules I defined:

Viewfinder terminology
Prioritize the largest, most central barcode
Prioritize the central barcode, even if there is a slightly larger one nearby
Prioritize a barcode that is significantly larger than the central one
If neither barcode is central, prioritize the larger one
If all barcodes are similarly sized, prioritize the most central one

Participant App Barcodes

We were also designing a participant-facing app that would enable people to quickly pull up their barcodes for verification upon arriving at the study site. Capture's new scanning feature would work seamlessly with this new capability.

Post-Launch Refinement

Shortly after this feature went live, we added the barcode scanning capability to "device provisioning" forms. These were electronic forms that had to be completed for every medical device that was given to a participant in a medical device study. Adding this feature was meant to enable users to log device serial numbers more quickly and efficiently. However, this use case highlighted an area of opportunity in the barcode scanner design.

Adding a Crosshair

When the use case for the barcode scanner expanded to include device provisioning, our users reported that the lack of a crosshair in the viewfinder window resulted in decreased efficiency. If the device packaging had two or more barcodes right next to each other, it was not as easy to scan the correct barcode. The extra few seconds per barcode added too much friction when the users needed to get through logging hundreds of devices.

With this feedback, we simply added a crosshair to the viewfinder window and enforced one primary rule: only scan the barcode in contact with the crosshair. This change went live and we confirmed it was an improvement over the original design.

Device barcode
Participant QR code