Keywords

1 Introduction

The WHO (World Health Organization) defines diabetes as a chronic disease that occurs either when the pancreas does not produce enough insulin or when the body cannot effectively use the insulin it produces [1]. Diabetes is diagnosed by observing raised levels of glucose in the blood. In this sense, high levels of glucose in the blood damage many tissues in the body, thus bringing life-threating and disabling health complications [2].

According to the Global Report on Diabetes [3] performed by the WHO in April 2016, the number of people with diabetes was around 422 million in 2014. Furthermore, the global prevalence of diabetes among adults (over 18 years of age) was 8.5% in 2014. It must be emphasized that the number of diabetic people has been rising more rapidly in middle and low-income countries.

People with diabetes must have periodic contact with healthcare professionals. However, it is necessary for them to have the skills, attitude, and support for self-management of their condition [4]. In other words, people with diabetes should be active participants in the treatment.

Diabetes has an effect not only on patients but also on their families, the healthcare system and the society. Therefore, diabetes self-management education (DSME) is a critical element of care for all people with diabetes and is necessary to improve patients’ outcomes [5]. DSME is the process of providing the person with diabetes with the necessary knowledge and skills to perform self-care, manage crises, and make lifestyle changes required to successfully manage this disease [6].

Recommender systems are software tools and techniques which provide suggestions for items to be of use to a user [7]. This kind of systems offer filtered information from many elements, i.e., those recommendations are intended to provide elements of interest to users. Recommender systems have been successfully applied in different contexts such as movie show times [8], passengers and vacant taxis [9], digital libraries [10], and Web services [11], among others.

In this work, we present a system for diabetes self-management. This system provides a mobile application for monitoring different subjects related to the control and management of glucose levels in the blood, such as diet, physical activity, mood, medication, and treatment. Furthermore, this mobile application aims to improve the relationship between patients and healthcare professionals, because healthcare professionals can obtain real-time information about the health status of the patient, as well as a detailed description of the patients’ treatments.

In addition to the features above mentioned, the system provides a set of health recommendations based on the collaborative filtering (CF) recommendation algorithm, which bases its predictions and recommendations on the ratings or behavior of the users in the system [12]. Thanks to this algorithm, the system can recommend the active user (patient with diabetes) the items (food, exercise, treatments) that other patients with similar tastes liked in the past.

The rest of this paper is structured as follows. Section 2 describes the most relevant research efforts regarding diabetes self-management. Section 3 presents the architecture of the system here presented, as well as of all modules that compose it. Furthermore, this section provides a detailed description of the recommender module which is based on collaborative filtering. Section 4 describes the evaluation process that was performed to evaluate the effectiveness of the recommendations provided by the system. Finally, conclusions and future work are presented.

2 State of the Art

There are many works in the literature that deal with different activities related to the self-management of diseases. For instance, in [13], the authors present WEALTHY, a wearable health care system for vital signs monitoring. This system integrates smart sensors, computing techniques, portable devices, and decision support system. The simultaneous recording of vital signs allows generating alert messages and a synoptic patient table. On other hand, the CARE (Collaborative Assessment and Recommendation Engine) system [14] implements a novel collaborative filtering method that captures patients’ similarities and produces personalized disease risk profiles for individuals. In [15], the authors present a recommender system for constructing nursing care plans. This system uses correlations among nursing diagnosis, outcomes and interventions. Furthermore, this system provides a ranked list of suggested care plan items based on previously-entered items.

Regarding mobile application for diabetes management, in [16] the authors present an study about the effectiveness of available smartphone applications combined with text-message feedback from a certified diabetes educator. The evaluation results show an improvement in the glycemic control of the patients. On the other hand, in [17] a systematic review of mobile applications for diabetes self-management is performed. This study aimed to determine whether diabetes applications have been helping patients with type 1 and type 2 diabetes. The authors conclude that application usage is associated with improved attitudes favorable to diabetes self-management. In the context of systematic reviews, in [18] the authors present an analysis of the features and contents of Chinese diabetes mobile applications in terms of their suitability for use by older adults with diabetes. The authors conclude that the features of most mobile applications failed to include areas of known which were important for managing diabetes in older adults. Another work focused on the development of mobile application for diabetes self-management is the presented in [19], which describes a systematic approach to the design and development of a diabetes self-management mobile application. The resulting application provides a set of features to the self-monitoring of blood glucose, physical activity, diet and weight, the identification of glycemic patterns in relation to the patient’s lifestyle and a remedial decision making.

Our approach is different from existing works in that it tries to provide a tool for diabetes self-management that considers the daily routine of patients to generate tips and recommendations that help them to manage and control their disease. Furthermore, this system allows patients with diabetes to register information about their daily routine including information about food intakes, insulin intakes, physical activities performance, as well as their mood. All this information can be accessed by healthcare professionals to determine a new treatment or improve the current one. The next section describes the functional architecture of the system here proposed. Also, all its functionalities are described in detail.

3 A Collaborative Filtering Based Recommender System for Diabetes Self-management

This work describes a system that aims to help people with diabetes to control and manage their disease. This application allows patients to keep a record of their daily routine including activities related to their physical activity, diet, mood, medication and treatment. Furthermore, it aims to improve communication between patients and healthcare professionals since it offers healthcare professionals a general perspective of the daily routine of their patients. This information, represented in form of charts, allows healthcare professionals to detect the problems related to the treatment, diet or physical activity, as well as to establish new routes for improving the health status of their patients.

Figure 1 shows the functional architecture of the system for diabetes self-management. This architecture is decomposed into three main modules namely Web application, mobile application and the collaborative filtering based recommender module.

Fig. 1.
figure 1

Functional architecture.

In a nutshell, the system for diabetes self-management works as follows. Both, patients with diabetes and healthcare professionals have access to the system via Web or through the mobile application. The mobile application allows patients to register their daily routine including information about the levels of glucose in the blood, physical activity, food intakes, mood, insulin intakes, and intakes of medication. All this information is stored in the database, which is accessed via REST-based Web services. The data collected through the mobile application is presented to the healthcare professionals by means of charts, which provide an easy to understand graphical representation, which shows, in a straightforward way, a summary of all subjects above mentioned. This summary aims to facilitate healthcare professionals to detect the weak points in the treatment of the patients, i.e., thanks to this information, the healthcare professionals can determine if the patients need to do more exercise, include more high carbohydrate food, or increase the insulin intakes, among other facts. Furthermore, this information can be exported to pdf files or can be shared via email.

The system has been developed by using SCRUM [20], an agile development method for developing flexible software systems, i.e. it allows managing software development when business conditions are changing. Regarding the mobile application, it works on Android devices.

Next sections provide a description in detail of the two main components of the present system namely, the mobile application for diabetes self-management, and the collaborative filtering based recommender module.

3.1 Mobile Application for Diabetes Self-management

As was previously mentioned, the mobile application presented in this work provides support for diabetes self-management activities such as vital sign monitoring, diet, physical activity, mood, medication, and treatment. Figure 2 contains some of the main graphical interfaces of the mobile application.

Fig. 2.
figure 2

User interfaces of the mobile application.

The left-side interface represents a list menu that contains all functionalities provided by the mobile application such as the registration of physical activity, food intakes, medical notifications, and reports generation. The interface of the middle refers to the registration of the mood as well as a short description of it. Finally, the right-side interface provides a view of the reports generated by the application. In this case, the interface presents a summary of the insulin intakes from a specific period.

The following sections provide a description in detail of each of the functionalities provided by the mobile application.

Vital Signs Monitoring

Vital signs are measurements of the body’s functions, more specifically, the most basic functions namely body temperature, pulse rate, respiration rate (rate of breathing) and blood pressure (the blood pressure is often measured along with the vital signs; however, it is not considered a vital sign). Due to the fact that the vital signs are useful in detecting and monitoring health problems, the mobile application allows patients to keep a record of their vital signs. From this information, the system provides a set of recommendations and tips that allow them to manage their disease in a better way.

Diet

People with diabetes must take extra care to make sure that their food is balanced with their levels of glucose in blood, insulin, and oral medication (if they take it), as well as to the type of diabetes that they suffer. In this sense, it is well known that there is not a perfect diet for people with diabetes. However, including a variety of food and watching portion sizes is a key factor to a healthy diet. Furthermore, this diet must be rich in vegetables, whole grains, fruits, non-fat dairy products, beans, lean meat, poultry, and fish, among other foods.

To help patients to control their levels of glucose in the blood, the present system provides a module that allows users to register information concerning the food intakes, emphasizing the quantities of carbohydrates, calories, fat, and proteins. The information collected is used by the system to recommend diets from 1800–2400 calories per day.

Physical activity

Diabetes is associated with the increased risk of cardiovascular disease and premature mortality [21, 22]. According to [23], the most proximal behavioral cause of insulin resistance is physical inactivity. Considering these facts, the mobile application helps patients to record their physical activities at the same time that provides them with tips and recommendations about exercise routines that can help them to improve their health status.

Mood

The mood is a key element to be considered within diabetes self-management be-cause mood changes are a common to people with type 2 or type 1 diabetes. These changes can be attributed to several factors such as stress, depression, and rapid changes in blood sugars, among others. Hence, the mobile application provides the patients with the opportunity to record their mood in such a way that healthcare professionals can establish ways to address the problem related to this subject.

Medication

To achieve a good control over diabetes patients must follow a series of corrective measures such as the ingestion of hypoglycemic pills or the injection of insulin. For this purpose, this system allows patients to register all insulin intakes as well as the intake of medication. In this context, it must be mentioned that the system has a wide drug database which can be extended by the users, more specifically by healthcare professionals.

Treatment

There are several treatments to help people manage and control their diabetes. Each patient is different, so the treatments vary depending on individual needs. For instance, people with Type 1 diabetes may need to treat their condition with insulin. Meanwhile, people with Type 2 diabetes may be able to manage their condition with exercise and diet. In this sense, the mobile application allows patients to record all information related to the food intakes, physical activity, and insulin intakes. These data will allow healthcare professionals to determine the main reasons for the success or failure of the treatment established, and assign a new treatment when it is necessary.

Communication between patient and healthcare professional

People with diabetes have periodic contact with healthcare professionals. In these meetings, healthcare professionals need for information that help them to determine what is the health status of the patient and, when the health status is not positive, to determine the main factors that caused this status. To help healthcare professionals to perform such diagnosis, the mobile application provides a summary of the insulin takes, the level of glucose in the blood, heart rate, blood pressure, weight, intake of medication, mood and food intakes. This information is provided through charts, which can be customized by selecting a specific period. Furthermore, these charts can be exported to pdf files or can be sent via e-mail.

Alerts and Recommendations

The system here presented generates a set of tips and health recommendations based on two main facts: (1) the current health status of the patient, which is determined by the glucose levels in the blood registered by the users; and (2) the data provided by the users regarding their diet, mood, and physical activity.

The recommendations were established in conjunction with a group of healthcare professionals from the Valdivia IESS (Ecuadorian Social Security Institute) Ambulatory Hospital. A detailed description of this functionality is provided in the next section.

3.2 Collaborative Filtering Based Recommender Module

One of the most important components of the system for health monitoring is the recommender module. This module implements a CF (Collaborative Filtering) method that captures patients’ similarities and provides health recommendations concerning food, exercise and treatments.

CF-based systems work by collecting the user’s feedback in the form of rating for items in a specific domain. Furthermore, this kind of systems exploits differences among profiles of several users in determining how to recommend and item [24].

In a nutshell, the recommender module works as follows. Firstly, the system stores (database) the patients’ profiles which contain information such as age, weight, type of diabetes, as well as information concerning the treatment he/she follows, e.g., food intakes, physical activity, and insulin or medication used. Also, this database stores the patients’ interest in items, in this case, in food, physical exercises, etc.

The next step consists in implementing a mechanism that compares a particular patient’s profile to the profiles of other patients to determine similarity. For this purpose, the K-means algorithm was implemented. More specifically, this module uses the MSD (Mean Squared Difference). MSD (see Eq. 1) measures the mean squared difference between two vectors.

$$ sim(x,y) = 1 - \frac{1}{{\# B_{x,y} }}\sum\nolimits_{{i{\upepsilon}l_{u} }} {\left( {\frac{{r_{x,i} - r_{y,i} }}{max - min}} \right)^{2} } {\upepsilon}\left[ {0,1} \right] $$
(1)

Where #Bx,y is the number of items that both patients have rated; rx,i and ry,i are the rates provided by the patients x and y respectively.

Based on the similarity computation, the most similar patients to the patient under consideration are selected. The patients selected are those whose similarity score is close to 1. Once the group of patients is selected, the module predicts how the patient under consideration would rate items that have not been evaluated. For this purpose, the weighted average is used. In the final phase, the module considers the n items that were rated with the highest values. This group of items is recommended to the target patient [25].

4 Evaluation and Results

4.1 Method

As has been described in this work, the system presented in this work provides a set of recommendations based on the similarities between patients. Therefore, to measure the performance of the system here proposed, i.e. to evaluate the efficacy and effectiveness of the system to provide the correct recommendations, the precision, recall and f-measure metrics [26] were used. These metrics have traditionally been used for evaluating information retrieval systems [27]. However, they have been more recently applied to recommender systems because this kind of systems is usually considered a particular case of personalized information retrieval system [28]. The formulas of precision, recall, and f-measure are shown below.

$$ recall = \frac{correctly\,recommended\,items}{relevant\,items} $$
(2)
$$ precision = \frac{correclty\,recommended\,items}{total\,recommended\,items} $$
(3)
$$ F1 = 2 * \frac{precision *recall}{precision + recall} $$
(4)

In this evaluation, precision (see Eq. 3) is interpreted as the system’s ability to recommend as many relevant items as possible. Therefore, correctly recommended items represents the number of items classified as relevant by the patient that are recommended by the system. Meanwhile, total recommended items is the total number of items recommended by the system. Regarding the recall metric, it is interpreted as the ability of the system to recommend as few non-relevant items as possible. From Eq. 2, relevant items is the number of items classified as relevant by the patient. Finally, the f-measure score is calculated by using the Eq. 4.

This evaluation was conducted in a real-life scenario. More specifically, this evaluation involved the participation of 10 patients of diabetes and healthcare professionals from the Valdivia IESS (Ecuadorian Social Security Institute) Ambulatory Hospital. These patients were asked to interact with the mobile application. The corresponding patients’ profiles were generated based on the information provided by the patients. The participants were directly asked about their food and physical activity preferences. The information provided by the patients was compared with the recommendations provided automatically by the system. The results obtained by the system are presented in the next section.

4.2 Results

Table 1 presents the evaluation results obtained by the system here presented. As can be seen, this system obtained and average rate of 0.799 for the precision metric, 0.812 for the recall metric, and 0.803 for the f-measure metric. Taking into account the results obtained by each patient, patient 4 (P4) obtained the highest F-measure rate (0.889). Meanwhile, patient 3 (P3) and patient 6 (P6) obtained the lowest F-measure score (0.727).

Table 1. Evaluation results.

Considering the results obtained by the system presented in this work, it can be concluded that this system provides good recommendations based on the similarities between patients. However, as can be seen from Table 1, there is not a big difference between the results obtained by the patients. For instance, for patient 4 (P4) the system could correctly provide 8 out of 9 items (food or physical activities) labelled as relevant by the patient. In the case of patient 3 (P3) and patient 6 (P6), the system could correctly provide just 4 out of 5 and 4 out of 6 items labelled as relevant by the users, respectively.

5 Conclusions and Future Work

In this paper, a system for diabetes self-management was presented. This application offers a set of recommendations related to the food and physical activity that patients with diabetes can perform. These recommendations aim to improve the health status of the patient. Some experiments were performed to evaluate the effectiveness of the system to provide the correct recommendations. The system obtained encouraging results, with a precision of 0.799, a recall of 0.812 and an F-measure of 0.803.

As future work, we plan to extend the system to other degenerative diseases such as hepatitis and arterial hypertension. For this purpose, it will also be necessary to analyze the treatments recommended for people with the diseases to be involved, for example the recommendations presented in [29]. On the other hand, we plan to integrate wearable healthcare devices [30] that allow the system to automatically collect data about vital signs such as body temperature, pulse rate, respiration rate, blood pressure, and weight, among others, as well as the levels of glucose in the blood. This kind of devices has been applied for monitoring other diseases such as Parkinson [31]. This goal will be achieved thanks to the proliferation of such type of devices in the market, some of which do not represent high investment costs. However, an analysis of the health devices available on the market will be performed to ensure the correct performance of the application with the smallest investment. This fact will allow the application to be accessible for most people.