Skip to content

StanfordBDHG/ENGAGE-HF-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ENGAGE-HF

Build and Test codecov

This repository contains the ENGAGE-HF iOS application. ENGAGE-HF builds on top of the Stanford Spezi Template Application using the Spezi ecosystem, and is primarily written using the Swift programming language in conjunction with SwiftUI. The application is developed as part of the DOT-HF study. It records measurements taken on Bluetooth Low Energy peripherals (a weight scale and a blood pressure cuff), saves them to Firestore, and generates medication recommendations based on recent vitals trends and KCCQ-12 survey responses. ENGAGE-HF also allows patients to interact with and manage their measurement history via a Heart Health page built with Swift Charts.

Note

Do you want to learn more about how to use, extend, and modify this application? Check out the Stanford Spezi Template Application documentation to get started.

ENGAGE-HF Features

There are 6 main features of the app: a Home page with a dashboard that displays in-app messages and recent health vitals; a Heart Health page that allows the user to interact with and manage their health data; a Medications page that displays medication recommendations generated by the back-end algorithm; an Education page that features educational videos about the application, the study, and common heart failure medications; a sheet that displays a KCCQ-12 symptom survey; and a sophisticated Bluetooth implementation that allows the user to seamlessly pair bluetooth devices and record measurements without leaving the application.

home-screen-less-crowded heart-health-weight-graph-overview medications-expanded
Home Page Heart Health Medications
education-expanded symptom-survey bluetooth-measurement
Education Symptom Survey Bluetooth

The home page demonstrates that the application is server-driven, as the application displays messages that are generated on the backend. For ENGAGE-HF, this is a Firebase based backend (for more information, see ENGAGE-HF-Firebase). To help integrate the backend with our application, we use the standard Firebase Firestore SDK as defined in the API documentation as well as SpeziFirebase. Similarly, we manage user account information via SpeziAccount.

The Symptom Survey demonstrates how we can collect survery results from the user from pre-defined surveys. ENGAGE-HF presents the survey using SpeziQuestionnaire. The survey is stored in Firestore as an HL-7 FHIR Questionnaire Resource.

ENGAGE-HF includes sophisticated bluetooth connectivity. Once paired, the app passively collects measurements from BLE peripherals. This is handled via SpeziBluetooth, a powerful library that builds on top of Core Bluetooth.

Build and Run the Application

The ENGAGE-HF app uses a Google Firebase-based backend. You will need to clone this repo with submodules enabled to automatically clone the relevant Firebase setup in the ENGAGE-HF-Firebase folder, e.g.,:

git clone --recurse-submodules [email protected]:StanfordBDHG/ENGAGE-HF-iOS.git

To boot up the Firebase backend, you can either install the Firebase emulator or use a docker-based setup. You can learn how to install the Firebase Local Emulator Suite to run a version of the service infrastructure locally on the firebase support page. After this, you can run the following command to start the Firebase emulator, including a seeded version of the infrastructure. This is also required before running the automated user interface (UI) testing suite.

cd ENGAGE-HF-Firebase && npm run prepare && npm run serve:seeded

or

cd ENGAGE-HF-Firebase && docker-compose up

Please refer to the ENGAGE-HF-Firebase repository for more details about the Firebase setup.

You can then visit http://127.0.0.1:4000/firestore/ to see all the seeded data that can be used in the application. The ENGAGE-HF app automatically connects to the local emulator when running in the iOS simulator using Xcode.

You can build and run the application using Xcode by opening up the ENGAGE-HF.xcodeproj.

Contributing

Contributions to this project are welcome. Please make sure to read the contribution guidelines and the contributor covenant code of conduct first.

You can find a list of contributors in the Contributors file.

License

This project is licensed under the MIT License. See Licenses for more information.

Our Research

For more information, check out our website at biodesigndigitalhealth.stanford.edu.

Stanford Byers Center for Biodesign Logo Stanford Byers Center for Biodesign Logo

About

ENGAGE-HF iOS Application

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 8