Inspiration
Undoubtedly, a major problem with the current medical system is long wait times for patients in urgent care facilities. This often leads to crowded waiting rooms and patients not being seen as promptly as possible. These long wait times have been reported to be one of the biggest detriments to the patient’s health care experience, and thus we were inspired to create a product that helps minimize these delays. Particularly in cities of lower socioeconomic status, the community relies more heavily on urgent care facilities to tend to their health care needs since a larger population of people lack complete health insurance coverage. Our aim is to increase transparency of wait times in urgent care facilities for patients by giving them more information about the expected wait time. Additionally, our model is able to accelerate the triage process by taking into account the patient’s ETA to the urgent care facility and the severity of their submitted “problem.”
What it does
Our project is a web application that patients fill out before arriving to the urgent care facility describing their emergency case. The web app also automatically takes the users’ locations. Our web app is backed by a model that uses NLP techniques and semantic analysis to determine the severity of the patient’s case. Patients are added to a priority queue for treatment before they even arrive at the unit based off of this estimated severity and how far away they are from the clinic / what their ETA is. Thus, patients are able to wait for less time as they are added to the priority queue before even arriving and they are able to get an idea of how long they will be waiting, allowing them to go to an emergency care unit with the least amount of wait time. This web app helps not only patients but also the medical professions in the urgent care facility, giving them an idea of who will be arriving at the facility and how much priority they should be given in the wait line.
How we built it
To determine the severity of the patient’s case, we used a nearest neighbor classifier and python for our machine learning model to parse different cases. To determine the current location of the user, we called the GoogleMap and Google Geolocation APIs. Then, to calculate the estimated duration it would take to reach the clinic from this location, we called the Google Distance Matrix API. To build our front-end, we used React and Bootstrap. We used SQL to query, store, and retrieve our inputs across these different platforms.
Challenges we ran into
A big challenge for us was finding a dataset to train our ML model. We were not able to find any labelled dataset with sentences describing patients’ cases and their associated severity cases. So, we ended up making a dataset by hand and manually labelling each case’s severity, using mayoclinic as a reference. Because we had to construct it our dataset was very small (78 cases), meaning that our model did not have enough data to really learn well. Ideally, we would want much more (around even 10,000 if possible) different cases. We also had to spend a lot of time debugging and integrating our front-end with our back-end.
Accomplishments that we're proud of
We are proud that we were able to come up with an idea that we think if both innovative (that we don’t think has been done before) and useful. We also are proud of how we tackled this hackathon; our project had many different aspects and features to implement, and we think that we worked well together as a team. Even though we faced challenges, such as not being able to find a sufficient dataset and long hours of debugging, we feel that we were able to overcome these obstacles.
What we learned
We learned a lot about front-end and back-end integration. We also learned about how to use the Google APIs.
What's next for Urgent Care Priority Q
Currently Urgent Care Priority Q focuses on estimating wait time for a user based off of how busy the clinic is and the user’s position in the priority queue (based off of severity and location). We would like to add a feature that automatically scans all locations and clinics, sees how busy they are, and actually recommends a clinic to the user with the least wait time. We would also like to make our model more robust through more training with a larger training dataset.
Built With
- azure
- bootstrap
- google-maps
- googledistancematrixapi
- googlegeolocationapi
- javascript
- nearestneighborclassifier
- python
- react
- sklearn
Log in or sign up for Devpost to join the conversation.