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
- numpy
- pandas
- pickle
- python
- scikit-learn
- tkinter
Log in or sign up for Devpost to join the conversation.