Inspiration

Heart disease is a major problem. Worldwide, 16% of deaths are due to heart disease, and it is the leading cause of death link. Both doctors and heart patients use technology in many ways. For example, heart doctors rely on ECG machines, doctors and patients can communicate by telemedicine, and patients can use smart watches to monitor themselves. However, advanced technology is both advancing rapidly and becoming more available. Cellphones and laptops have microphones, cameras, and other sensors. We researched innovative, yet practical, ways of monitoring hearts. We found apps that measure pulse by a finger on a cellphone camera link, Google Fit's API, inexpensive Arduino based ECG machines link, and do-it-yourself stethoscopes. We asked what more can technology do to help solve the problem of heart disease.

What it does

We built dashboards for patients and doctors so they could share information. Our web app is just a design, not fully functional. However, it could be used as a model to think about doctor and patient communication.

How we built it

Our code is mostly written in Javascript using the React framework. Our app is hosted on a Heroku server.

Challenges we ran into

Team members didn't know each other before we started the project. We all live in different places and different time zones. (One person lives in Iran, one lives in India, one lives in Indiana, United States, and one lives in California, United States.) Sharing ideas and working together was a challenge. We mostly communicated by Discord, and we occasionally used Google Meet.

Where we left off in the project (Details you can ignore)

The master branch on github has the most up to date version of the front end. The versions on github have some features that the live version on Heroku does not have. We're using a free trial account on Heroku, and we ran in to limits on available memory for it. For this reason, we removed the audio features of the version on Heroku. Also since we're using the trial Heroku account, the server goes to sleep when not in use, so it may take a few minutes to respond after the first request that wakes it.

Medical information should be stored securely. We used fictional patient data. However, if we were to work with real data we'd need a secure login and extra steps to protect the patient's information. We set up a Skyflow database which can be used to store data more securely. We are able to read from this database, but this feature isn't integrated with the rest of the code. For more details, see the file Server/routes/index.js in the hhServer branch in the github repo.

We'd like to be able to allow the patient to upload an audio recording of their heartbeat or other types of sensor data. If a patient uploads a recording, we'd like to be analyze it to find the heart rate. We've started to implement this feature but haven't gotten too far and don't have it integrated. As of now, we can read in a wav file, take an fft, and identify the peak frequency. For more details, see the file Server/routes/index.js in the hhServer branch in the github repo.

What we learned

Communication between doctors and patients is not simple, and it is not a solved problem. The more we thought about the types of information doctors and patients could want to share, the more ideas we had for our dashboards.

Built With

Share this project:

Updates