Keywords

1 Introduction

According to the National Health and Morbidity Survey (NHMS) done in 2015 by the Malaysia Ministry of Health (MOH), there was a general increasing trend in prevalence of diabetes mellitus among Malaysians aged 18 years old and above where the prevalence was slightly higher in the urban areas and much higher among the female respondents (Institute for Public Health 2015).

Based on the study done by Zanariah et al., the increase in the prevalence of type 2 diabetes has contributed significantly to the increment in the prevalence of overweight and obesity among Malaysians. Abdominal obesity caused by poor diet management and lack of physical activities is one of the main factors that contribute to the high increment of diabetic patients apart from other factors such as ethnicity, genetic inheritance, and family health backgrounds (Mohamud et al. 2012; Fuziah et al. 2012). As an intervention to control the disease, most of the public healthcare facilities in Malaysia are currently providing diabetes-monitoring programs through consultations with dietitians, diabetes nurse educators, and pharmacists. In recent years, diabetes mellitus treatment adherence clinics have also been established in all major public hospitals in Malaysia, which are coordinated and operated by pharmacists in order to increase awareness and deliver diabetes education to the diabetic patients.

Nonetheless, with the increasing number of patients being referred to the healthcare providers, it is impossible for the dieticians to monitor the dietary intakes of every patient effectively and efficiently. Poor adherence to dietary recommendations is likely to be high among the patients (Tan et al. 2011). Further investigations also claimed that the lack of healthcare officers trained in diabetes education often leads to lack of supervision, guidance, and support for diabetes self-management. Consequently, it will affect patients’ conditions and will lead to more complications and comorbidities.

Therefore, the main objective of this study is to develop an electronic diet recommender system for diabetic patients in order to assist them in self-managing their diabetes disease. This system is aimed to provide personalized recommended meals on daily basis for diabetic patients. To achieve these goals, a collaborative filtering technique was used in order to provide the recommendations by adapting the user-based collaborative filtering algorithm with Pearson correlation coefficient similarity measure to calculate similarities among users and recommends meals based on the users’ ratings. A list of recommended meals will be displayed for the patients to review and make choices for their dietary regiments. By doing this, the patients will be increasingly aware of their diabetic conditions and could monitor their own daily food consumption.

2 Background of Study

2.1 Web-Based System for Diet Management

Web-based diet management system is very useful for the patients that have limited time or constraints to go and see their personal doctors. Because of the low achievements among diabetic patients that follow the dietary regiments given by the dieticians and lack of involvement in self-management programs, Web-based system can be seen as an intervention to bridge the gap between the diabetes care and self-management (Tan et al. 2011; Yu et al. 2014).

Among the benefits of using the Web-based system as a platform for self-monitoring and managing diabetes care are: It may be considered as cost-effective, more convenient, and easier to use and learn from anywhere without patients having to present physically at the healthcare facilities (Viral and Satish 2015). Patients also found it easier to understand diabetes and its complications, thus becoming increasingly aware to personalize and self-manage diabetes via the Web-based system (Viral and Satish 2015).

2.2 Personal Recommender System

Recommender systems are tools that are responsible for interacting with complex and large data spaces. They provide some personalized view of such prioritizing, space items so that it will be more interesting to the user (Burke et al. 2011). A recommendation system is important because it helps users to upload and share information with other people. Park et al. (2011) defined recommender system as the supporting system that helps users to search products, services, or information by analyzing and aggregating suggestions from users. This is achieved through reviews from various user attributes and authorities, aggregates, and directs to appropriate recipients. Often, the primary transformation is in the aggregation and its ability to make good matches between the recommenders and those seeking recommendations (Park et al. 2011).

In addition, personal recommender system can be divided into four techniques that can be used to make recommendations to users in the Web-centric domain. The techniques are collaborative filtering, content-based, knowledge-based, and hybrid-based recommender system. According to Liu et al. (2009), collaborative filtering system means that a user will be recommended to the objects that are similar to the previous users’ similarities and preferences. Meanwhile, the content-based recommender system is the type of recommender system that will give the prediction of the scores from the object content information (Liu et al. 2009). On the other hand, knowledge-based recommender system will make predictions based on user-specified requirements rather than the history of the user (Aggarwal 2016). Thus, the hybrid recommender system is actually a recommender engine that combines all the aforementioned recommender systems described before (Liu et al. 2009).

2.2.1 Collaborative Filtering Technique

In this study, the collaborative filtering technique was used to develop the recommender engine. According to Liu et al. (2009), collaborative filtering technique can be divided into two categories, which are the memory-based and model-based collaborative filtering system. The former is also known as neighborhood-based collaborative filtering and consists of two different algorithms, which are the user-based collaborative filtering algorithm and item-based collaborative filtering algorithm (Aggarwal 2016). For the purpose of this study, the user-based collaborative filtering algorithm was selected where the ratings in the system are predicted using the ratings of neighboring users, thus finding the similarities among the users. In addition to find the similarity, the Pearson correlation coefficient was adapted where it will calculate the users’ similarities and make recommendations based on the user ratings (Aggarwal 2016).

2.3 Pearson Correlation Coefficient

One measure that captures the similarity between the rating vectors of two users is the Pearson correlation coefficient (Aggarwal 2016). The Pearson correlation coefficient is used to calculate the correlation between sets of data, whereby the data will be measured as how far they are related. The formula for Pearson correlation coefficient used in this study is as depicted in the equation below.

$$ r = \frac{{n \left( {\sum {xy} } \right) - \left( {\sum x } \right)\left( {\sum y } \right)}}{{\sqrt {\left[ {n\sum {x^{2} } } \right] - \left( {\sum x } \right)^{2} ]\left[ {n\sum {y^{2} } - \left( {\sum y } \right)^{2} } \right]} }} $$
(1)

The result for Pearson correlation will be between −1 and 1 where if the value of “r” is very close to zero, then the variation of the data points around the line of best fit is greater (Andale 2012). To summarize, if the result is +1, it indicates a very strong positive correlation. Meanwhile, −1 indicates a strong negative correlation and a zero shows no correlation.

In addition, the results can be transformed into graph forms as depicted in Fig. 1. Based on Fig. 1, for the positive correlation, it shows that as x-value increases, the y-value will get larger and vice versa for the negative correlation.

Fig. 1
figure 1

Pearson correlation categories depicted in graphs (Andale 2012)

3 Materials and Methods

The overall development of the e-Diet Meal Recommender System prototype involved a broader process as depicted in the system development life cycle (SDLC) waterfall model in Fig. 2. The overall process involved five phases, which are information gathering and analysis phase, design phase, construction phase, testing and documentation phase. Nevertheless, the discussion in this paper is more focused on the construction of the recommender engine, which only involved the first three phases.

Fig. 2
figure 2

System development life cycle (SDLC) waterfall model

Briefly, the first phase involved information gathering activities and investigations among diabetic patients in two public medical centers in Kangar and Arau, Perlis, which are known as Klinik Kesihatan Arau and Klinik Kesihatan Kangar. Within a week in the beginning of the study, questionnaires were distributed to 60 respondents, which were also the diabetic patients that underwent medical treatments at the respective medical centers. The aim of the investigation was to further understand the backgrounds of the diabetic patients and how they self-managed the disease. Interviews were also conducted with the dietician and health officers in both healthcare facilities to acquire information about the consultation sessions with patients and how the dietary intakes were recommended. From the investigation, it has revealed that about 50% of the diabetic patients were Malays aged between 40 and 60 years old.

Furthermore, the consultations normally done by individual basis as recommended by the physicians. During the consultation session, patients were encouraged to do self-monitoring and manage their daily food intakes to control their blood glucose levels. The most common and easiest way to monitor the blood glucose level is by using the portable glucometer that provides patients with daily readings. Other than that, patients were also advised to monitor their weight gain or body mass index (BMI) to ensure that their diabetic conditions are in control and manageable as many studies have showed strong correlation between overweight or obese patients and diabetes disease.

The second phase, which is the design phase, involved two main steps, which are designing the Web-based system and designing the algorithm for the recommender engine as shown in Fig. 3. In designing the Web-based system, we have used several tools to design the interface and database such as storyboard and data flow and process flow diagrams. Nonetheless, because the main focus of the discussion in this paper is the recommender engine, the design of the storyboard and data and process flows will not be discussed in detail in this paper.

Fig. 3
figure 3

User-based collaborative recommender algorithm

Based on the investigation in the first phase, we have selected two variables that will determine the patients’ first meal recommendations, which are the patients’ blood glucose readings and BMIs because of the simple, economical, and non-invasive procedures. Therefore, as displayed in Fig. 3, patients need to enter their current blood glucose readings together with their BMIs beforehand in order to get their first recommended meals of the day.

Later, patients will need to rate the recommended meals where the recommender engine will grab the ratings, calculate the similarities, and generate a list of more detailed recommended meals that are suitable for their dietary regimes. For the purpose of this study, the Web-based application tool known as Xampp, which includes MySQL and PHP, was used to develop the system. The algorithm designed from the previous phase was translated into meaningful codes called as routines in the Xampp for the recommender engine to work successfully in the Web-centric paradigm. Example of the routine constructed in the Xampp is as depicted in Fig. 4. A detailed process on how the recommender engine works will be discussed in the next section.

Fig. 4
figure 4

Coded routines for meal recommender engines in Xampp platform

4 e-Diet: Meal Recommender System for Diabetic Patients

Because most of the patients involved in this study were Malays aged between 40 and 60 years old, simple Malay language was used to provide instructions in the recommender system. There were few functions created to support the recommendation, where the main function is where the patients need to submit their current blood glucose readings and BMIs to get their first daily recommended meals. The patients can review the recommended meals and then later rate the meal as shown in Fig. 5.

Fig. 5
figure 5

Recommended menu based on patient’s blood glucose reading and BMI

The scale used to rate the meals was the Likert scale where scale 1 represents the least recommended meal, while scale 5 represents the most recommended meal as displayed in Fig. 6. This process eventually will involve the routine in the recommender engine to grab the meals id, together with the patients’ ratings, and will start to calculate the similarity to recommend a more detailed list of meals to the patients.

Fig. 6
figure 6

Patients need to rate the meal recommended to them

Each patient needs to rate their first meals of the day to provide the recommender engine a sufficient dataset to make other meal recommendations that are more suitable for their diabetic conditions. Example of the list of recommended meals derived from the recommender engine is as depicted in Fig. 7.

Fig. 7
figure 7

List of recommended meals derived from the recommender engine

5 Conclusion

The prototype of the e-Diet Meal Recommender System has not yet been tested with the diabetic patients and dietician in the healthcare centers. We will conduct the usability and user acceptance tests once the prototype system undergoes few modifications such as including audio instructions to assist the elderly patients and video presentations to make it more interactive. Future recommendation also involves the development of a mobile application to make the recommender system accessible via mobile technologies.