Abstract

This paper presents a framework to process and analyze data from a pulse oximeter which remotely measures pulse rate and blood oxygen saturation from a set of individuals. Using case-based reasoning (CBR) as the backbone to the framework, records are analyzed and categorized according to their similarity. Record collection has been performed using a personalized health profiling approach in which participants wore a pulse oximeter sensor for a fixed period of time and performed specific activities for pre-determined intervals. Using a variety of feature extraction methods in time, frequency, and time-frequency domains, as well as data processing techniques, the data is fed into a CBR system which retrieves most similar cases and generates an alarm according to the case outcomes. The system has been compared with an expert's classification, and a 90% match is achieved between the expert's and CBR classification. Again, considering the clustered measurements, the CBR approach classifies 93% correctly both for the pulse rate and oxygen saturation. Along with the proposed methodology, this paper provides a basis for which the system can be used in the analysis of continuous health monitoring and can be used as a suitable method in home/remote monitoring systems.

1. Introduction

Today, the possibility to remotely monitor physiological health parameters provides a new approach for disease prevention and early detection [1, 2]. Furthermore, such health monitoring systems could be useful for the elderly in independent and assisted living [3]. In developing health monitoring systems, several intelligent data processing methods have been proposed in the literature, for instance, neural network (NN) [4] and support vector machine (SVM) [5]. These methods are often black box methods and make it difficult for experts to gain further insight into the structure presented in the data.

In this paper, a clinical decision support system (CDSS) has been proposed where case-based reasoning (CBR) approach [6] is applied to analyze and process the data coming from a pulse oximeter that contain measurements of both pulse rate and blood oxygen saturation. A case-based reasoning (CBR) [617] approach can work in a way close to human reasoning, for example, it solves a new problem applying previous experiences, which is more common for doctors, clinicians, or engineers. In the proposed system, CBR is the part of a large framework where first the data is preprocessed and features are extracted to find significant parameters of interest using time, frequency, and time-frequency domain features. In addition, to use the features directly, the CBR system can also produce similar matches based on input from a clustering approach that increases the retrieval process by looking only within the most similar group of cases. The method presented here is verified using data collected from a group of individuals who followed a controlled sequence of activities called a health profile. In the health profile, users are requested to perform specific activities for a predefined time intervals for example, deep breathing, walking, and so forth. Using the health profiling, ground truth data could be obtained, and a further verification has been done by three human experts who provided general classification of whether the data from a specific user seemed normal.

Previous work related to the proposed approach ranges from processing of data from physiological sensors that have typically relied on time domain features [2, 18, 19] to classifiers which may utilize known information from disease databases or consider only the physiological parameters [1, 20]. A notable example [21] in which the authors presented a health condition monitoring system using electrocardiogram (ECG), heart rate (HR), oxygen saturation, impedance pneumography, and activity patterns is included. The sensors were mounted in the patient’s garments, and the service is applied in rehabilitation of cardiac ambulatory stable cardiorespiratory patients. Studies that consider only continuous biomedical data (i.e. pulse rate) and respective signal processing methods can be found in [22, 23]. All these works have demonstrated that the recent advancement in sensor technology could provide continuous detection of, for example, pulse, blood oximetry, and level of physical activity. Furthermore, through appropriate sensor data processing, it is also possible to detect changes and provide alerts and warnings to users [23]. However, in most of these studies, the main goal is to classify data into different labeled classes, or find similar cases by determining features. In this work, classification of data in a meaningful way, that is, retrieving the effective solution for similar measurements, and enabling diagnosis of anomaly cases are currently missing in this area. A further potential development which has been addressed in the current paper is to take into account personalization of the data processing which could be achieved by considering user conditions and tailoring the system towards specific groups of individuals, for example, elderly.

2. Overview of the Proposed Clinical Decision Support System (CDSS)

The case-based remote classification scheme, that is, the CDSS proposed here, consists of three modules, and the steps of the approach are illustrated in Figure 1. The client side module contains an Android application which is deployed in a smart phone using 2.3.3 programming environment. The Android application consists of a personalized health profiling approach and a Bluetooth communication protocol. The personalized health profiling approach is a four-session approach in 9-minute duration, and the sessions are baseline, deep breath, activity, and relax. The details of the personalized health profiling approach can be found in [3]. The “WristOx2” sensor is connected as shown in Figure 1 and sends data through the Bluetooth communication. The details of Bluetooth communication and information about “WristOx2” sensor can be found in [24].

After each test, the measurements are stored into the smart phone in “.txt” format and finally uploaded to the server. When the server side application module receives the data file, the file is parsed, the features are extracted and a new problem case is formulated, and the CBR cycle is initiated as presented in Figure 2. Here, k-means clustering is used to group the cases offline. The new case is then entered into CBR cycle and in the retrieval step, the similarity value is calculated among the stored clustered cases.

The server retrieves the most similar cases depending on user defined similarity threshold and finally sends the most similar case information to the subject. At the same time, the server also sends an SMS and email notification to clinicians and generates an alert if the stored cases are not similar to the new case. Here, the system also considers user defined similarity threshold. Also, a web-enabled case-based CDSS is proposed here. Here, clinicians can see details about contextual information and measurements about a subject enabling remote monitoring of the subject. In the web-enabled CDSS, the system provides a number of functionalities, such as features level analysis, CBR classification with clustered measurements, and CBR classification with expert opinion. In features level analysis, user can consider extracted features in different individual domains or their combination, that is, time, frequency, and time-frequency domains. In CBR classification with clustered measurements, users have the opportunity to see similar measurements individually, that is, similar pulse rate or similar oxygen saturation signals. Here, the signals are clustered separately using unsupervised clustering algorithm (i.e. k-means). Moreover, the CDSS can be also used while there is no expert classification available, that is, if the CBR system failed to retrieve any similar cases with a higher similarity value as a threshold.

3. Study Design and Data Analysis

Data were collected from 15 elderly persons using a 9-minute personalized health profiling approach with 4 sessions (i.e., baseline, deep breath, activity, and relax) discussed in [3]. The summary of the data observation is illustrated in Table 1. As it can be seen from Table 1, 29 measurements were collected from 15 subjects (7 were male and 8 were female) between the age of 65 and 83 years. Among the 15 subjects, 6 of them were diagnosed previously of having 1 or 2 kinds of different diseases and of which they were at the time of the experiment undergoing treatment. The others were comparatively healthy. However, some of them were having high blood pressure during the data collection.

During the test, the subjects used a treadmill in which the minimum speed was 3 km per hour and the maximum speed was 5 km per hour. The speed was considered according to the subject’s capability of walking. The pulse rate among the subjects was 55 beats per minute as the minimum and 146 beats per minute as the maximum and oxygen saturation between 82% and 100% was observed. The sensor reading was closely monitored during data collection to ensure that the connection was not loose. The preprocessing done directly after data collection removed any erroneous data values caused by a loose collection, and one measurement was found with a huge amount of sensor error in data reading and therefore it was not considered.

The collective 29 measurements of (a) pulse rate and (b) oxygen saturation are plotted in Figure 3, where the baseline, deep breath, activity, and relax are the 4 sessions. As it can be seen from Figure 3(a), the pulse rate varies between 65 and 95 in baseline and deep breath; however, the pulse rate increases when subjects are doing the activity task and decreases while they are resting (relax). Similarly, the oxygen saturation during the activity drops for some of the subjects as shown in Figure 3(b). Here, the changes of pulse rate and oxygen saturation are highly individual due to health factors, metabolic activity, and so forth. Thus, interpreting/analysing the measurements and understanding the large variations in the measurements from diverse subjects require knowledge and experience which is often very difficult to model even for an expert of the domain.

4. Features Extraction and Case Formulation

The collected measurements from the pulse oximeter are processed to extract features in time domain, frequency domain, and time-frequency domain. The numbers of features are considered based on previous study [4, 5, 2527] and expert opinion. In the time domain, statistical features like maximum, minimum, arithmetic mean, and standard deviation of data are considered.

Frequency domain is also considered for the feature extraction as it has been observed in the previous works [25, 26] that the distinction between healthy and diseased people’s data is visible in the frequency domain. In order to obtain the frequency domain features, a power spectral density (PSD) was calculated as shown in Figure 4. The PSD is the squared amplitude of the discrete Fourier transform (DFT) which is achieved by using fast Fourier transform (FFT) algorithm on the process measurements. In DFT, an input function is required which should be discrete, and this is done by sampling the pulse rate or oxygen saturation over a period of time. length of time-series sequence is transformed into another sequence of complex numbers by the function presented in (1), where is the sampling frequency

Here, the measurements are processed through a scaling procedure to sample the measurements in 1 Hz frequency range. From the power spectral density low-frequency power, high-frequency power, low-frequency power to high-frequency power ratio, low-frequency peak power spectral density, and high-frequency peak power spectral density were calculated [25]. Frequencies between 0.04 Hz and 0.15 were considered as low-frequency, and frequencies between 0.15 and 0.4 were considered as high-frequency as shown in Figure 4 [25]. The power in high- and low-frequency regions was calculated by numerical integration of the power spectral density of the corresponding frequency range. The unit of the power spectrum density and power for the pulse rate was BPM2 (beats per minute) Hz-1 and BPM2, respectively. Similarly, the frequency domain features for the oxygen saturation were calculated, with the unit of the power spectrum density and the power of (%) 2 Hz-1 and (%) 2, respectively.

In time-frequency domain features, a discrete wavelet transform (DWT) is performed since it can keep the information of both time and frequency. Statistical features maximum, minimum, arithmetic mean, and standard deviations were calculated from the approximation coefficient of wavelet decomposition of level 1 [27]. The function “Daubechies 2” was used as the mother wavelet. The continuous wavelet transform linked to mother wavelet can be defined by

where is any square integral function and , are scaling and translation parameters, respectively. Evaluating the continuous wavelet at dyadic interval of the signal can be expressed by

where is the discrete wavelet coefficient of the signal . Symmetric padding was used to make the data samples power of two to implement discrete wavelet transform [27].

In CBR, generally a case can be comprised using problem and solution part, in which the problem contains a vector of features to describe a problem, and the solution part contains classification. To formulate a case, all features from the three domains in four sessions plus the subjects’ contextual information (age, weight, gender, and blood pressure) were taken. Blood pressure was measured twice, once before and once after the end of taking measurements from pulse oximeter. As a result, each case contains total 59 () features in problem description part of the cases. The list of the features with detail information is presented in our previous article [3]. As the solution of a case, this part of the cases contains expert classification where the classification is done considering three different classes. The three classes are (a) Class  A, the measurement looks good and it is a healthy data, (b) Class  B, the measurement looks ok and it is a normal data, and (c) Class  C, the measurement looks different and needs to look more in detail.

5. Cluster Analysis in the System

In order to group the measurements, clustering methods have been applied. This group information helps CBR to do a fast retrieval; that is, it looks only most similar group of cases. Moreover, clinicians could get benefit in situations when CBR fails to retrieve any similar case for a given high threshold similarity value. To find a set of unlabeled similar groups of time-series, several clustering methods have been reported in the literature. Depending on problem and application, different kinds of clustering algorithms are applied [28]. The two most common algorithms of time-series clustering are hierarchical clustering and k-means in which the similarity function is effective on result [29].

Figure 5 illustrates the schema diagram for the process of finding the best number of clusters and the best algorithm for clustering data. In this process, two clustering algorithms, hierarchical and k-means, are applied on the feature vector of data. In hierarchical algorithm, in each step, pairwise distance of vectors (clusters) is computed and then the similar vector (clusters) are merged into a new cluster until all data goes to a single cluster [30]. To find the similarity between clusters, single linkage distance is used [29]. In k-means algorithm, vectors are selected as initial centers of clusters. Then other vectors are assigned to these centers based on the defined similarity function. (In this work we used Manhattan distance.) Then the center of each cluster is updated to the average of its members. These steps are repeated until the center of clusters is fixed [29].

In the step of Figure 5, to find the best clustering algorithm and also the best number of clusters, for each result of clustering step, some general methods and indices are applied to measure the quality of clustering algorithms and validation of obtained clusters. Here, we used four validity indices. Silhouette coefficient (SC) [31] and Dunn’s index (DI) [32] are the popular validity indices that show the compactness of data within the clusters and separation between clusters. Calinski-Harabasz index (CH) [32] is a sum of square-based index that evaluates the quality of partitioning [31]. In these three methods, the maximum of the index value determines the optimum clustering. WB index [33] is a new validity index that emphasizes the effect of sum of squares within cluster with multiplying the number of clusters. This method determines the optimum number of clusters by minimal value of index. By comparing the results of validity indices, this process will be able to recognize the best clustering algorithm and cluster numbers ().

6. Case-Based Classification

The function of the case-based classification is to retrieve the most similar cases. Weighting of features is an important task for retrieving similar cases. To determine the degree of importance of each feature, expert knowledge is needed. As another alternative, feature weighting could be done automatically using some artificial intelligence techniques. In our previous research [7], the automatic weighting is investigated by learning from the case base; that is, it distinguishes individual features in terms of discriminating powers on the discretized universes of features. However, it does not show a better result than the expert’s weighting. Moreover, in order to perform automatic weighting of features, the algorithm needs a high volume of cases with their corresponding classification. Therefore, in some medical domains, automatic weighting is not preferable. In this work, weights of the features are defined by a domain expert. These weights are then used to retrieve similar cases; the detail of features weighting is presented in our previous paper [3]. Similarity of a feature value between two cases (i.e., a target case and one case from library) is measured using the normalized Manhattan distance between the feature values of the two cases. Nonnumeric features such as gender are converted to a numeric value by substituting the contextual value with a numeric one (1 for male, 0 for female). The Manhattan distance function to calculate the similarity of a feature between two cases is shown in (4), where and are the th feature values of target and source case, respectively,

Here, and represent the maximum and minimum values of the feature obtained from the whole case library. Then “max” and “min” functions compare the values between the new case feature and maximum and minimum values obtained from the case library. The function returns 1 if the values are the same and returns 0 if the values are dissimilar. This is known as a local similarity function

The similarity between the two cases is then measured using the weighted average of all the features that are to be considered. The function for calculating similarity between two cases and with features is presented in (5), where is the weight of the feature defined by an expert of the domain. Note that, in the weight vector is also considered the weight of three domains (i.e., time, frequency, and time-frequency features) and the weight of four sessions (i.e., baseline, deep breath, activity and relax). In CDSS, the CBR system retrieves both of the cases of pulse rate and oxygen saturation in parallel since there is no domain knowledge defined to combine them. However, a weighting approach is added in the CDSS to find an overall classification. Here, according to expert, the measurement of the pulse rate is more important than the oxygen saturation. The weighted average function presented in (6) to calculate a complete similarity value, that is, to find an overall classification by the CBR retrieval, is used:

where calculated the complete similarity value considering the individual similarity value of pulse rate as and the similarity value of oxygen saturation as . and are the weight given by the expert.

7. Experimental Works

The experimental work is conducted as: proof-of-concept prototype, classification accuracy of CBR with controlled measurements,  classification accuracy of CBR with clustered measurements, and classification accuracy of CBR considering expert classification.

7.1. The Proof-of-Concept Prototype

The web-based CDSS has been built using PHP and JavaScript programming language, and case libraries are developed in MySQL database. The main goal of this experiment is to see whether the several functions implemented in the web-based system are working properly or not. The DSS using case-based retrieval is verified by implementation as a prototype in which all the implemented methods are compared according to their outcome, that is, in terms of the technical point of view. According to Watson [17], these trials have been conducted through the following 4 tests: retrieval accuracy, retrieval consistency, case duplication, and global test. For the test retrieval accuracy, a “leave-one-out” retrieval technique is used; that is, one case is taken from the case library as a query case, and then the system retrieves the most similar cases. Among the retrieved cases, the query case is also retrieved as the top similar case with the similarity value 1.0; that is, the similarity value of two same cases is computed as 100%. To test the retrieval consistency, the same query is used to perform more than one similar search, and if it has been found that the same stored cases have been retrieved with the same similarity, then the implemented retrieval function is considered to have consistency. It is also observed that no cases are identical during retrieval except the query case, when it matches itself; thus, case duplication is also checked. Regarding the global test, the classification accuracy of the CBR system is performed and discussed in the next section.

7.2. Classification Accuracy of CBR with Controlled Measurements

For these experiments, the proposed system uses the sessions from health profiling. That is, each case is then further divided into 4 categories according to the sessions that are, baseline, deep breath, activity, and relax. The reason behind this is that the measurements are very much controlled; subjects are following the tasks according to the condition of health profiling. Moreover, there is always a question about the gold standard of expert. The main goal of this experiment is to see how accurately the CBR approach can classify the signals. Two case libraries are used with 15 subjects; one is for only pulse rate (29 signals) and an other one is for oxygen saturation (29 signals). Each case library contains 116 cases (29 measurements × 4 sessions) with 4 classes in total, and each case contains 13 features extracted (both from time domain, frequency domain, and time-frequency domain) from the signals. For CBR classification, a “leave-one-out” retrieval technique (i.e., 1 out of 29 cases) is applied and the top most retrieved similar case () is considered. If the considered case is retrieved from the same class, then we count 1 as correct classification, and percentage of each class is calculated after querying all 29 cases. The results for percentage of correct classification considering pulse rate case library are shown in Table 2.

Table 2 illustrates the results for the pulse rate cases; the first three columns present the classification accuracy considering only each of individual domain features. That is, when it is only time domain, all the other features in frequency and time-frequency domains are weighted as “0.” It can be observed, CBR approach has achieved the highest percentage of classification accuracy while considering the frequency domain features. The average value of the classification accuracy for the frequency domain features is 85.3%, for the time domain features it is 44%, and for the time-frequency domain features it is 48.3%. However, when the features are combined, the highest accuracy has been increased on average to 5% which is presented in the last column of Table 2. The combination has been performed using a weight vector in which both the time and time-frequency domains features get 10% each, and frequency domain features get 80%. Average classification accuracy is around 90% while it combines all the domain features. Similarly, Table 3 presents the classification results based on the oxygen saturation case library.

Table 3 presents results for the oxygen saturation; it shows the highest percentage of correct classification using the frequency domain features. The result has increased 4% on an average while it combines the three domain features. The average value of the correct classification is 80% with combination of features and 76% without combination, that is, only considering the frequency domain.

Figure 6 presents the average value of correctly classified cases both for the pulse rate and oxygen saturation data. It shows the comparison result in the classification accuracy values while considering the top most similar retrieved case, that is, and top 2 most similar retrieved cases, that is, . It can be seen from Figure 6 that the overall accuracy is increased by 6% while considering and the classification accuracy for the pulse rate is 96% and for the oxygen saturation is 86%. The confusion matrices both for (Table 4(a)) the pulse rate and (Table 4(b)) oxygen saturation while considering top 2 cases are presented in Table 4.

The distribution of the classification using CBR can be seen both from the (a) pulse rate and (b) oxygen saturation in Table 4; the baseline and activity classes are classified 100% correctly. However, the classification in deep breath and relax are missing. For example, in deep breath for the pulse data (Table 4(a)), one case is misclassified as relax, and in relax 4 cases are misclassified, 3 as deep breath and 1 as baseline. Similarly, Table 4(b), 4 deep breath cases are misclassified as relax, and 12 of relax class cases are misclassified as deep breath.

7.3. Classification Accuracy of CBR with Clustered Measurements

This experimental work has been conducted in twofold: (a) evaluating the clustering algorithms and (b) classification accuracy using CBR. Here, the entire measurement is considered and clustered using well-known clustering algorithm; that is, the measurements include all the sessions, baseline, deep breath, activity, and relax. However, the measurements of pulse rate and oxygen saturation are still separated and clustered separately.

(a) Evaluating the Clustering Algorithms. The main aim for this experimental work is to identify the clustering method and number of clusters. Here, all the extracted features (i.e., features in time, frequency, and time-frequency domains) form 29 measurements are considered.

Two well-known clustering algorithms, k-means and single linkage hierarchical clustering, are applied [29, 30], and up to 5 clusters are generated by each algorithm. In order to make meaningful clusters and also find the best clustering method, four validation indices, Silhouette coefficient (SC) [31], Dunn’s index (DI) [34], Calinski-Harabasz index (CH) [32], and WB index (WB) [33], are compared. As it can be seen from Figure 7, for pulse rate (a) and oxygen saturation (b), k-means clustering is better than single linkage hierarchical clustering. Also the best number of clusters is 3 for both. In SC, DI, and CH the maximum value shows the best clustering and the best number of clusters (star points), and in WB the minimum value is the best. According to the above evaluation, k-means clustering algorithm with 3 clusters achieved the highest evaluation value. Therefore, here the clustered cases with k-means are considered. The distributions of cases in 3 clusters (i.e., Classes A, B, and C) for pulse rate are presented in Table 5(a), and Classes A′, B′, and C′ for the oxygen saturation are presented in Table 5(b).

(b) Classification Accuracy of CBR. The main goal is to see how close the CBR system can classify compared to the clustering method. The class information is added into the case solution part, and the “leave-one-out” retrieval technique is applied. Here, the top 2 most similar cases () are considered; that is, if both the query case and one of the retrieved cases belong to a similar class, then the number of correctly classified cases is counted as 1.

Finally, a percentage of the correctly classified cases are calculated on a total of 29 cases, and the results are presented in Table 6. From Table 6, when , CBR performs 80% correctly for the pulse rate and 90% for the oxygen saturation as close to the clustering algorithm (i.e., k-means). However, the percentage of correctly classified cases is improved while and the achieved value is 93% for both the pluse rate and oxygen saturation. For the pulse rate (a) and oxygen saturation (b) the confusion matrices of correctly classified cases using CBR () compare to the clustered cases are presented in Table 7.

7.4. Classification Accuracy of CBR Considering Expert Classification

The main goal of this experimental work is to investigate the classification performance of the CBR approach compared to an expert of the domain. Here, the word “expert” means a panel which consists of three researchers working mostly with biomedical sensor signals. The panel has examined and analyzed the cases and performed an overall classification; that is, all the 29 test data (both pulse and oxygen saturation measurements) from 15 subjects were classified by the panel into three classes. The three classes are (i) Class A, the measurement looks good and it is a healthy data, (ii) Class B, the measurement looks ok and it is a normal data, and (iii) Class C, the measurement looks different and needs to look more in detail. A majority voting approach is considered to perform the final classification on cases. For example, for a case “Case_id_7.1,” a set of classification is achieved from the panel; that is, Case_id_7.1 = (Class B, Class B, and Class A) and Class B is taken for final classification of the case. Note that the panels agree with each other in 72.4% of the cases (21 cases out of 29).

Similar to the previous experiments, the “leave-one-out” retrieval technique is applied for CBR, and a percentage of correctly classification cases are calculated. Note that the final similarity value is calculated by the weighted average of individual similarity value of pulse rate and oxygen saturation where pulse rate receives a higher importance than the oxygen. Moreover, the experiment has been conducted considering both and as discussed earlier. The performance of the CBR system in terms of classification accuracy is illustrated in Table 8.

It can be observed from Table 8 that the CBR approach can classify with 92% accuracy for Class A, 37.5% for Class B, and 75% for Class C while considering the singular top most similar retrieved case (i.e. ). The performance of the CBR classification increased while considering two top similar classes; that is, Class A achieved 100%, Class B achieved 62.5%, and Class C remains the same. So, in total, the accuracy of the CBR system was 72.3% for and 83% for . The confusion matrix of correctly classified cases using CBR and while comparing to the expert classes is presented in Table 9.

According to Table 9, 3 classes out of 8 cases in Class B were misclassified as Class A, and 2 classes out of 8 cases in Class C were misclassified as Class A, and Class B respectively. According to the class definition defined by the expert, Class A and Class B, represent as healthy or normal conditions of the subjects, and Class C is the opposite. So, in order to perform a sensitivity and specificity analysis, 29 cases were further divided into 2 groups: healthy = (Class A + Class B) and not healthy = Class C. Therefore, the healthy group consists of 21 cases, and not healthy group consists of 8 cases. Note that this time we only consider in CBR retrieval, and the results are presented in Table 10.

As can be observed from Table 10, in healthy group, 20 cases are correctly classified that represent true negative (TN), and 1 is misclassified that represent false positive (FP). Similarly, in not healthy group, 6 cases are correctly classified that represent true positive (TP), and 2 are misclassified that represent false negative (FN). So, the sensitivity, specificity, and overall accuracy achieved by the CBR approach are 75%, 95%, and 90%, respectively, while considering only one top similar retrieved case (i.e. ).

8. Summary and Discussion

This paper proposed a case-based clinical decision support system to monitor individuals’ health condition remotely. Here, a pulse oximeter is used together with a personalized health profile protocol. The pulse oximeter is low-cost and easy to use sensor in any environment. The protocol helps to establish individual health profile.

The system has been designed in three-tier client server architecture. The measurements are collected through an Android application, and a case library has been implemented in a remote server. The development of the server side consists of the feature extraction part to find key parameters of interest using time, frequency, and time-frequency domains. Besides, this paper introduces a time-series similarity measure and a clustering approach to group the cases offline which makes the retrieval process faster by looking only within the most similar group of cases. This will be helpful for large datasets, and our future target is to test the system in a large-scale environment. A web-enabled CDSS with advanced signal analysis capability could be accessed via specific clients, for example, physician at a health clinic in order to monitor health. In the web-enabled CDSS, the system provides a number of functionalities, such as features level analysis, CBR classification with clustered measurements and CBR classification with expert opinion.

The proposed CDSS has been evaluated considering controlled measurements, using clustered measurements, and considering expert classification. As can be observed from Figure 6, for the pulse rate, the classification accuracy of the CBR approach is 96%, and for the oxygen saturation it is 86% considering the controlled measurements. Here, the evaluation shows better performance when the three domains features are combined rather than single domain features. According to the confusion matrices presented in Table 4, the cases in baseline and activity conditions are well classified than the other two conditions, that is, deep breath and relax. The cases belong to these conditions are classified as each other and could be explained by the fact that the two conditions deep breath and relax are rather similar [35]. Note that the classification performance for CBR has been achieved by considering the 2 top most similar retrieved cases (i.e., ) since the similarity value of these two cases is often very close to each other (e.g., 96.34 and 96.10). From these experiments, it can be observed that using different test data sets, methods and considering expert classification, the system can perform its classification task and generate alarms in an anomalous situation. The results show that the approach could be applicable to use in a clinical remote health monitoring. Nevertheless, the performance of the system could be experimented considering a large case library with reference cases. To show the superiority of the proposed approach, a comparison with the other approaches such as neural networks or support vector machine could be obtained, and this is now ongoing. Moreover, the system should be verified in real clinical environment for day-to-day usage.