Skip to content

StanfordBDHG/ENGAGE-HF-iOS

Repository files navigation

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.

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.

About

The ENGAGE-HF Application

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published