-
The index page. Patients can see what the wait times for each hospital is before arriving. They can also input a code to get their wait time
-
The dashboard that shows who is being seen by the doctor, and the queue. Nurses can also enter new patients from here
-
The mobile view that a patient would see when they input the access code into the input on the main page
Inspiration
It is a fairly common complaint throughout Canada; Hospital wait times are unpredictable and often much to long. People may go into emerge for a wide variety of reasons, ranging from the common cold to life threatening injuries. And very often, peoples' wait to see a doctor ranges from several minutes up to several hours.
This causes Canadians much stress and inconvenience. Instead of doing something productive with their time, they are stuck in a waiting room counting down the seconds.
It was clear to us that this problem was in need of a solution, and at the very least more transparency and information being delivered to the patient. This is what ER Watch aims to achieve.
What it does
Our application has several exciting features:
- Patients can check hospitals that use ER Watch to see how long of a wait time it would be if they arrived right now (assuming the patient is of low severity)
- After a patient checks in, they are given an 8 character access code, which will allow them to monitor on their mobile devices how long they can expect to wait before seeing a doctor
- Nurses can input patients into the system, which will automatically manage a priority queue of patients, based on the severity of the patients
- The system utilizes machine learning, so it will more accurately estimate wait times as patients check into hospitals
- Patient information is kept separate between hospitals, but the estimates for each condition that the system learns about is shared between all hospitals. This will help improve estimate accuracy
- Nurses can mark a patient as 'Treated' once they have been seen by a doctor, indicating that it is the next patient's turn in line
How we built it
We built the application using NodeJS/Express, MongoDB, and Materialize. The system is hosted on Microsoft Azure, and the MongoDB database is hosted on mLab
Challenges we ran into
As can be imagined, hospitals are very complex environments with a broad range of scenarios. We set out to make a smart and accurate algorithm that predicts accurate hospital wait times for new and existing patients in the queue. This was challenging due to the shear number of factors and corner cases that can occur in a hospital.
These are just some of the factors that could be to be taken into account during the calculation: Number of doctors, Class of Illness, Type of Illness, Name of Condition, Severity of illness, Current size of the queue, Patient history, Family history, Staff efficiency, Visit length as dependent on previous data associated same conditions of similar severity, etc.
In the beginning we focused on creating a working prototype of the algorithm, but as time went on we realized the number of cases and factors that need to be taken into account when trying to make accurate wait time predictions. As these realizations emerged we needed to refine and update the algorithm accordingly.
Accomplishments that we're proud of
We are proud that our application seems to take the first step in tackling this large problem. Our calculated wait times are clear and easily accessible to anyone with access to and internet connection wherever they may be.
What we learned
We gained insights into some of the challenges and unique opportunities that are present in the public health care system. We also acquired further knowledge and experience with various JavaScript frameworks.
What's next for ER Watch
There are a many things that can be improved upon, and features that can be added to the project.
- The algorithm could be more complex, and take into account multiple doctors, triage stages, etc.
- We could better track arrival times by getting the patient to swipe their health card.
- The ability to view a patient's history
- Get the system to input the estimated wait time, rather than the nurse
Log in or sign up for Devpost to join the conversation.