This project-based course will provide a comprehensive overview of key requirements in the design and full-stack implementation of a digital health research application. Several pre-vetted and approved projects from the Stanford School of Medicine will be available for students to select from and build. Student teams learn about all necessary approval processes to deploy a digital health solution (data privacy clearance/IRB approval, etc.) and be guided in the development of front-end and back-end infrastructure using best practices. The final project will be the presentation and deployment of a fully approved digital health research application.

Course logistics

Date/Time Tuesdays and Thursdays at 5:30PM - 7:00PM
2021 - 2022 Winter Quarter
Location Tuesdays (CCSR 4107), Thursdays (CCSR 4205) + Zoom
Units 3 Ltr (CR/NC and Med option available)
Directors Oliver Aalami (aalami@stanford.edu)
James Landay (landay@stanford.edu)
Vishnu Ravi (vishnur@stanford.edu)
Santiago Gutierrez (santig@stanford.edu)
Michael Hittle (mhittle@stanford.edu)
TAs Surabhi Mundada (surabhim@stanford.edu)
Varun Shenoy (vnshenoy@stanford.edu)
Office hours Oliver Aalami - Mondays 2 to 4pm
Vishnu Ravi - Wednesdays 12 to 2pm
Surabhi Mundada - Thursdays 3 to 5pm
(on Zoom - links in syllabus)
Syllabus View
GitHub Classroom
Slack Open
Explore courses CS342/MED253


Week 1 (1/4 & 1/6)

1A Overview of Course

Introducing our projects for this quarter.

Submit your project preferences!
1B What makes health apps different?

Topics: Data privacy; HIPAA; DRA; IRB protocols

Assignment #1: Getting Started

Week 2 (1/11 & 1/13)

2A Basics of iOS Development and Git

Learn basics of Swift and SwiftUI

2B Intro to ResearchKit

What is ResearchKit? How can we use it in our apps?

Assignment #2: CardinalKit + Firebase

Week 3 (1/18 & 1/20)

3A The CardinalKit Framework and Firebase

Learn how to customize a CardinalKit app and use Firebase to architect a backend.

3B Intro to HealthKit / CareKit

👥 Guest lecture by Erik Hornberger & Gavi Rawson (Apple)

Assignment 3 / Midterm Presentation

Week 4 (1/25 & 1/27)

4A Mentor Day

Meet with your mentors in-class.

4B Intro to Apple Health Records

👥 Guest lecture from Dr. Ricky Bloomfield (Apple)

Week 5 (2/1 & 2/3)

5A Data Model, Dashboard, and Firebase Security

Working with the mHealth data model, creating a web dashboard, and understanding Firebase security rules.

5B CareKit, ResearchKit, and GCP Firestore

Scheduling RK surveys and visualizing results in the cloud

Week 6 (2/8 - 2/10)

6A Healthcare Data Interoperability

👥 Guest lecture from Vivian Neilley (Google)

6B Midterm Presentations

Teams will present the alpha version of their apps.

Assignment #4: App (beta)

Week 7 (2/15 & 02/17)

7A University Research IT + Stanford SEAL Team

👥 Guest lecture from Garrick Olson, Lei Wang, and Ron Li (SEAL)

7B Healthcare Data Analytics with BigQuery

👥 Guest lecture by Alexander "Sasha" Sicular (Google)

Week 8 (2/22 & 2/24)

8A HealthKit & Data Studio

What is HealthKit, and how can we use it? How can we analyze results?

8B Mentor Day

Meet with your mentors in-class.

Assignment #5: App (release)

Week 9 (3/1 & 3/3)

9A & 9B App Workshops

In-class feedback and development. Discussion and implementation of assignment #4 and #5 advanced topics.

Week 10 (3/8 & 3/10)

10A Mentor Day

Meet with your mentors in-class.

10B Final Presentations

Teams will share their final apps!


CHOIR (Collaborative Health Outcomes Information Registry)

Led by Sean Mackey, MD (Chief Pain Medicine, Department of Anesthesia)

An astounding 50-100 million Americans live with ongoing pain, with approximately 20 million enduring high-impact chronic pain that includes substantially restricted work, social, and self-care activities. The National Academy of Medicine has called for the development of learning health systems to capture high-quality data in real-world clinical settings to optimize care and foster innovative research discoveries. We have answered that call by developing CHOIR – an open-source learning health system developed at Stanford with 10 years of implementation and enhancements. CHOIR is used extensively at Stanford and at academic medical centers nationally and has characterized hundreds of thousands of patients. As a web-based platform, CHOIR can collect many forms of data. However, CHOIR has long needed a system to integrate sensor and meta data from phones and wearables. Here, we propose to integrate sensor (e.g., triaxial accelerometry, heart rate and heart rate variability, GPS coordinates) and momentary assessments within the CHOIR data lake. Data integration will occur through SMART on FHIR technologies into the clinical electronic medical record and workflows for patient assessments. While many research projects may result from this effort, we first propose a project to characterize the associations between heart rate variability (an indicator of stress) and momentary assessment of chronic pain symptoms.

BUDI (Biofeedback Upper-Limb Device for Impairment)

Led by Dr. Jennifer O’Malley, Dr. Scott Delp, Dr. Emily Kraus, Blynn Shideler MS1

We are applying to the Stanford Biodesign Building for Digital Health course to support the development of BUDI—the Biofeedback Upper-Limb Device for Impairment (BUDI), a digital health solution for individuals with limited upper limb mobility, such as children with cerebral palsy. BUDI is a program embedded into an Apple Watch to track therapeutic movements of the user throughout the day and provide the user with biofeedback to maximize therapy and rehabilitation of the upper limb in the absence of a clinician.

Activate: (Lifestyle Interventions for People with Schizophrenia Spectrum Disorders)

Led by Dr. Douglas Noordsy, Dr. Vanika Chawla

Schizophrenia spectrum disorders include positive, negative and cognitive symptoms. In addition to psychiatric symptoms, individuals have increased rates of cardiometabolic disease and reduced life expectancy. Lifestyle factors such as sedentary behaviours and unhealthy diet are contributory. There is an unmet clinical need for an easily accessible and portable intervention to improve lifestyle factors in individuals with schizophrenia spectrum disorders that reduces symptom burden and improves metabolic risk factors. We propose a novel mobile application-based intervention and clinical support tool to help individuals with schizophrenia spectrum disorders to make positive lifestyle changes. To our knowledge, there is currently no publicly available mobile application to support individuals with schizophrenia to make lifestyle changes.

GaitMate: Functional Mobility Assessment (FMA) for Fall Risk

Led by Dr. Brian Suffoletto, Dr. David Kim

Falls in older adults are common, costly and preventable yet identification of those at highest risk remains elusive. At home functional mobility assessments could identify perturbations not identified in sparse healthcare encounters. As such, we propose to work with Biodesign students to build a user-friendly app using Stanford’s Cardinal Kit that automates at-home safe functional mobility assessments, pilot test the app in 200 older adults, and build predictive models using at-home data. This project will allow us to generate the evidence to take next steps toward research funding and commercialization. If found to be safe and useful to identify older adults at risk for falls, this app could provide a means for health systems to capture missed revenue related to fall risk assessments and reduce downstream costs related to complex fall-related injuries.

VascTrac 2.0: Peripheral Artery Disease Tracking

Led by Dr. Oliver Aalami

Peripheral Vascular Disease (PAD) affects nearly 10M people in the United States and is the manifestation of atherosclerotic disease in the peripheral arteries and manifests itself in the form of “claudication” in the earliest stages of development- this is calf muscle pain/cramping with activity. We treat this condition with exercise therapy, medications and if severe will place stents. The outcome of stenting procedures is quite poor and we do not have a way to monitor patients individually to see who is developing scarring/recurrence faster than others. The aim of this study is to determine if passive activity monitoring can be used to predict early treatment failure.


Getting Started Swift (language guide)
Creating Interfaces in iOS with SwiftUI (tutorials)
SwiftUI (cheat sheet)
Course Website

NOTE: you might need to be logged in to your Stanford account to access some content.

Looking for class content for previous years? 2019 2020