1. Introduction
Population ageing is a global phenomenon due to the virtually universal decline in fertility and increases in life expectancy [
1]. The trend emerged first in developed countries, but now, it is seen in almost all nations [
2]. In the process of urbanization, a number of industries have been transferred to big cities, causing the young generation to live in big cities for higher salaries [
3]. Some old people prefer informal caregiving, which mainly refers to unpaid care provided by family, close relatives, friends, and neighbors [
4]. A case in point is the widespread community-based informal caregiving among European countries [
5]. There also exist many senior citizens who choose to live in nursing homes to support themselves [
6,
7]. For example, an old person may not feel lonely when living together with many contemporaries in a nursing home [
8]. Nowadays, governments continuously promote the pension industry and issue various preferential and subsidy policies. However, the development of the pension industry is insufficient, and its current situation cannot adapt to the ageing trend well. Because of the limitation of government expenditure, some countries and regions do not have enough funds to invest in the pension industry [
9]. In addition, the stable form of profitable revenue in the pension industry is still being explored, which makes capital investment a limiting factor.
These years, the idea of “intelligent elderly healthcare” has been raised to explore the development model of the pension industry [
10,
11,
12,
13]. It is a sensor-based network system and information platform for old people, providing fast, efficient, low-cost, interconnected and intelligent elderly care services. Senior citizens, especially those with diseases, cannot be cared for 24 h a day due to the limit of human resources [
14]. The intelligent elderly care system alleviates this problem, as it is able to help practitioners in the pension industry to provide more accurate, timely, and efficient services. For example, when a person forgets to turn off the faucet, the sensors will send messages to the user’s client.
In this paper, a nursing home mainly refers to an ad hoc institution promoted by governments (or sometimes some companies) [
15]. It accommodates the elderly with various supporting services. The terminology sustainable means the system is valuable and feasible for society so that this system does not only exist in papers, but it can be widely applied to society to solve real-world problems. Individuals have made many efforts to explore healthcare services for the aged. Some designs may play an important role in senior citizens’ healthcare [
16,
17]. However, there exist some studies that are not very successful in large-scale application. For example, some nursing homes buy professional and intricate medical equipment, but no one could operate it well. The idea of sustainability should be integrated into the system design. The term interactive means that old people can help one another: when an individual is at risk, other people will know it immediately and come to help. The incomes of individuals are different. Hence, there exist nursing homes with advanced equipment and professional caregivers and ones that only provide basic services. The cost of deploying and maintaining the system should not be high.
Healthcare and nursing for the aged is a wide-range topic requiring multidisciplinary research [
18,
19,
20,
21,
22,
23]. This paper proposes a sustainable and human-centered system focusing on how to care for the safety of elderly people in nursing homes. Routinely, their safety concerns the old people themselves, their companions, nursing home managers, health monitoring devices, etc. What we focus on in this paper is to combine them in an Internet of Things (IoT) system, forming a hierarchical and interactive system. The proposed tasks of this paper are to build an indoor positioning system, implement an interactive assistance service with path-finding algorithms, and discuss the feasibility of the system. It is not enough to only consider technical issues when carrying out research on healthcare for older adults. The relationship between healthcare, nursing, society, etc., and technology should also be studied. This is the meaning of interdisciplinary design. We should consider actual situations of nursing homes, and the use of technologies should be balanced with cost-effectiveness.
Nowadays, nursing homes are no longer isolated buildings, and there are many facilities for pastimes, such as card rooms, sports rooms, and reading rooms. This makes it impossible for staff members in nursing homes to pay attention to the state of each elderly person all the time. In some nursing homes with insufficient managers, even sometimes when a person is in danger, no one will notice it. The main issue is to obtain a person’s location: are they in the card room, lavatory, or canteen? If someone needs help (falling, feeling dizzy, having a heart attack, etc.), the earlier the distress signal is sent, the greater the probability of resolving a crisis safely. Hence, indoor-positioning technology is introduced to obtain more accurate locations in nursing homes. iBeacon technology was first introduced by Apple using Bluetooth Low Energy (BLE). A mobile phone can detect signals from an iBeacon node and measure signal strength. Among various indoor positioning methods, a more feasible and cost-effective way is to establish a Received Signal Strength Indication (RSSI) fingerprint database in the offline stage and make use of machine learning algorithms to obtain a predicted location in the online stage.
The locations of users who have logged onto the system are available on the server. When a user sends a distress signal (whether automatically or manually), the server will forward this message to nearby individuals. Before the arrival of professional paramedics, they could immediately receive first-aid rescue from individuals around them. Without the indoor-positioning system, it is hard to find an individual at risk and nearby as soon as possible. For instance, in case an old person has a heart attack, and there is no opportunity to take a
su-xiao-jiu-xin pill (this medicine may relieve a sudden heart attack), nearby, people can be informed to near him and help him to take the pill [
24]. This will significantly improve the success rate of rescue.
For the elderly, it is required to alert them to the risk once they enter specific regions to avoid unnecessary injuries. These areas are marked on the map on the server. The administrators of the nursing home can tag places regarded as dangerous and risky. For instance, a user approaching the slippery floor will be alarmed to be cautious. We cannot expect an old person to pay attention to the warning sign or memorize the risk of every place. The more effective way is to send a warning to the device; e.g., the device can sound an alarm.
Furthermore, multifarious intelligent health devices can be integrated into this system. A case in point is the smart bracelets able to monitor heart rate, blood oxygen, and body temperature. These indicators are very useful to reflect a person’s physical condition. According to these data, we can set a threshold value to send distress signals in some cases automatically, such as low blood oxygen concentration, tachycardia, and hypothermia. This helps older adults to be rescued as soon as possible when they do not know or have no time to save themselves. The system provides interfaces to utilize and control these health devices.
In general, the main idea is the proposed elderly care system which aims to help old people when they are at risk by immediately spreading warning messages to nearby people. In this paper, we first review some related studies, including the status quo of population aging, smart old-care industries, indoor-positioning algorithms, etc. Then, we present an indoor-positioning system, and based on it, an interactive assistance function and alerting function are introduced. After that, we propose a social investigation; privacy, convenience, and cost are considered, which shows older adults’ attitudes towards the design of the system; the promotion of this system needs not only to be technically feasible but also to consider whether old people can accept it. The experimental results prove that the system is both technically and psychologically feasible.
2. Related Work
There are many studies trying to integrate modern technologies into the intelligent elderly healthcare system. Huh, J.-H. [
25] proposed a solitary senior citizens care algorithm. This paper has confirmed that the framework for a solitary older adults care system can be designed and implemented at low cost, and the operations between system components worked smoothly. Bharanitharan, K. et al. [
26] presented a dependable smart management system for ubiquitous camera array service in an old-care center. Gaddam, A. et al. [
27] designed a cognitive sensor network for taking care of old people. Hakala, I. et al. [
28] was concerned with structuring sensor data management as a streaming system for elder care. Fischer, M. et al. [
29] contrived a sensor mat that is able to detect urinary incontinence as well as bed occupancy by patients and can be positioned underneath the bed sheet for simple usage. Improving the service quality of nursing homes not only needs to increase the professional quality of care but also needs to actively adopt various information technologies. In total, smart technology implementation remains an essential aspect of IoT, providing convenience to old people (Maswadi, K. et al. [
30]).
Location services include outdoor and indoor positioning. The outdoor-positioning technology is relatively well-developed, and the most popular method is to use satellites (Galileo, BeiDou, GPS, etc.) to provide global positioning services, e.g., Google Maps (Cao, Y.L. et al. and Singkhamfu, P. et al. [
31,
32]). Satellite signals cannot easily penetrate obstacles (Nowicki, M.R. et al. [
33]), so indoor-positioning technology is required to provide positioning services in nursing homes. Most indoor-positioning systems are based on wireless networks, such as BLE, ZigBee, and Radio Frequency Identification (RFID) (Tao, Y.H. et al., Uradzinski, M. et al., and Ke, C.K. et al. [
34,
35,
36]). The Ultra-Wide Band (UWB) positioning system can provide high-accuracy positioning services. However, specific hardware is required, and common mobile phones do not support UWB; the technology is now still developing and not often used in commercial positioning projects. Wi-Fi-based positioning technology is popular when deploying positioning systems in enclosed spaces, but the access points (APs) require a power supply. In addition, Wi-Fi APs’ main function is the network service, which means setting up too many APs is a waste (Hernandez, N. et al. [
37]). ZigBee’s biggest disadvantage is that the price is relatively expensive, and the protocol has high requirements for channel bandwidth, which in turn will affect the transmission distance and environmental adaptability (Cheng, C.H. et al. and Oguntala, G. et al. [
38,
39]). Most mobile phones and smart wearable devices support BLE, and BLE beacons have low power consumption and small size. Considering the difficulty of promotion and the cost of deployment, iBeacon technology has been introduced (Chen, Z. et al. [
40]).
There are various methods for indoor positioning, and they can be categorized into two classes: measurement-based and fingerprint-based methods (Deng, Z.L. et al. [
41]). The measurement-based methods include Time of Arrival (TOA), Time Difference of Arrival (TDOA), Angle of Arrival (AOA), etc. These methods have a strict requirement for hardware and are used less in indoor environments (Le, T.K. et al. [
42]). In the fingerprint-based method, a specific location
is assigned to a distinct fingerprint. Any information helping to distinguish a location can be used as a fingerprint; e.g., if every location has a unique temperature, this temperature may be considered as a fingerprint (Sansano, E. et al. [
43]). Normally, RSSI values are usually used as fingerprints in engineering. After the establishment of a fingerprint in the offline stage, the mobile phone can collect online RSSI features and send them to the database for location matching (Huang, S. et al. [
44]).
Machine learning methods are thriving and now applied well in the online-stage matching (Li, X. et al. [
45] and Ye, Y.-X. et al. [
46]). It is hard to judge which method is the state-of-the-art matching algorithm; each algorithm has its scope of application, and the pros and cons for an algorithm to be selected should be seriously considered according to the need. Amirisoori, S. et al. [
47] and Yang, C.-Y. et al. [
48] used the K-Nearest Neighbors (KNN) algorithm for matching. KNN is a classic and widely used approach for fingerprint databases. The implementation of this algorithm is relatively simple, and there is no explicit training process. Zhang, S. et al. [
49] utilized the Support Vector Machine (SVM) in their work. SVM is initially used in binary classification problems, and it requires much time to train if a multiple classifier is needed. Yadav, R.K. et al. [
50] introduced a combination method of Bayes and KNN and improves the accuracy of positioning. Wang, R. et al. [
51] leveraged the strong representation ability of Multi-Layer Perceptron (MLP) to build a regression model, mapping the extracted features to the corresponding coordinate. Recurrent Neural Network (RNN) and its variants considering time-domain information show a better accuracy of matching (Hoang, M.T. et al. [
52] and Hussain, G. et al. [
53]). These methods may increase the accuracy of positioning, but cost and deployment difficulty also increase. KNN and its variants are generally widely used nowadays in engineering (Li, D. et al. [
54]). When using KNN, the maintenance of the fingerprint database is relatively simpler than using other algorithms.
3. Materials and Methods
In this section, we first describe the general process of establishing a RSSI fingerprint database and characteristics of iBeacon devices, which are the key components in the wireless network positioning system. Then, we specifically discuss the preprocessing of RSSI data for establishing a fingerprint database and its technical details. After that, an online positioning algorithm is introduced, which is responsible for processing positioning requests from endpoints. In addition, we integrate a path-finding algorithm based on the Graphics Processing Unit (GPU) into the peer-to-peer interactive assistance function. In the end, we discuss the possibility and model of the integration of healthcare devices in the system.
3.1. The General Process of Establishing a Fingerprint Database
“Location fingerprints” connects a specific location in the actual environment with a certain “fingerprint”, and a location corresponds to a unique fingerprint. A fingerprint can either be one-dimensional or multi-dimensional. As shown in
Figure 1, the proposed positioning system has two stages: the offline and the online stage. In the offline stage, we collect a series of RSSI signals from reference points, and then, RSSI raw data are stored. After applying preprocessing (Gaussian filter, Kalman filter, interpolation, etc.), the final fingerprint database is established. When a mobile phone (or another smart device) collects an online RSSI fingerprint vector from iBeacon nodes in an indoor environment, it will be sent to the fingerprint database, and then, the positioning algorithm will return a predicted location. The matching process is on the server, and endpoint devices just need to collect a vector of RSSI values and forward to the server, then obtain a result. This is conducive to saving the battery life compared to processing RSSI values on the local device. Running machine learning algorithms in the background will lead to much more battery power loss, especially since the aged often use a basic-model mobile phone, which is more sensitive for power loss. Hence, the positioning calculation is done by the server by default and optionally by local computation power.
RSSI is a common measurement of the power present in a received radio signal in communication engineering. RSSI is an indicator of the power that is received by the receiving radio after the antenna and possible loss. The greater the RSSI value, the stronger the signal that is received; e.g., a received signal with RSSI A (–33 dBm) is much stronger than another signal with RSSI B (–80 dBm). We can collect an RSSI value from various devices (e.g., Wi-Fi AP), and in this paper, we use iBeacon technology. It is the iBeacon technology that fits the enclosed spaces, providing a high-accuracy and user-friendly positioning service. iBeacon technology is based on BLE using the 2.4 GHz band. The band is not limited by the authorities. The receiver of the distance from an iBeacon node (also known as access point) by near to far was divided into three areas: close (), near (), and far (). An iBeacon advertisement offers Universally Unique Identifier (UUID), major, and minor, via the channel, which identify information for an iBeacon node.
In the offline stage, we first select some reference points. At each reference point, we use a mobile phone (Google Pixel 3) to conduct continuous measurements. Let
, which denotes a series of RSSI values from a single iBeacon node. Let
, and
is the representative RSSI value from
-th iBeacon node. The format of a fingerprint in the database is shown in
Table 1 (supposing there are 3 iBeacon nodes).
In the online stage, a mobile phone can detect the RSSI values from iBeacon nodes, and is sent to the database to get a predicted location . For a database with fingerprints, the time complexity is . In fact, there is no need to obtain people’s locations too frequently if there is no one in danger.
3.2. Data Preprocessing
3.2.1. Filter
We expect received RSSI values at every point to remain unchanged all the time; however, RSSI values will fluctuate inevitably, and the distribution may conform to certain regulations. Because of the indoor spatial multipath effect, cochannel interference, object occlusion, etc., which affect the radio signal, the RSSI values along with the stability of offline fingerprint database and the final positioning precision are affected. By collecting RSSI values from an iBeacon node, we find that a RSSI value is more likely to be near the center (–64 dBm to –62 dBm), and the probability that RSSI is near the boundary value is small (
Figure 2). These data roughly accord with Gaussian distribution, and we can apply a Gaussian filter to filter noise.
The Probability Density Function (PDF) of Gaussian distribution is defined as
where
is variance, and
is average value. Further, these parameters are calculated by
and
The filter is defined as
RSSI values satisfying Equation (4) are seen as “high probability values”, and if
, they are “low probability values”. The threshold value 0.6 is an empirical value in engineering. After RSSI values are filtered by probability, high-probability values will remain. Extreme shakes of certain RSSI signals still exist after applying the Gaussian filter.
Under such circumstances, we introduce linear quadratic estimation (LQE) for further processing of the signal. LQE (also known as Kalman filter) is a filter that utilizes a sequence of measurements observed over time, including statistical noise and other errors. It generates estimates of unknown variables that tend to be more accurate than those based on a single measurement alone by estimating a joint probability distribution over the variables for each timeframe [
55]. We can apply LQE to reduce the influence of noise when measuring RSSI values. The steps of LQE are as the following:
- (1)
Initialization of RSSI predicted value and state observation error as
and
- (2)
The Kalman gain is calculated via
- (3)
Predict the RSSI value as
- (4)
Update the error covariance following
- (5)
Repeat Steps (2)–(4) until we obtain a reasonable RSSI value.
is the measured RSSI value with a mobile phone; is the predicted status; is the Kalman gain; is the observation error confirmed with experiments.
3.2.2. Interpolation
Although we can select many reference points to collect RSSI data to build the offline database, this may lead to a great deal of work, especially when the area is large. For fast deployment and cost effectiveness, the spatial interpolation method is utilized. In real-world scenes, neighbors of linear interpolation have a great influence on the result [
56]. Universal Kriging interpolation algorithm has a deterministic drift function and residual function to determine the RSSI value, and the RSSI value at a point is defined as
where
means the drift function, and
is the residual function. As usual, the function
is expressed as [
57]
is the parameter of the polynomial, and we set
.
The exponential model, polynomial model, spherical model, etc., are widely used as variation function models. We adopt spherical model with effectiveness and robustness. The semi-variogram is defined as
We then should obtain the weight coefficient
for each reference point, and
. The weight coefficient matrix is solved by
The coordinate function matrix is denoted as
The variation function matrix is
We finally reach
where
is the estimation value,
is the RSSI value of a reference point, and
is the number of reference points for an interpolation point.
3.3. Online Positioning Algorithm
The location and track are mainly confirmed by KNN algorithm. The variant soft range limited KNN is used, and a positioning result is related to previous result. Let
is a fingerprint. The predicted location is
. The Euclidean distance between
and a fingerprint in the database is defined as
Thus, the modified distance is calculated by
and
is the total number of reference points recorded in the offline fingerprint database.
is the maximum possible distance of moving from previous location to
during the sampling interval. (
,
) is the previous location. The new predicted location is confirmed by
In the positioning system, the parameters are required to be optimized for different indoor environments by tests. Firstly, we select some points to carry out continuous positioning. The errors for different choices of are presented to select an appropriate . Then, the tester should stay still to obtain a sequence of predicted locations. Both Cumulative Distribution Function (CDF) and positioning results distribution images are shown, which will demonstrate the static stability of the indoor-positioning algorithm. However, an old person is not always standing still; he may take a walk sometimes. Hence, we need to simulate the pace of the elderly, and the CDF graph and the track are presented. Not only should the positioning be accurate when the person being positioned is stationary, but also the route of movement can be accurately recorded when he moves. In addition, to find out the effect of data preprocessing and modified KNN algorithm, control experiments are available.
The CDF of a random variable is defined as . is the probability that the variable takes on a value less than or equal to . The CDF where is the PDF.
3.4. The Peer-to-Peer Interactive Assistance
When individuals in a nursing home enable the indoor-positioning module, their positions can be monitored by the server. When an elderly person is physically sick, he may not have the opportunity to take the initiative to seek help; e.g., he may faint because of hypoglycemia. Therefore, in our design, when a person is detected to be in danger, the
nearest people are informed to give quick assistance before the medical staff arrive. Ideally, the distance between a person in danger and another person is the Euclidean distance, which is straightforward for calculation. Nevertheless, the layout of an indoor environment is complex, and we cannot use Euclidean distance to represent the real distance. For example, person B is the nearest one to A among B, C, D, and E. However, obviously, person E should be the first to rescue A (
Figure 3).
Thus, surveying and mapping tasks are required. By surveying and mapping, we convert the real-world layout of an indoor environment to an abstract adjacency table or adjacency matrix. This paper does not discuss the means of surveying and mapping. The Dijkstra algorithm is widely used for the Single-Source Shortest Path problem. With the Dijkstra algorithm, the real distances from other people to the person in danger are calculated. However, when a person is in danger, it is required to inform the nearest people in time; i.e., if the Dijkstra algorithm costs too much time, it will delay the rescue, especially when there are many people in the area, requiring more computation power.
In addition, a manager of the nursing home can mark some areas in the internal layout map that are risky for the elderly, e.g., mark a road as “slippery”. Though we can just hang some warning signs, old people may not notice them. Hence, when a user approaches a marked site, we use a path-finding algorithm instead of simply calculating Euclidean distance. In
Figure 3, people always fall down in region R, so the area is marked as risky. Person C will receive an alert message because he is near (or in) the area. However, person B will not receive any alert information; though the geometric distance from him to area R is short, the path-finding algorithm indicates that he is a long way from area R. Thus, the strategy guarantees the safety of person C and does not disturb person B.
The GPU is typically for processing computer graphics computation. With the development of the General-Purpose Graphics Processing Unit (GPGPU), some tasks that are initially completed by the central processing unit (CPU) can be accelerated by the GPU. Though there are many GPGPU programming frameworks, we use the Compute Unified Device Architecture (CUDA) from Nvidia for Dijkstra acceleration. A typical Nvidia GPU has some streaming multiprocessors (SM). Each SM consists of some streaming processors (SP). Each SM has its memory area, known as shared memory. It is shared among all the SPs in an SM. From a software engineer’s perspective, GPUs can be viewed as grids, SMs can be considered as blocks, and SPs can be seen as threads. The kernel is the code executed by threads.
In the procedure of the algorithm,
is a set saving all nodes in the graph, and set
is initialized to save nodes whose shortest paths from the start vertex are confirmed. Each time, we choose a node
having the shortest distance from start vertex
in
(difference set between
set and
set). Then, the vertex
can be viewed as the intermediary point, and then, we optimize the shortest distance between the start vertex
and any vertex
that is able to be reached from
. The sequential version of Dijkstra is shown below (
Figure 4).
In the original sequential algorithm, the outer while loop cannot be parallelized. This layer of loop should be executed in order. We can modify the inner loop for parallelization. A subgroup for every
vertices is generated.
is the number of computation units that is set by programmers on the basis of hardware configuration, and
is the total number of vertices. The time complexity is
)) compared to the original Dijkstra algorithm
; using a heap for optimization will be faster. The parallel version is presented below (
Figure 5).
The parallel algorithm is conducive to processing sudden and large-scale computation when informing nearby people to carry out rescues. In the test, we generated different scales of graphs and ran the parallel algorithm along with the traditional sequential algorithm to calculate the speedup ratio. In theory, the GPU initialization will lead the parallel algorithm slower than the sequential algorithm when the computation pressure is low, but with the increase the computation amount, the acceleration effect of GPU will be clear.
3.5. The Integration of Health Devices
Everyone’s location is available via the indoor-positioning system, and when a person is at risk, the nearest people will come to help. However, it is a problem to distinguish whether a person is at risk. An individual can send a distress signal on his own initiatives, but for senior citizens who have senile diseases, it is hard to seek help by themselves sometimes. Therefore, thriving smart health devices are important to detect risky situations and perform rescue processes.
For individuals’ convenience, smart health devices are not bulky medical equipment; bracelets, smart watches, smart glasses, etc., enable perception capabilities for physical conditions. It is suggested to use qualified and verified devices. A person’s live physical data, such as the heart rate, (blood) oxygen saturation, and respiratory rate, are monitored by the client application. When abnormal data are detected, the client application will send warning messages and forward them to the server and then ask nearby people for assistance. An individual can also send distress signals manually. In addition, the data can be open-access for other authorized caregivers (e.g., a private doctor) so that other individuals can replace the user to ask for help. The flowchart of the system is presented in
Figure 6.
In terms of Multi-Modal and Intelligent User Interface, the client application should be easy to use and user-friendly, especially for the old who may not be familiar with the operations for these devices. The client application runs in the background connected with smart health devices, not disturbing users. Once the user is detected to be in danger, the mobile phone will seek help from nearby individuals and sound an alarm until nearby people arrive. In addition, a person can manually send distress signals via various methods, such as pressing the power button three times and saying a certain phrase to the device. If a user feels uncomfortable and thinks that he will soon faint, the distress signal is able to be sent to others within seconds using these simple methods. The elderly care system is an automatic system, as the client application and server are well-configured. If the smart health devices are programmable (e.g., Android Wear), the client application can also be run on these devices and communicate with the server directly, requiring no mobile phones. Other cheaper and simpler devices, such as bracelets, require a mobile phone as the bridge for exchanging information with the server computer (see
Figure 7). There are three routes for data transferring:
- (1)
The person, wearable devices, and the server: the client application runs on wearable devices. If the device detects the person is at risk, or the user (or caregivers) manually sends signals, the server will directly respond.
- (2)
The person, wearable devices, the smart mobile phone, and the server: the wearable devices are not programmable for the third-party programmers, so the client application runs on the mobile phone.
- (3)
The person, the smart mobile phone, and the server: the user uses the mobile phone and manually sends signals, or the caregivers use the phone to alert nearby people.
For usability and evaluation, the methods for sending signals do not need complex operations, and false warnings are unlikely to occur, which is important for old people. The use of these devices will not hinder their normal life because nowadays, people carry mobile phones each day, and most of the smart health devices are designed to be light and convenient. In order to discern the attitudes of old people towards this design and the usage patterns, we conducted an investigation, and the result is presented thereinafter.
5. Discussion
As we can see from the positioning results, accuracy and stability meet the requirement for locating an old person in a nursing home. It does not mean that deploying more iBeacon nodes will certainly improve positioning accuracy [
58]. Too many iBeacon nodes will lead to redundancy of signal features and excessive computation pressure on the server computer. The average error of static positioning (1.86 m) demonstrates that when a person stays still, the positioning system is reliable. In addition, when a person is moving, the average error (1.92 m) is also reliable. The movement of people will not significantly influence accuracy, especially for old people, who may move slowly. The effect of some processing measures is therefore clarified. Data preprocessing and modified KNN algorithm function more effectively. Compared to other indoor-positioning systems [
59,
60,
61], the overall effect of this proposed positioning system may not be the best. However, this positioning system has advantages in cost and maintenance, which is important for deployment in different nursing homes. The more complex the positioning system, the higher the cost of deployment and maintenance.
Calling all individuals in a nursing home will disturb them excessively, and too many people rushing into one site will cause congestion. Therefore, we need to immediately find appropriate rescuers according to an intricate internal graph. Thus, many computation requests need to be handled as a person sends a distress signal. If the computation time consumption is too long, it will delay the rescue and lead to casualties. As shown in
Table 4, a small-scale graph may not need GPU acceleration, and the CPU can quickly solve the problem. However, the internal indoor environment has hundreds of marked vertices, so GPU acceleration is crucial. Additionally, a powerful GPU can handle a number of concurrent requests from different users due to the large-scale CUDA cores, and the CPU core number is always less than CUDA core. CPU-based programs are always lightweight compared to GPGPU programs. The initialization of GPU costs more time than just using CPU. GPU cannot exchange data directly with the hard disk and memory. Even if unified memory access (UMA) technology exists, there will always be additional performance loss. For example, the CUDA function cudaMemcpy exchanges data between the memory and video memory via peripheral component interconnect express (PCIE) bus, which is much slower than using the memory controller embedded in the CPU chip [
62]. When the scale of the graph is large, the advantages of the GPU will be more obvious. To simplify the system, the traditional Dijkstra algorithm can be applied, such as in [
63], but this may cost more time to find nearby people. Hence, GPU acceleration is strongly recommended.
Privacy is an important issue, and many people are seriously concerned about it [
64,
65,
66]. Everyone’s privacy should be protected, and we also take privacy into consideration, such as in [
67]. It is not a good idea to “trade privacy for safety and convenience” [
68]. iBeacon advertisements are unidirectional broadcastings, which means iBeacon nodes will not directly collect any data from mobile phones. A mobile phone just collects a vector of RSSI values and sends it to the server to obtain a coordinate. It is not required to register private information; an anonymous identifier to distinguish different people is enough. A user can simply choose to use the identifier to connect to the server, enabling all functions (nearby assistance networks, remote caregivers, indoor positioning, etc.). Notably, smart health devices monitor and store crucial and private body condition information. Only authorized users (e.g., remote caregivers) and the user himself can access the data. The program to judge whether a person is abnormal runs on the local device, and it will warn the server only in case of emergency. Therefore, users’ private information is protected, and privacy and safety are balanced. In addition, a basic health device will not be a burden for the aged (about 15 dollars for a basic bracelet). The elderly can also buy advanced devices, such as the Android Watch, providing more functions [
69]. The process of monitoring health conditions and alerting people is automatic, requiring no complex operations. It makes it easier for the elderly to use.
In general, the test results demonstrate the system can be applied to nursing homes to provide elderly care services. The main effect of the human-centered and sustainable elderly healthcare system is to provide timely rescue for the elderly in danger and reduce the possibility of injury or death of the elderly.
6. Conclusions
Population ageing, healthcare, and nursing are macro topics. From the perspective of computer science, the proposed system uses IoT technology to connect healthcare devices. The probability of injury or death of the elderly due to physical accidents will be reduced. Moreover, the governments are trying to promote smart elderly care industries nowadays. Thus, this system can play a role in the healthcare and nursing industry.
We have therefore introduced an indoor-positioning system (fingerprint-based positioning method). We exploited the prevailing GPGPU programming in the implementation of this peer-to-peer interactive function. Furthermore, integrated health devices offer sensing capabilities for physical conditions.
The indoor positioning tests demonstrate the feasibility of the positioning method. The positioning is reliable whether people are moving or not. The static average error is 1.86 m, and when individuals are moving, the average error is a bit larger (1.92 m). The accuracy and stability of the indoor-positioning system meet the requirements.
The system can alert people when they are near risky areas and call nearby potential rescuers when an individual is in danger with the GPU-based path-finding algorithm. The GPU functions more effectively than a CPU when handling many simultaneous requests. In general, the GPU is crucial for the completion of these tasks.
The privacy issue was considered, and the process of data exchange does not transfer unnecessary data. The methods for using this system are simple. Objectively, the aged are more likely to have an emergency physical condition than adolescents. According to our investigation, most old people hold positive attitudes towards the system.
The novelty of this objective-oriented paper is the new proposed healthcare service. It can monitor people’s conditions and deliver warning message very quickly and accurately. It can be a great help for older adults who have certain diseases. In order to implement this sustainable system, we have introduced and optimized various advanced technologies and then organized them in order. All the analysis results demonstrate the social and technical feasibilities.