Inspiration

When one of our team members was observing hospitals in Uganda, she noticed a large problem. They are severely understaffed for the amount of patients they have, especially in the maternity ward and NICU. Nurses are stretched incredibly thin taking care of at least 20 patients at a time with not enough time to ensure quality monitoring of everyone's status, care, and vitals. This lessens patient safety and quality of care. Even in developed countries with a more sizeable workforce in healthcare, overflowing hospitals can put a heavy burden on nurses forced to monitor a large number of patients. This issue can be alleviated with an automatic monitoring and warning system that issues an alert whenever it detects suboptimal patient conditions. Using motion detection would be helpful when confirming patient status since all it would require is a camera trained on the bed, and could automatically warn hospital staff whenever certain criteria are met, such as high temperature in a room with patients present.

What it does

In order to lessen the burden on nurses, this product monitors the condition of patients and sends an alert whenever it detects suboptimal conditions. It detects motion in cameras positioned near the patient to confirm whether the patient is present. It also tracks temperature and humidity, to help make an assessment of what is a dangerous situation. This way, we can keep track of patient consciousness and environment at a glance. Nurses can use the webserver to change between patient views so they do not even need to change rooms to ensure a healthy patient stays healthy. Patients can also know that they are being viewed at the exact moment by a light indicator on the camera.

How we built it

The motion detector uses OpenCV on Webcam input, but can be easily applied to any camera footage. The temperature and humidity auxiliaries are managed with an Arduino and a DHT11 temperature and humidity sensor.

Challenges we ran into

We initially attempted to use nginx with raspberry pi to setup a web server to host our product, but hardware issues forced us to switch to using a flask server instead. Getting the temperature and humidity sensor to function properly with the interface also proved difficult. There were multiple issues interfacing with the Arduino's serial output while using the Flask server. We solved the issue by having the Arduino serial reads published to a text file instead of directly to the temperature read function. This also allows a feature of keeping the patient's temperature history over time so that nurses can make sure there is no significant deviation from their "normal".

Accomplishments that we're proud of

An interface easily and remotely accessible from the internet that can simultaneously keep track of feeds from multiple cameras. A very straightforward and efficient motion detection algorithm. Hardware integration with temperature sensors and modularity in order to expand to more monitoring equipment.

What we learned

How to pipeline data from an Arduino and camera (post-processing) to a frontend page. For this we initially were going to NGINX and a React app, but this proved difficult when compared to simply having the Python OpenCV script run a Flask server. From there, we built the frontend on the simple html template and integrated an Arduino with the Python program using PySerial, which was a new process. Additionally, we were originally going to use a Raspberry Pi to host the Flask server, but this was too computationally intensive on top of the OpenCV vision processing. We also got more familiar with Git branching, PRs, and merging.

What's next for Patient Watch

Patient Watch would partner with actual healthcare sensory items such as pulse sensors, measuring urine output, measuring blood salinity, and measuring breathing rate. Our modular GUI as well as the ability to expand to multiple sensors could comply with this expansion well. Another next step would be to actually connect with the network physicians' pagers are on so if a patient is in critical need of a doctor's help, the systems can send them a page themselves. In terms of patient security, we would need to develop a password and security layer so that only hospital employees can access the server. We could also develop a specialized system to keep track of babies in the NICU since their situation differs from adult patients.

Due to a broken event link, we were unable to set up a domain. However, we would have used patientwatch.tech

Share this project:

Updates