Inspiration

During the Patient Safety Technology workshop, we felt that there was an unnecessary burden on healthcare professionals regarding medical device errors.

What it does

Due to this, we decided to make a model that predicts the condition of the patient based on their vital signs. If there is an abnormal reading, the Patient Alert project issues a warning through a GUI.

How we built it

We first made synthetic patient data using random-number numpy generators. With that data, we created a simple program that generates condition labels based on a range (i.e. heart rate between 40 ~ 60 is potential bradycardia, adding 1 to severity metric; heart rate between 60 ~ 100 is normal, adding 0 to severity metric) to describe each of the patient's vital signs. If this program is to be run in a true hospital setting, the labels used to train the model should be derived from healthcare professionals. With patient's vital signs as the input value and the condition labels as target value, we trained our decision tree model.

For the GUI, we utilized the tkinter library. To simulate getting real-time data from a EMR, we had a testing data with a patient's information that was traversed through a loop with a little bit of time delay. If the model predicts that the patient has a severe condition, a patient alerts pops up to notify the nurse/healthcare staff. We created one main "Alert" window, as well as a pop-up, displaying additional information about the patient.

Challenges we ran into

Firstly, we weren't able to get real patient data for our model training. Therefore, we had to synthesize the data that may or may not be representative of a genuine patient.

With the GUI, we attempted to use the Github Codespace, however we ran into display issues with wxpython, tkinter, and qt5. It was only after severe trial and error that we came to the realization that the GUI libraries could work in a locally cloned Github Repository.

Accomplishments that we're proud of

We have a working model, as well as a working GUI!!

What we learned

We learned how to synthesize data and how to code a GUI! This was also the first time that we worked with multiple code files at once, using Python.

What's next for Patient Alert

Ideally, having real data as well as being able to specify what vital signs made a patient be considered as "severe", would be more applicable to a true hospital setting. Having graphs to show trends and abnormalities in patient conditions would allow healthcare professionals to get a more comprehensive understanding of the data. Currently, our condition labels are somewhat arbitrary, therefore it would be more applicable if we could develop an accurate condition labels with advices from healthcare professionals.

Built With

Share this project:

Updates