I. Introduction
Online medical service recommendation has become an indispensable part of daily life, due to the rapid development of eHealthcare industry [1]. In a medical service recommender system, users submit their demands to the medical server, and then the medical server will recommend the suitable doctors according to the demands of the users. A series of existing studies have made efforts to design the recommendation systems [2]–[8]. Some of these adopt trust and reputation as the basis of recommendation [2]–[4], while others give more importance to demands and interests of users [5]–[8]. In the first type, trust and reputation are a reflection of the service provider’s quality of service and a good service provider will have a high reputation scores. The server will recommend the service provider with high reputation scores to users. In the second type of works, the server matches the suitable service provider according to the users’ demands (e.g., personal requirements or interests). However, considering only the single factor (i.e., reputation or users’ demands) as the basis of recommendation may affect the accuracy of the recommendation results. Hu et al. [4] proposed a service recommendation scheme based on the reputation. The server recommends the service provider with high reputation to users, however it is important to note that the service provider with high reputation may not be able to meet the user’s demands well. Moreover, reputation is a factor derived from feedback of patients, which may or may not truly reflect the services needed by the users. False feedback maliciously entered can also affect the reputation, hence filtering it becomes extremely important. In [8], the server recommends the doctors based on the similarities between users’ demands and doctors’ information. However, the recommendation scheme based on similarity only, may recommend doctors with bad quality of service. In real world, in order to get a better recommendation result, besides similarity of basic information, the feedbacks of multiple users on the service provider need to be considered. For example, if only similarities are considered, there is a possibility that the server may recommend a doctor who meets the basic demands (e.g., doctor’s department, title) of the user but has a poor reputation to the user. To solve these problems, it is critical to propose an accurate medical service recommendation scheme based on both similarity and reputation scores, in which it can not only meet the basic demands of users but also recommend doctors with high reputation scores to the user, so that the user can obtain a good quality of medical services. At the same time, the system should also identify and filter malicious user’s feedback, either it is positive or negative.