Latest Update We've streamlined our website URLs for faster access and better user experience. Your data remains secure. Questions? Reach us at contact@onlinescientificresearch.com .
ISSN: 2634-8853 | Open Access

Journal of Engineering and Applied Sciences Technology

An Advanced Mobile Application Powered with Machine Learning to Provide Improved Healthcare Services

Citation:
Vijayalakshmi K, Mohammed AL Balushi, Mohsina Kamarudeen, Marwa Ibrahim Al Sinani, Arwa Ibrahim Al Sinani (2022) An Advanced Mobile Application Powered with Machine Learning to Provide Improved Healthcare Services. Journal of Engineering and Applied Sciences Technology. SRC/JEAST-172.
Copyright:

© 2022 Vijayalakshmi K, Mohammed AL Balushi, Mohsina Kamarudeen, Marwa Ibrahim Al Sinani, Arwa Ibrahim Al Sinani, et al. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.

Abstract

Healthcare mobile applications are widely accepted by the health care organizations and patients due to user friendliness, low cost, reliable etc. Mobile Applications powered by artificial intelligence for processing health data and analysis can save cost and time for the diagnosis and management of diseases and makes health care more effective and efficient. Across the world many are affected by diabetes and hypertension and most of them do not have enough information about their diseases to manage and control them. Selecting suitable food, booking appointments and managing blood pressure and diabetes are major issues in managing diabetes and blood pressure. So a mobile application is developed using Google flutter framework with firebase database. The application focuses on managing the appointments for all types of patients, and monitoring diabetes and blood pressure to control and manage their diseases. The application helps the patients to book their appointments based on the crowd level on the selected date and to make emergency calls. This also provides food recommendation for patients based on its nutrition score, fat, protein and carbohydrate. It will improve patient’s lifestyle by having an education source in their hands to avoid the complications of various diseases.

Introduction

There are many people around the world suffering from diabetes and hypertension, many of them are not able to control and manage their disease due to the lack of information. If patients are having problems in stabilizing their condition in the best range, it will affect the patients’ health by the time, which can lead to loss of life. Furthermore, families who are around the diabetes or hypertensive patients are not aware of what they have to do when the patient is at risk because of the lack of knowledge on treating them. Mobile applications have a big role in improving the healthcare services. In addition, patients have access to quick and accurate medical information using their handheld devices, they can also use apps to keep track of doctor’s appointments, get reminders to take their medications and the fitness activities [1]. A mobile application powered with machine learning is developed for health sector that provides a high quality health care service. The main scope of the project is to provide the best environment for patients to manage their appointment and control diabetes and hypertension to avoid their complications.

Literature Review

Adu et al. in 2020 developed My care hub mobile application that is aimed for people with type 1 and 2 diabetes. My care hub lets the diabetics to do self-monitoring which helps them to control the diabetes by their own by providing education content about diabetes and making daily entries and monitoring behavioural activities of health. The application includes different set of features such as patient health details, type of diabetes selection, view insights, documentation, educational tips and Carbs in foods. Also, it has an educational module which is divided into three parts: information about diabetes in general, auto feedback depending on inserted blood glucose, and carbohydrate available on food [2].

Petersen and Hempler in 2017, developed application to support the new people who diagnosed with type 2 diabetes by providing an application for diabetes self-management. The application consists of five functions which are inspired from users’ ideas: health data records, available resources in the local society for diabetes patients care, goals setting and self-reflection games for a specific category like food and exercises, games on awareness about disease and psychosocial data records like well-being, fatigue and sleep [3].

The intelligent Diabetes Management is an application that is linked to a website that provides an electronic diabetes diary and an insulin bolus calculator which makes it easy for diabetic patients to control the blood glucose. The author aims to find out the acceptance and user interest in the app and the linked website by the patients with type 1 diabetes and to see if it can help to control blood glucose. The application works with both type 1 and type 2 diabetes patients as well as type 1 diabetics who are using insulin pump or the multiple daily injection [4].

According to Jahanbakhsh and Ehteshami in 2019, diabetics can control their diabetes through a proper self-care. The application “Aryan” developed as an appropriate solution for diabetes self-management in Iran. The application aims to raise diabetics participation in self-caring to manage physical activity, nutrition, and control blood glucose. The application has many features like personalizing patients data by providing a unique user ID for each patient, reports generator, providing diagrams for insulin dose, carbohydrate intake, BMI, blood glucose and blood pressure, display the history of user entries recorded in the system, reminding the patient for testing blood glucose, medication administration and the time of taking the insulin injection [5].

According to Sowah et al., in 2020 proposed a system to help diabetics to manage their lifestyle by applying artificial intelligence to recommend the meals for the diabetics based on BMI using K-Nearest Neighbour algorithm (KNN), Activity tracking, Medicine time scheduler and reminder, a chatbot that answers diabetics question, and taking blood sugar test to allow doctor intervention in some cases [6,7].

Hospital Reservation System (HRS) is a mobile application developed to enhance the experience of appointments booking in hospitals. The application aims to get rid of the manual appointment booking system in which the patient must come to the hospital to book an appointment and wait with a long queue. Also, it aims to balance the load between doctors and their patients [8].

The data related to patients’physical activities and sleep patters are collected using a wrist wearable device that has sensors to take readings from the patients. To determine the ground truth of sleep quality, the awake time to form the prediction and the sleep time are used. Sleep time actigraphy data and each time series were labelled and used to determine the sleep quality (good or poor) using machine learning algorithms [9].

System Design

The application is designed and implemented using flutter framework that is based on Dart language in Android Studio integrated development environment. Firebase database has been used to store users data in the cloud. Each page of the application is designed using Adobe Photoshop and Illustrator.

The application has the following modules:

Patient health monitoring module: Patients can monitor diabetes or blood pressure readings.

Appointment module: Patient can manage and monitor appointment and check the queue on that day.

Emergency notification module: Patient can insert a list of emergency numbers for making a fast call with one click.

Education module : Contains information about the type of disease selected by the patient.

Food recommendation module: Checks if the food is recommended or not based on nutrition score, fat, carbohydrate, protein content in the food.

Pharmacy module: Helps patients to set a reminder for taking medicine. Pharmacist manage all medicines in the system.

Doctors module : Doctor can view all patients information like readings, personal details, appointments and prescribe medicine.

The database used is Firebase and there are four main collections: hospital, patients, Pharmacy, doctors. The hospital collection stores appointments details with hospital name, clinic name, and the date that have been reserved by the users. The pharmacy collection has multiple medicine names as different documents. The patient’s collection has all the information about the patients. Furthermore, diabetes and blood pressure patients have extra collections in their data which are diabetes in case of diabetes patient and blood pressure in case of blood pressure patient and these collections contain data of the readings information like readings values, time, and date. Doctor collection includes doctor information and the history of prescriptions GIVEN for the patients.

Implementation
Patient Health Monitoring Module

This module displays diabetes or blood pressure patients to insert new readings and to display the reading based on the date selected. In diabetes patients case, the liquid circle works as a challenge where the circle level, the colour and the comment change based on the average reading inserted. When a new reading is inserted a tick or cross is appearing beside the reading depending on normal or abnormal readings. In case of blood pressure patients they can add new readings and monitor them as shown in Figure 1.

img

Figure 1: Patient Health Monitoring for Diabetes and Blodd pressure patients

Appointment Module

In the appointment module, the patient can manage the appointments by making a new appointment from the reserve appointment page or view the appointments that are already booked in the current appointment page as shown in Figure 2. In the reservation appointment page, the patient has to choose the hospital, clinic and type the physiological case. In addition, once the date change the system is checking if the clinic in the specified hospital is crowded or not and the indicator in the bottom of the screen will change to red in case if the clinic selected is crowded otherwise it will remain green. Moreover, in the current appointment page the information of the appointments booked appear and all the information are given namely clinic name, patient number in the queue in that day, date, and pdf which is clickable where it will display the appointment in pdf file. Furthermore, the patient can also delete a certain appointment from the current appointment page.

img

Figure 2: Appointment Module

img

Figure 3: Emergency Module

In the emergency module, the patient can insert a name and phone number for emergency cases and the relatives can be added from the list appears. In addition, when one of the names is clicked the application will make a call to that number directly as shown in Figure 3. Furthermore, the relative information can be deleted from the show relatives page.

Education Module

In the education module the patients can find instructions based on the disease that they have selected in the registration page. If the patients are diabetes, diabetes instructions will appear and the same goes for blood pressure patients and other patients. The information is kept with figures and text to make it more clear for the patient to understand it as given in Figure 4.

img

Figure 4: Education Module

Pharmacy Module

In this module, patients can add medicine and specify the dose amount along with the time of taking the medicine where the system will calculate the time and the patient will receive a notification at the time set for taking medicine. In addition, the medicine list will appear based on what the doctor as specified for them. Furthermore, once medicine and reminder has been set correctly the name, dose amount, reminder time of the medicine appears as shown in Figure 5.

img

Figure 5: Pharmacy module Module

Food Recommendation Using Machine Learning

In the food recommendation page when the patient wonders if the food is recommended to be eaten or not, the application can help the patients to decide by providing the nutrition score, fat, carbohydrates, and proteins. In addition, after completing all the required fields and the system will process the inserted information using machine learning that is linked to the application using tensor flow and displays the result as recommended or not recommended as shown in Figure 5.

Dataset Selection:

The dataset was obtained from kaggle and licensed under Open Food Facts.org. The first dataset contained approximately 200,000 food items, as well as their categories and locations. Following a further in-depth search, a more comprehensive dataset with 74,000 food items, mostly from France, was retrieved. The goal of this project was to identify foods that are and not recommended for diabetes. Because the dataset lacks data on blood sugar levels and food, the foods are recommended based on the nutrition score and other nutritional elements of the meal such as fat (in grams), carbohydrates (in grams), and proteins (in grams). The following characteristics were contained in the dataset:

Product name or the dishes name

Packaging – if the dish is packaged in cans or boxes etc.

Main category – if the dish is a beverage or a meal or a sugary snack etc.

Nutrition grade- is a nutritional rating system displayed on food products

Nutrition Score – the nutritional score of the dish

Fat- shown in grams Carbohydrates- shown in grams Proteins – shown in grams

Locations given in latitude and longitude of the dishes

Data Pre-processing:

The dataset had numerous features that were irrelevant to the machine learning algorithm, such as the food’s name, packing, and location, and so such data columns were eliminated to simplify the dataset. Targets were also included for the supervised machine learning algorithms based on nutritional scores. The nutritional scores ‘a’ and ‘e’ were selected as the targets. The nutritional score ‘a’ refers to foods with a high content of fruits and vegetables, fibers, and proteins, which are highly recommended for diabetics, whereas the nutritional score ‘e’ refers to foods with a high content of energy, sugar, saturated fatty acids, and sodium, which are not recommended at all for diabetics. Thus, only the nutritional score ‘a’ and ‘e’ data were used, with targets of 0 for nutritional score ‘a’ and 1 for nutritional score ‘e’. For diabetic users, the algorithm should be able to distinguish nutritional scores ‘b’ as recommended and ‘d’ as not recommended [10]. Following the assignment of the targets, the nutritional grade is likewise deleted from the dataset. At the end, the dataset has around 23,000 meals and 5 columns namely nutritional score, fat, carbs, proteins in grams and targets as given in Figure 6.

img

Figure 6: Dataset after pre-processing

The correlation matrix given in Figure 7 tells us about the correlation between two attributes. It can be seen that fat and nutrition_score have a positive correlation while proteins has the least and negative correlation to the nutrition_score. Through the correlation matrix the attributes are selected.

img

Figure 7: Correlation Matrix

Machine Learning

The dataset is divided into test and train datasets using the sklearn model selection library, which is used to measure the performance of the machine-learning algorithm that is used to generate predictions on the data. Two machine-learning algorithms are utilized to analyze the data and create the appropriate predictions for the datasets namely logistic regression and Support Vector Machines.

Logistic Regression

Logistic regression is a simple and efficient classification technique that achieves excellent performance with linearly separable classes. The widely used technique is a statistical method for binary classification that may be extended to multiclass classification. The outputs of logistic regression are in binary format, which is used to forecast the outcome of the data. Based on the nutritional score, the targets have been added to the dataset, with ‘0’ being recommended and ‘1’ being not recommended for diabetes. Because this model is to be quicker than the other models, it is utilized for dataset training.

Support Vector Machine (SVM)

SVMs are supervised machine learning methods that are used for classification, regression, and outlier detection. SVM examines data and categorizes it into one of two groups; it is the most successful linear classifier. SVMs have a smart approach of preventing over fitting, which is useful for a high number of features without needing too much computation and is still effective when the number of dimensions exceeds the number of samples. The SVM ensures that a hyper plane is created by attempting to generate two margin lines, each of which has a distance that allows the two classes to be easily classified [7]. This paradigm is said to be successful in high-dimensional areas and adaptable.

Result Discussion

The following results compare the models after training:

The logistic regression model showed an accuracy of 99.97%, and the test data showed an accuracy of 99.91%, having a slight difference between the two accuracies and showing a good percentage of predictability of the data. The Support Vector Machine model showed an accuracy of 99.96% and the classification accuracy of 99.96%.

The confusion matrix is used to identify the F1 score and the ROCAUC curve to confirm the accuracy. The logistic regression had an F1 score of 99.91%, while Support Vector Machine had an F1 score of 99.96%. Moreover, the ROC AUC score for logistic regression was 99.92%, while for the Support Vector Machine, the ROC AUC score was 99.96%. In comparison, the Support Vector Machine accuracies are better as shown in Figure 8 and Figure 9.

img

Figure 8: Logistic regression confusion matrix

img

Figure 9: SVM confusion matrix

Implementation

The logistic regression model was utilized using tensor flow with deep learning, as this model was converted to tensor flow lite to be incorporated into the dart programming language. The user interface was constructed in dart to accept data such as nutrition score, carbohydrates, fats, and proteins in grams, which would be utilized by the model to forecast whether or not the item is recommended. The data from the user will automatically convert to decimal point. The data will be transmitted to the machine learning component, which will predict a ‘0’ or ‘1’ output whenever the user submits the data. If the output is ‘0,’ the user interface will automatically display ‘Recommended,’ indicating that the dish can be recommended to the user. If the output is ‘1’, the user interface will automatically display ‘Not Recommended,’ indicating that the dish cannot be recommended to the user as shown in Figure 10.

img

Figure 10: Food Recommendation Module

Conclusion

Overcrowding is one of the problems that people often face while seeking treatment in hospitals. This can be a serious issue for the patients who are at urgent need of help. Therefore, technology has been introduced in the medical sector to make health care accessible to all and to introduce remote treatment. A mobile application powered with machine learning, is development that can be used in the health sector to ensure better quality healthcare services and to enhance patients experience. The main features are making appointments for patients, determining the crowdedness of the hospital and booking appointments, provide instruction for better education of the disease, and set a reminder for the medicine. One of the important features of the application is the emergency function which is when activated the relative of the patient will receive a phone call. Moreover, the application contains a food recommendation system that will check if the food is recommended for the patient or not based on its nutrition score, fat, carbohydrate and protein.

Acknowledgment

The Authors are thankful to The Research Council (TRC) of Oman for approving this project under Undergraduate Research Grant and allotting budget to carry out this project.

References

  1. Jonah C (2018) iTriage, an early mobile health success, shuts down as Aetna preps for new flagship app. Available at: https://mobihealthnews.com/content/itriage-early-mobile-health-success-shuts-down-aetna-preps-new-flagship-app
  2. Adu M, Malabu U, Malau-Aduli A, Malau-Aduli B (2020) The Development Of My Care Hub Mobile-Phone App To Support Self-Management In Australians With Type 1 Or Type 2 Diabetes. Sci Rep 10: 1-10.
  3. Petersen M and Hempler N (2017) Development and testing of a mobile application to support diabetes self-management for people with newly diagnosed type 2 diabetes: a design thinking case study. BMC Med Inform Decis Mak 17: 91.
  4. Ryan EA, Holland J, Stroulia E, Bazelli B, Babwik SA, et al. (2017) Improved A1C Levels in Type 1 Diabetes with Smartphone App Use. Canadian Journal of Diabetes 41: 33-40.
  5. Jahanbakhsh and Ehteshami A (2019) Developing “Aryan:” Diabetes Self-care Mobile International Journal of Preventive Medicine 10: 59.
  6. Sowah R, Bampoe-Addo A, Armoo S, Saalia F, Gatsi F, et (2020) Design and Development of Diabetes Management System Using Machine Learning. International Journal of Telemedicine and Applications 1-17.
  7. Kumar Movva A (2021) Diet Analysis for diabetes using machine [online] Available at: https://esource.dbs.ie/bitstream/handle/10788/4275/msc_movva_ak_2021.pdf?sequence=1&isAllowed=y
  8. Kwadwo T, Kus K and Rutherforda P (2019) Design and Implementation of Hospital Reservation System on International Journal of Computer Science and Information Security (IJCSIS), [online] 17: 31-37.
  9. Sathyanarayana A, Joty S, Fernandez-Luque L, Ofli F, Srivastava J, et al. (2016). Sleep Quality Prediction From Wearable Data Using Deep Learning. JMIR Mhealth Uhealth 4: e125.
  10. Brabants J (2020) Nutri-Score - A Simple Science-Based Nutritional Value Labelling System for the Food Industry. Available at: https://get.apicbase.com/nutri-score-science-based-nutritional-value-labelling-system/