Existing Solutions

Based on our research, we have concluded that there are no other existing solutions that have been implemented to minimise accidents that occur during operations. There are similar products which aim to solve problems in different areas other than healthcare. Smart home apps such as ImperiHome utilise different sensors in different rooms and show the data on a dashboard [3]. The idea for a dashboard was inspired by this product. Greenhouse monitoring systems such as SENSAPHONE, which collect data from different sensors and use analytics and machine learning for predictive analytics and automated control [4]. Although our product does not use machine learning for predictive analytics we can draw ideas from this such as methods for statistical analysis.

Related Technologies

Ther are two potential devices we considered for this project are the Arduino and Raspberry pi which are both microprocessors with similar functionality. We choose to use the raspberry pi because networking with a raspberry pi is more convenient to set up than an Arduino and it is also not required to be connected to a computer. The raspberry pi also has the ability to run multiple programs if required and hence is more suited for doing intense calculations when compared to an Arduino [2].

 

As for the programming languages the two choices were python and C. Both these languages offer similar utility and therefore we picked python based on our expertise and also because it was much easier to combine the different components of the product [1].

 

The decision on which algorithm to use was between a predictive analytics algorithm or statistical analytics algorithm [5]. By comparing both algorithms and considering what our requirements wanted from the final product we chose to use a statistical analytics algorithm. A statistical analytics algorithm uses simpler techniques and aids in data comparison rather than trying to predict future outcomes. Our product works best when it processes live data rather than making decisions based on predicting unknown future data. Predicting future data also has no direct benefit as our final product should be non-invasive and should not interfere with the users unless it is required to send an alert.

 

As for the dashboard it was split into front end and back end frameworks and libraries. For the backend our choices were using NodeJS, a JavaScript run-time environment, and Django a python framework. We chose to use Django because we were more familiar with python with python than JavaScript. The default security is very good. It is very easily scalable. Has really big community and it is very well documented.for the frontend our choices were reactJS, a JavaScript library and Angular, a JavaScript framework. We chose to use reactJS as it was not too complicated to learn and create single page applications.

 

Below is listed a list of libraries used:

 

• ChartsJS:- For Graphs

• Celery:- For concurrent tasks (learning)

• React-notifications

• Django Rest framework:- for API

• Django rest auth

• Django all auth

• Text2digits:- Change written numbers to digits

• Numpy :- for statistical analysis

• Pandas :- to create dataframes

Algorithm

As mentioned previously for our product we will be using a statistical analysis algorithm. From our finalised data we were required to create an algorithm that could learn “normal” conditions during an event (Must), combine data from different rooms (Should) and to alert in case of abnormal data. To do this we split the algorithm into 2 parts, one which operates live during the event and calculates an acceptable range of limits (where any data that fall within this range must not raise any alerts) for the “normal” conditions and another part which operates after the event has concluded to further refine acceptable range of limits. This is important because it is the main method of identifying any abnormal conditions that may arise during an event. An event in this case may be an operation.

 

The algorithm is set up in such a way that if the statistical calculations produce the correct results or limits then the data source used when testing the algorithm is irrelevant. For testing purposes, we created a test dataset for 3 sensors (temperature, humidity and light intensity) to imitate the collated results of all previous events. The data that is sent to the algorithm is collected from the sensor hub.

 

The first part of the algorithm collects data from the sensors every second, stores them and combines them every minute into a dataset which will be used to calculate the limits. Once the event is over the user can rate their experience on a scale of 0-10 on the dashboard. This rating is then used to weight the data from the event against all the data collected from every room over every event that has occurred. A rating of 0, a worst-case scenario, means that the new data will be given very little weighting when calculating the limits whereas a rating of 10, best case scenario, would give the new data maximum weighting. The algorithm also considers if the user has not rated the data or not. In such a case the algorithm ignores the new set of data and calculates limits based on old data.

Summary of final decision

We have concluded through our research that we should use a microprocessor that needs to have multiple digital and analog inputs, so that a number of different sensors can be used and that the design of hardware and sensors used, should be as functional as possible so that new sensors can be added by technicians and the cleaning of the components can be done easily. The dashboard needs to provide live data feed graphically and allow both nurses and technicians to view archive data and that the design should include statistical values and display correlation between different sensor values.

References

[1] EDUCBA. (2019). C vs Python - 10 Most Valuable Differences You Should Know. [online] Available at: https://www.educba.com/c-vs-python/ [Accessed 21 Apr. 2019].

[2] Maker Faire. (2019). Raspberry Pi or Arduino? One Simple Rule to Choose the Right Board | Make:. [online] Make: DIY Projects and Ideas for Makers. Available at: https://makezine.com/2015/12/04/admittedly-simplistic-guide-raspberry-pi-vs-arduino/ [Accessed 21 Apr. 2019].

[3] Scargill's Tech Blog. (2019). Putting it all together in Imperihome - Scargill's Tech Blog. [online] Available at: https://tech.scargill.net/putting-it-all-together-in-imperihome/ [Accessed 21 Apr. 2019].

[4] Semicron.com. (2019). Sensaphone Environmental Monitoring Systems Explained. [online] Available at: http://www.semicron.com/what-is-sensaphone.html [Accessed 21 Apr. 2019].

[5] Srivastava, T. (2019). What Is The Difference Between Machine Learning & Statistical Modeling. [online] Analytics Vidhya. Available at: https://www.analyticsvidhya.com/blog/2015/07/difference-machine-learning-statistical-modeling/ [Accessed 21 Apr. 2019].