Health Journaling with ChatGPT

Human-AI Interaction

Context

Senior Year Capstone

Timeframe

Spring & Summer 2023

Industry

AI Startup

A Doctor's Time is Expensive

Clear communication is essential for providers to treat chronic illnesses, but patients traditionally only communicate their doctors during appointments. For someone with a lifelong condition, these routine appointments are a constant expense. Remote symptom monitoring is proven to drastically improve the patient experience with fewer hospital visits and improved treatment outcomes.

How does ChatGPT address this?

My capstone team was sponsered by the AI startup, LifePattern. The founders envisioned a healthcare app concept for doctors to remotely gather data from their patients. Rather than using repetitive input forms, It would be distinct from current tracking solutions by using chats to collect data. The GPT-3 API makes this possible, capable of extracting meta-data from someone's natural description of their symptoms, health, and more.

Project Summary

My degree in Human Centered Design & Engineering culminated into a 10 week team capstone project. Our sponsers tasked us with conducting extensive research to lay the foundations for their conversational journalling app concept. Our process involved interviews, usability evaluations, a literature review, and initial feature exploration. After the capstone concluded, I continued iterating on the design with my sponsers during the summer. The end result was a set of high fidelity mockups, defined core user scenarios, and a cohesive product identity.

Research

Wading Through Uncharted Territory

Our research process began with a survey recruiting participants for interviews and a simple evaluation of the initial app our sponsors built. While waiting for responses, we did cursory research on our problem space and found no products similar to LifePattern. This lead us to believe that our design patterns would have to be made from scratch. Based off this, we conducted a literature review analyzing 20+ publications on the following topics:

If you're interested in learning more, our lit. review and full research process can be found here.

Our Sponsers Initial App...

Initial screen for goal creation
GPT-3 ask questions to  determine what the goal is
Goal stored as a card
Choosing a topic
Entry created after chatting
App shows extracted data
Reminder screen
GPT-3 created reminder through chatting
Reminder information stored as meta-data

Observing our Participants

We recruited 8 participants for evaluation sessions of the initial app. Due to the novelty of our problem space, our sessions were more exploratory than formative. Rather than identifying specific usability issues, our focus was to learn more about the chat experience by observing our participants. We discovered the following pain points.

Creating a Goal

When setting a goal, the chatbot will ask questions to fill out a card with steps and obstacles. One participant told us if they knew their steps for a goal, “it wouldn’t be a goal”.

Goal Suggestions

The chatbot can provide suggestions to the user for filling out the goal card, but we found these to be out of context. A participant made a goal of “getting above average on an upcoming exam” and was told to study with audiobooks to save tame. The chatbot didn’t know the exam is for  pharmacology, which audiobooks wouldn’t be helpful for.

Chatbot Interrogation

If the chatbot ask a question the user is unable to answer it will keep repeating the question with no way to progress. This felt like an “interrogation” for participants.

We Interviewed two User Groups...

Chronic Illness Patients

How do they keep track of their health data? If they don't, why not? How do they share this with their doctor?

Key Quotes

Self Tracking Users

How do they stay motivated for daily self tracking? What struggles do they face while self tracking?

Key Quotes

differentiating our product Philosophy

After performing qualitative coding of the interview transcripts, we found our two user groups had very different motivations for self tracking. P3 & P4 pursued specific fitness outcomes, while P1 & P2 have broader desires of symptom improvement. They prefer simple methods for self tracking due to the spending so much energy and time managing their condition. They also felt like no existing app suited their needs, and were more drawn to journaling or taking notes of their symptoms, but struggled to keep track of all this information

To set LifePattern apart from the countless goal tracking apps in the market, we decided LifePattern's cornerstone feature would be journey progression. Goals usually end after achieving a specific outcome, while journeys more accurately match the experience of patients with chronic illnesses.

Feature Narrative

To create an intuitive conversational journaling experience, we focused our time around the following features:

Milestones

The time users spend in a journey will be divided into milestones, with each containing reminders for simple tasks and journaling. Completing these reminders will allow progression through the milestones. After completing all milestones, the journey will go into maintenance mode.

Provider Generated Journeys

Doctors will be able to create custom journeys for their patient. Milestones will outline the stages of the treatment plan, from diagnosis to maintenance, with different journaling objectives depending on what health data the doctor wants to collect.

Notes and Chats

The initial app only allowed journal entries to be created through chatting. Notes will allow the user to manually write entries in case they don’t have time for an entire chat.

Chat Threads

Threads will serve as a journal prompt for events that can happen at any time, such as symptoms medication side effects, or coping mechanisms. GPT-3 can analyze all entries within a thread, giving it more context about what to ask.

Visualizations

LifePattern collects a large range of different data types. Visualizing this data can be a powerful method for encouraging continous use of the app.

Design

The face of LifePattern

Every chatbot needs an avatar! We decided to nickname ours LP, short for LifePattern. We wanted to avoid LP looking too anthropomorphic, as we learned from our literature review this can potentially deceive users. LP's visual design looks similar to a chat bubble, emphasizing its role as a journaling companion.

Iteration & Alignment

Based on our studies & feature narrative, we set out to make lo-fi wireframes. We held several meetings with our sponsors to align our navigation flow with the technical capabilites of GPT-3.

From a technical perspective, journeys are a grouping of entries. For example, a user with a provider generated journey would have all relevant symptoms entries under that one journey. To simplify the navigation, we included a default “My Life Journey”, which contained entries from all journeys.

In our previous iteration, clicking on a journey would open up a page dedicated to the journey. Now, clicking on a journey makes it the active journey, which filters out entries and data that's not associated with the active journey.

Storyboarding our Persona

Meet Leo

Leo was recently diagnosed with Irritable Bowel Disease (IBD). IBD symptoms can be triggered by different food groups which vary from person to person. To find out which foods trigger Leo's symptoms, his doctor introduces LifePattern to track his meals and symptoms.

Starting Leo's Journey

Sign up screen

Home page

Creating journey from provider

Viewing the journey

Home page when the new Journey is active

Journey Management Page

Milestone progression and tasks

Task Completion

Chat Threads

The messages shown in the video came from real messages I collected from talking with the chatbot. I was very surprised & impressed to see it could offer to write a template message explaining work absences to an employer. If the video isn't playing, make sure to press the pause button in the bottom right!

To streamline the chat experience, buttons are included under suggestions given by the chatbot, like with the work absence template.


Journaling Reminders

A press and hold interaction is used to prevent users from accidentally starting a journaling task.

Submitting & Viewing the Entry

After submitting the note, an entry is created showing what was journaled and the data extracted.

Visualizing the Data

Clicking on a card in the patterns screen reveals a bar chart with options for different time ranges to be visualized. There's also a secondary supportive visualization, which is either a pie chart or a word cloud. The extra bubbles in the word cloud indicate additional data exist but can't be visualized due to lack of space.

Interactive Data Visualizations

Users can specify custom date ranges to visualize their data.

Selecting a bar from the chart changes the colors of the bars to indicate which one is active, and the secondary chart changes accordingly.

Beyond MVP: Custom & Preset Journeys

My sponsers wanted to ship LifePattern to the app store for general users. To allow this, users will be to create preset journeys with provided milestones & task. A wizard form flow was also designed for custom journeys that GPT-4 creates by asking various questions.

Reflection

There are several things about my project process I would've changed if I had the opportunity to go back in time. My biggest regret is not using methods like Lean UX Boards or design workshops to better understand the desires of my stakeholders. I spent a lot of time working on designs that ended up not aligning with what my sponsers wanted and that could've been spent elsewhere.

It would be ideal to conduct usability evaluations to identify design errors that could be changed. Specifically, a wizard of oz set-up would be effective at emulating the capabilties of Chat-GPT to capture a variety of pain points without impeding the user with pre-defined pathways for the chat flow.

Future time could also be spent designing flows for the chatbot providing feedback to the user based off of collected data. Our team was toying around with the idea of weekly "check-ins" but we never got around to it.