Inspiration

Am I healthy? Is this pain I'm feeling in my side normal? Is my heart rate to fast or too slow? Is my blood pressure normal? These are questions that many people may find asking themselves everyday. Wondering about your health is natural and wanting answers on how to improve your health can help everyone live their best lives. But getting to a doctor's office or even a Telehealth appointment can be costly and wait times to meet with doctors may be very long. For people that want some reliable, verified health advice (no, not searching up symptoms on Web MD) a little sooner than their scheduled appointment or just want to check in but maybe don't have the money to pay health insurance fees, there needs to be a way for anyone to access reliable health advice, when it is convenient for them. Large language models (LLMs) have been on the rise lately and we believe it is important to explore ways that new technologies can improve education of and provide more health data of patients, thereby improving the health care that doctor's provide to their patients and reducing the probability of mistakes in routine medical visits.

What it does

GPT M.D. is a kiosk that gives understandable and comprehensible health advice based on a person's medical history, measured vitals and health data powered by AI. The LLM will give the person analysis on their vitals based on health data and medical history, recommend and provide information about a doctor's visit, if necessary, and answer any other questions that the person may have. This kiosk would be available to use for free at pharmacies.

How we built it

The flask backend queries a custom GPT given user medical records as a knowledge base. The front end is a react application powered by developed using Next.js served via the Vercel hosting service. The application is deployed via Github actions to Vercel. Another flask server is used for the Raspberry Pi to gather data to serves in the application. Data is send between layers via HTTP. A fingerprint sensor is used to identify the person and pull specific patient data. A pulse sensor, temperature sensor and blood pressure monitor gather vitals data from the patient. These sensors communicate with the Raspberry Pi via I2C, UART and USB communication protocols. The enclosure was made using laser cutting.

Challenges we ran into

Software side: Integrating front end and back end which are both complex. Finding the right architecture was difficult and we ending up doing a lot more networking than we initially expected. Hardware side: Hacking into a BP monitor's communication protocol was very difficult. We had to test every single register on the EEPROM IC in order to find the data we were looking for because we couldn't find the IC's datasheet anywhere. The Rapsberry Pi's Tx and Rx GPIO pins gave us lots of trouble and we ended up having to use a UART to USB driver to receive the data differently. Laser cutting was a long and tiring process.

Accomplishments that we're proud of

  • Creating a custom GPT that can pull patient medical history.
  • Developing a beautiful front end and complex back end
  • Gathering different sensor data and creating a beautiful encloser for all of our hardwork ## What's next for GPT M.D.
  • Improving information accuracy
  • Gathering even more vitals

Built With

Share this project:

Updates