Purpose/Goals: To design/develop a low-cost, contactless, continuous-monitoring prototype that detects and logs skin temperature, heart-rate, respiratory-rate, blood-pressure, and peripheral capillary oxygen saturation (SpO2). It should have the ability to remotely monitor and alert the guardian of any abnormalities detected. During triaging, it should reduce the exposure of the health-care providers or first responders during infectious (like the current COVID-19 outbreak) and hazardous situations. It should provide continuous monitoring capabilities for monitoring the general health of babies (especially due to SIDS), the elderly, and the sick.
Materials: Raspberry PI 4, MLX90640, Raspberry Pi nearIR camera, and Open Computer Vision were used to detect vital signs. AWS is used to transmit the information to an Ionic app.
Methods: The MLX90640 infrared sensor reads the temperature of the subject. Heart-Rate is measured by remote Photoplethysmography. The video feed utilizes OpenCV to locate the face and isolate the forehead region. The pumping of the heart creates changes in peripheral blood vessel volume, which causes green pixel fluctuations on the video frames. The heart rate is then extracted from this wave of green intensity through Fast Fourier Transforms. The Respiratory-Rate is isolated by applying a bandpass filter (0.1 Hz to 0.3 Hz) to the red-light wave. Blood-Pressure is calculated using an algorithm from Chandrasekaran 2013. The program uses height and weight to calculate stroke volume. Stroke volume, heart rate, age, and experimental constants are then used to find pulse pressure, which is used to find the diastolic and systolic pressure. SpO2 is evaluated through a formula found from Kanva 2014. The composition of blue versus red pixel counts from each frame is used to identify the blood oxygen levels.
Results/Analysis: A total of 1218 tests were conducted on 48 subjects, 25 tests each (5 /vital sign) and 18 other prototype functionality tests. Manual counting was used for validating the respiratory-rate. A pulse-oximeter, blood-pressure cuff, and a non-contact thermometer were used for the rest. My prototype accuracy exceeded my goal for temperature (96.7% vs 95%), respiratory-rate (91.7% vs 90%), and SpO2 was 93.5% vs 90%. Heart-rate (84.8% vs 90%) and blood-pressure (69.6% vs 75%) fell below my goal. The primary reason for errors in Heart-Rate is the frequency of the artificial light interfering with the dominant signal, making the FFT choose that over the heart rate. Since BP the formula used was a derivative of HR, the errors were further amplified.
Conclusions: Currently, contactless, cost-effective monitors for all 5 vital signs are not available. The overall accuracy is 87.2% (vs. goal of 88%+). The cost of my prototype is ~$127 dollars. With Pi Zero, and mass production, the cost can be brought down to $60-$75. Hence, my prototype can be used not only for symptomatic monitoring/triaging without risking the healthcare-providers but also for continuously monitoring general health of the patient. It can be used for screening in transit hubs and hospitals to reduce transmission. For future improvements, I would like to improve the accuracy of HR and BP by implementing filtering algorithms to solve light related errors.