Monitoring the health of the elderly using wearable sensors and Internet of Things (IoT) devices necessitates the collection of data from various sources, thereby increasing the volume of data to be gathered at the monitoring center. As previously elucidated, the system exhibits high accuracy in measuring variables such as blood oxygen saturation (BOS) and heart rate (HR), as well as demonstrating proficient accuracy in implementing fuzzy rules to detect the “stable” or “unstable” condition of elderly patients. Therefore, by integrating wearable sensors and IoT devices into the elderly health monitoring system, we can enhance the quality of monitoring and provide more timely healthcare solutions tailored to the elderly population’s needs. The integration of fuzzy rules and IoT technology into the elderly health monitoring system offers an efficient and effective solution for continuous health surveillance. In this research, we integrated fuzzy rules and IoT technology into the elderly health monitoring system using parameters such as BOS and HR, through the integration of MAX30100 sensors and ESP32 microprocessors. The implementation of fuzzy rules resulted in nine rules indicating whether an elderly patient is in a “stable” or “unstable” condition. The methodology involved (1) component preparation, (2) device accuracy analysis, (3) fuzzy rule development, (4) Android-based mobile application development, (5) fuzzy rule accuracy analysis, and (6) cost analysis. Experimental results indicated a device accuracy of 98.89% in measuring BOS and HR variables compared to medical devices and a fuzzy rule accuracy of 96% in detecting whether the patient’s condition is “stable” or “unstable.” Based on the experimental findings, the elderly health monitoring system provides a user-friendly, precise, and cost-effective solution to enhance the quality of life for the elderly population.
I. INTRODUCTION
Faced with the increasing challenges of population aging, the need for more efficient healthcare for the elderly is becoming increasingly urgent. One important aspect of maintaining the well-being of the elderly is monitoring their health condition regularly. Often, however, routine hospital checks require significant costs, time, and effort, which can be a heavy burden on the elderly and their families. To overcome this problem, this study proposes an innovative solution that integrates fuzzy rules and the Internet of Things (IoT) to build an efficient and effective elderly health monitoring system. The main focus of this study was monitoring the heart rate (BPM) and blood oxygen levels (%) in elderly patients. In this context, a monitoring tool is needed, which is not only accurate and reliable but also practically used in the daily activities of the elderly. The monitoring tool in this study was designed to consider aspects of comfort and usability in the daily routines of the elderly. The tool should be lightweight and easy to install, be of low-cost, and have a user-friendly interface. This allows seniors to easily integrate this monitoring tool into their daily activities without disrupting their daily lives.
The results of previous research have made a valuable contribution to the development of health monitoring using the latest technology. For example, research by Murali et al.1 reported on the use of wearable devices that allow wireless monitoring of the heart rate and blood oxygen levels in intensive care units. Meanwhile, Ganesh et al.2 developed a portable IoT-based oximeter to efficiently measure the heart rate and SpO2. These studies provide an important basis for the development of monitoring technologies that can be integrated with the daily activities of older adults, enabling more affordable and practical health monitoring. In addition, there is also research relevant to the use of IoT technology in health monitoring, such as the study by Goswami and Agrawal,3 which explored the detection of interference in electricity transmission through Google’s Firebase database. Meanwhile, Martínez-González-Moro et al.4 examined the effect of intense exercise on the autonomic nervous system and stress using photoplethysmography. In addition, there are efforts to develop more affordable health monitoring devices, as reported by Suprayitno et al.5 in measuring the blood oxygen level, heart rate, and human body temperature, as well as research by Carcamo et al.,6 who created a low-cost oximeter using Arduino. Thus, the results of this research provide an important basis for developing a better and more affordable elderly health monitoring system. Our research leverages and expands existing knowledge to create more sophisticated and efficient solutions, with a focus on monitoring blood oxygen saturation and heart rate levels for the elderly.
By utilizing this technology, it is hoped that the elderly can easily and accurately monitor their own health conditions in their home environment without the need to go to the hospital regularly. This will not only reduce the financial burden but also give the elderly more independence in taking care of their health. This article will explain in detail about the concept, implementation, and benefits of this monitoring system, which is expected to be a positive step in improving elderly healthcare in their daily activities.
II. LITERATURE REVIEW
This section describes the basic concepts that are used as a reference in research consisting of Internet of Things (IoT) technology, which explains how IoT technology plays a role in devices that assist in human work; provides an explanation of bio-signal sensors and how bio-signal sensors work; describes an elderly patient monitoring system, which shows aspects of blood oxygen saturation and the heart rate; defines fuzzy rules consisting of basic concepts and formulations; and shows related work, which describes previous studies related to the study carried out.
A. Internet of Things (IoT) technology
The Internet of Things (IoT) has emerged as one of the most promising technological innovations in recent years, connecting physical objects to the Internet and enabling data exchange and interactions without direct human intervention. This concept has rapidly evolved, and recent research has introduced new ideas such as the “Internet of Think (IoThink)”.7,8 It goes beyond the conventional boundaries of IoT by integrating advanced automation technologies, such as artificial intelligence (AI) and brain-based computing. This study outlines how IoThink systems can understand and respond to physical data in a more complex context, similar to how the human mind functions. By combining thinking and understanding capabilities, IoThink has the potential to usher in a new level of automation, leading to more adaptive, responsive, and efficient systems.9 However, despite IoThink’s incredible potential in shaping more profound digital transformations, several challenges must be addressed.10 First, concerns arise regarding data privacy and security. In IoThink systems that continuously collect and analyze data, the risks associated with privacy breaches and data misuse become more significant. Hence, efforts must be made to develop appropriate regulatory frameworks to safeguard user privacy rights and mitigate the risks of unwanted data leaks. Moreover, integrating AI and brain-based computing technologies in IoT raises serious ethical questions about how the data generated by such systems should be utilized and managed.11 In conclusion, the Internet of Think (IoThink) represents an intriguing evolution of the Internet of Things (IoT) concept, with the potential to deliver more intelligent and more adaptive automation systems. However, implementing IoT will heavily depend on addressing challenges such as data privacy and ethical considerations. Combining technological advancements with careful responsibility, IoT can become a significant milestone toward a more connected and technologically intelligent society.
B. Bio-signal sensor
Bio-signal sensors are designed to detect and measure biological signals in the human body or other organisms.12,13 These sensors allow the measurement of various bio-signals, such as heart rate, blood oxygen level, brain activity, body temperature, and many more.1–3 One of the popular sensors in this category is the MAX30100 sensor. The MAX30100 sensor is a sensor that is often used to measure the heart rate and blood oxygen level (SpO2).4 This sensor utilizes the principle of photoplethysmography (PPG) to measure changes in blood volume in the blood vessels by measuring changes in the light absorbed by the blood. The MAX30100 sensor consists of an LED that produces infrared and red light and a photodetector that measures the intensity of the reflected light after it has passed through body tissues.5 The advantages of the MAX30100 sensor include small size, low power consumption, and the ability to measure various bio-signals with reasonable accuracy.6,14 These sensors are often used in various health applications, including wearable medical devices such as smart bracelets and sleep monitors. With the data generated by these sensors, medical professionals and users can monitor their health more accurately and in real time. In recent years, bio-signal sensors such as the MAX30100 have significantly contributed to developing innovative health technologies. However, as with all technologies, these sensors have limitations, such as their susceptibility to environmental light interference, which can affect measurement accuracy. Therefore, research is continuing to overcome these challenges and improve the performance of bio-signal sensors to support the development of better healthcare solutions in the future.
C. Elderly patient monitoring system
Monitoring the heart rate and oxygen saturation levels in elderly patients has great clinical significance in the care and management of their health. Elderly patients tend to be prone to cardiovascular and respiratory disorders, so regular heart rate monitoring can help detect and treat cardiac abnormalities such as arrhythmias or bradycardia, which can increase the risk of serious cardiovascular events.15 In addition, monitoring oxygen saturation levels is crucial because it can indicate an adequate level of oxygen in the blood, which is relevant in identifying respiratory or circulatory problems that may occur in elderly patients. The combination of monitoring the heart rate and oxygen saturation levels provides vital information about the health of elderly patients, allows timely intervention, and reduces the risk of serious complications.16,17 Normal BPM in elderly patients18 is shown in Table I.
Age . | Heart-rate (BPM) . |
---|---|
Real-world mean | 79.1 |
18–45 | ≤120 |
45–60 | ≤110 |
Older than 60 | ≤95 |
Age . | Heart-rate (BPM) . |
---|---|
Real-world mean | 79.1 |
18–45 | ≤120 |
45–60 | ≤110 |
Older than 60 | ≤95 |
The dangers of excessive high heart rate per minute (BPM) in the elderly include the increased risk of elevated pressure on the heart and blood vessels, heightened likelihood of heart attacks or arrhythmia issues, intense fatigue, cognitive decline, vulnerability to fall-related injuries, and the potential negative impact on the overall cardiovascular system.19 In such situations, consulting with a medical professional is highly recommended for appropriate management. Normal blood oxygen saturation in human beings19 is shown in Table II.
Age . | Blood oxygen saturation rate . | ||
---|---|---|---|
Low . | Medium . | High . | |
0–39 Years | <91% | 91%–98% | 99%–100% |
>40 Years | <91% | 91%–98% | 99%–100% |
Age . | Blood oxygen saturation rate . | ||
---|---|---|---|
Low . | Medium . | High . | |
0–39 Years | <91% | 91%–98% | 99%–100% |
>40 Years | <91% | 91%–98% | 99%–100% |
Both excessively low oxygen saturation (hypoxia) and excessively high oxygen saturation (hyperoxia) can have different effects on the elderly. Hypoxia can lead to extreme fatigue, difficulty in breathing, cognitive disturbances, and an increased risk of cardiovascular problems. On the other hand, hyperoxia, although rarer, can disrupt breathing, cause constriction of blood vessels, and potentially result in tissue damage. Therefore, it is important to monitor and control oxygen saturation levels in the elderly, particularly for those with a history of cardiovascular or respiratory issues.20
D. Fuzzy rules
Here, μ_A(x) represents the membership degree of element x in fuzzy set A; ζ_A(x) is the membership value used in some fuzzy methods; and x_min, x_mid, and x_max are the lower, middle, and upper boundary values of fuzzy set A, respectively. This formula allows calculating the extent to which an element belongs to a fuzzy set based on the element’s value in relation to the set’s boundaries.
E. Related works
Several recent studies have focused on developing Internet of Things (IoT)-based health monitoring systems and further understanding human health parameters. Khan et al.12 analyzed IoT-based health monitoring systems and highlighted their implications. Hatem and Abed13 designed a patient health monitoring system using the ESP8266 device and the Adafruit IO dashboard. As an alternative, Murali et al.1 conducted a pilot comparison test of monitoring the heart rate and oxygen saturation using wearable wireless devices in the intensive care unit. Furthermore, Ganesh et al.2 developed an IoT-based mobile pulse oximeter to monitor the heart rate and SpO2. Focusing on the use of IoT in other contexts, Goswami and Agrawal3 researched IoT technology to detect faults in power line transmission. Meanwhile, Martínez-González-Moro et al.4 explored the effect of intense physical effort on measuring autonomic nervous system activity and stress using photoplethysmography. On the other hand, Suprayitno et al.5 developed a measuring device to detect blood oxygen saturation, heart rate, and human body temperature. Furthermore, Carcamo et al.6 designed a low-cost pulse oximeter using Arduino. Finally, Huang and Guo14 focused on the early detection of hypoxemia in patients with cardiovascular disorders by designing a pulse oximeter using the MAX30100 sensor. This research pool helps illustrate the development and diversity of approaches to leveraging IoT technologies for monitoring human health and essential health parameters.
III. MATERIALS AND METHOD
This section explains how the components contained in the system architecture are in the form of four layers—the physical layer, network and storage layer, analytic layer, and application layer; contains an explanation of hardware and software specifications implemented in the system; shows the configuration of fuzzy rules, which describes the rules developed and implemented in the system; and displays the experimental setup, which represents the flowchart in the study.
A. System proposed
The system architecture proposed in the study refers to the IoT architecture by implementing improvements to the network layer and adding an analytic layer. Overall, there are four layers that are integrated with each layer, consisting of the physical layer, network and storage layer, analytic layer, and application layer. The physical layer contains hardware components of the system, i.e., the power supply is a device voltage source, and the MAX30100 sensor is the oximeter module, which functions as a sensor to measure the blood oxygen level and heart rate in beats per minute (BPM) based on the condition of the elderly patients. The data read by MAX30100 are then transmitted to the ESP32 microprocessor and Wi-Fi module. The data that are read and processed at the physical layer are then distributed to the network and storage layer, which consists of the Wi-Fi module in ESP32 and Firebase cloud data storage. The data distributed by ESP32 are connected via the message queuing telemetry transfer (MQTT) protocol, which is a protocol specifically for machine-to-machine (MQTT-Source) communicators such as ESP32 devices that distribute data into the network and storage layer. MQTT works based on the concept of publisher and subscriber, where the publisher is the owner of the data source, that is, the devices contained in the physical layer, while the subscriber acts as a client, which in this case is the Firebase cloud database. Data received in Firebase are real-time, which are then stored and distributed to the analytical layer via the Hyper Text Transfer Protocol (HTTP). Within the analytic layer, there is a fuzzy rules system that translates real-time elderly patient conditions into whether the patient’s condition is “stable” or not-stable.” The results of the fuzzy rules system are recommendations for patient conditions that can be accessed by users through the Android-based application layer. Technically, the system architecture is presented in Fig. 1.
B. Detail of hardware and software
1. ESP32
ESP32 is a microprocessor that is integrated with a Wi-Fi module and is generally used in IoT-based devices. ESP32 uses a variant of Tensilica’s 32-bit Xtensa LX-6 microprocessor, which is integrated with the following wireless components: Wi-Fi and Bluetooth system. ESP32 has advantages including faster data processing through a dual-core processor, multipurpose peripherals, flexible connectivity via Wi-Fi and Bluetooth, low-cost, low power consumption, ample memory, and providing an eco-system of development. There are 38 pins, including digital pins, analog pins, an inter-integrated circuit (I2C), touch pins, and transmitter and receiver pins. Figure 2 shows a technical description of ESP32.
2. MAX30100 sensor
MAX30100 is a sensor that integrates a pulse oximeter and heart-rate detector, which can operate at a voltage of 1.8 and 3.3 V, respectively. One of the implementations of MAX30100 is medical monitoring devices, such as those used in this study. MAX30100 components are LEDs, optics, photodetectors, and analog signal processors. The advantages of MAX30100 are that it integrates a pulse oximeter and heart-rate sensor into one device, has low power consumption, which is suitable for wearable devices, and has functional capabilities that improve measurement performance. There are seven pinouts, namely, (1) voltage input (VIN), (2) inter-integrated circuit serial clock (SCL), (3) inter-integrated circuit serial data (SDA), (4) active low interrupt (INT), (5) infrared LED and LED driver connection point (IRD), (6) red LED and LED driver connection point (RD), and (7) ground (GND). Figure 3 shows a visualization of the MAX30100 sensor.
3. Firebase
Firebase is a cloud data platform developed by Google, which is compatible with real-time data. There are three main features in Firebase: (1) Cloud Firestore; (2) Cloud Storage; and (3) Cloud Functions. Firebase is based on a not only SQL (NoSQL) database that can communicate with various platforms such as mobile, server, and web applications that can be accessed by multiple clients. Firebase’s data structure architecture is similar to JavaScript object notation (JSON) where data are coordinated in documents or collections. Data synchronization is carried out in real-time where data received by Firebase as a server can be pushed directly to the client without repeatedly polling the server for updates. Figure 4 shows a representation of Firebase.
4. Android Studio
Android Studio is an integrated development environment (IDE) that has a purpose to develop Android-based software. In writing program algorithms, Android Studio uses Java and Kotlin programming languages and can use internal or external emulators in the program running process. Android Studio has three main modules, namely, the Google App engine module, Android app module, and library module, which contain source code files. There are several stages of the application building process in Android Studio, which are as follows: (1) setup initial environment and create a new project; (2) write the programming code and add assets; (3) build and run by connecting to the internal or external emulator; (4) iterate the process including debugging, profiling, and testing; and (5) publish the application by determining the version of the application and signing it to the publisher such as Play Store. Figure 5 presents the Android Studio visualization with three main modules.
C. The configuration of fuzzy rules
The development of fuzzy rules is carried out using the Mamdani technique where there are several stages: determine the linguistic variable, create a set of fuzzy rules based on linguistic variables, the fuzzy inference process, implementation of fuzzy rules through activation strength calculation of each membership variable, aggregation by combining the output of individual rules, and defuzzification. In this study, the fuzzy set is divided into three categories, both in terms of blood oxygen saturation (BOS) and heart-rate blood per minute (BPM), i.e., low, normal, and high. Specifically, Table III describes the input and output variables, as well as the details of the fuzzy sets and fuzzy domains used in the study.
Function . | Variable . | Fuzzy sets . | Universe of discourse . | Domain . |
---|---|---|---|---|
Input | Blood oxygen saturation | Low | 0%–100% | 0%–90% |
Normal | 91%–98% | |||
High | 99%–100% | |||
Heart-rate | Low | 0–200 BPM | 0–60 BPM | |
Normal | 61–100 BPM | |||
High | 101–200 BPM | |||
Output | Stability status | Not stable | 0–1 | 0 |
Stable | 1 |
Function . | Variable . | Fuzzy sets . | Universe of discourse . | Domain . |
---|---|---|---|---|
Input | Blood oxygen saturation | Low | 0%–100% | 0%–90% |
Normal | 91%–98% | |||
High | 99%–100% | |||
Heart-rate | Low | 0–200 BPM | 0–60 BPM | |
Normal | 61–100 BPM | |||
High | 101–200 BPM | |||
Output | Stability status | Not stable | 0–1 | 0 |
Stable | 1 |
D. Experimental setup
The stage of the experimental process is shown in Fig. 6, which begins with setting up and integrating the MAX30100 sensor, ESP32, and supporting components, both software and hardware. The next stage is to analyze the accuracy of the device by comparing the measurement results with medical devices, i.e., oximeters and heart-rate monitor devices. The measurement results from the IoT monitoring system device are compared with medical devices to determine how much the error percentage of the IoT monitoring system is based on the medical device measurement results. Regarding the variability and personalization of devices in conducting a health monitoring system, the device validation process in detecting the conditions of elderly people involves dividing volunteer participants into three categories based on age: age 55, age 65, and age 75. This division into different age ranges aims to assess the effectiveness of the device in detecting the conditions of elderly people based on variability and personalization. The technical characteristics of the volunteers involved in this study are presented in Table IV.
ID . | Age . | Initial heart rate condition . | Disease medical records . |
---|---|---|---|
Volunteer 1 | 55 years-old | Normal | Hypertension |
Volunteer 2 | 65 years-old | Normal | Migraine |
Volunteer 3 | 75 years-old | Normal | Gout |
ID . | Age . | Initial heart rate condition . | Disease medical records . |
---|---|---|---|
Volunteer 1 | 55 years-old | Normal | Hypertension |
Volunteer 2 | 65 years-old | Normal | Migraine |
Volunteer 3 | 75 years-old | Normal | Gout |
Based on the validation process of the device, the error percentages are generated, which are the basis for determining how much accuracy is produced by the IoT monitoring system. In this case, the minimum tolerance for accuracy is greater than 95%. If the conditions of accuracy meet, then it will proceed to the next stage; if it does not meet, then an analysis and re-calibration of the constructed device are carried out. Next is the development of fuzzy rules based on blood oxygen saturation and heart-rate (beats per minute) conditions. The steps involved in the fuzzy process are inputting fuzzy data, implementing fuzzy operators, implementing the implication method, composing all outputs, and defuzzification. The output of the fuzzy rules is in the form of a binary class with two conditions: “stable” and “not stable,” where if the blood oxygen saturation and heart-rate are under normal conditions, then the resulting rule is a “stable” condition; otherwise, it is “not stable.” Next is the development of Android-based mobile applications that integrate fuzzy rules and monitoring systems through the Android Studio IDE with the Java programming language as algorithm programming and extensible mark-up language (XML) and JavaScript as the programming language in designing the user interface (UI). The fuzzy analysis process is then carried out by measuring the patient’s condition by making a comparison between the expected result and the actual result. The true value results based on the actual results compared to the overall expected results produce an accuracy value; in this study, the accuracy value received is greater than 95%.
IV. RESULTS AND DISCUSSIONS
This section describes how the experimental process is carried out, which consists of several steps and goals, i.e., (1) analyzing the accuracy of the monitoring system, which shows the level of accuracy of the monitoring system; (2) analysis fuzzy rules implemented, which describes the stages in developing fuzzy rules, designing the user interface as a communication medium between the user and the system, and the experimental results of monitoring systems based on fuzzy and IoT; and (3) analyzing the cost effectiveness to see the impact of the monitoring system on cost effectiveness.
A. Analyzing the accuracy of the monitoring system
The sensor measurement results consist of measurements of blood oxygen saturation (BOS) and heart rate (HR), with the unit of BOS being percentage (%) and HR being beats per minute (BPM). Measurements were carried out on three volunteers aged 55, 65, and 75 who had normal physical health. The measurement period was from 14.00 (2.00 p.m.) to 16.58 (4.58 p.m.), with data collection carried out every 2 min. The total number of records produced was 90. Measurements were carried out with two devices: a designed IoT device and a medical tool in the form of a digital finger oximeter (FO). Monitoring system analysis is carried out by comparative analysis between the measurement results of the monitoring system and the FO, which produces a gap that is the basis for calculating the error rate. The BOS and HR measurement results are presented in Table V for the volunteer aged 55, Table VI for the volunteer aged 65, and Table VII for the volunteer aged 75. In the table, duration indicates the specific time for data collection; blood oxygen saturation (%)shows the measurement results from the IoT device, FO, and the gap in measurement results between the two devices; and heart-rate (BPM) is the result of heart-rate measurements via the IoT device and FO, as well as the data gap between the two devices. In Tables V and VII, both measurement results on BOS have the highest gap of 2 and the lowest gap is 0, while HR has the highest gap of 3 and the lowest gap of 0. Meanwhile, Table VI shows that the highest gap in the measurement results of both BOS and HR is 2 and the lowest is 0.
ID record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 93 | 94 | 1 | 91 | 91 | 0 |
T2 | 14.02 | 93 | 94 | 1 | 91 | 91 | 0 |
T3 | 14.04 | 93 | 94 | 1 | 91 | 91 | 0 |
T4 | 14.06 | 93 | 94 | 1 | 91 | 92 | 1 |
T5 | 14.08 | 93 | 94 | 1 | 91 | 92 | 1 |
T6 | 14.10 | 93 | 94 | 1 | 92 | 92 | 0 |
T7 | 14.12 | 93 | 94 | 1 | 92 | 92 | 0 |
T8 | 14.14 | 93 | 94 | 1 | 92 | 92 | 0 |
T9 | 14.16 | 93 | 94 | 1 | 92 | 92 | 0 |
T10 | 14.18 | 93 | 94 | 1 | 92 | 92 | 0 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 96 | 96 | 0 | 95 | 98 | 3 |
ID record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 93 | 94 | 1 | 91 | 91 | 0 |
T2 | 14.02 | 93 | 94 | 1 | 91 | 91 | 0 |
T3 | 14.04 | 93 | 94 | 1 | 91 | 91 | 0 |
T4 | 14.06 | 93 | 94 | 1 | 91 | 92 | 1 |
T5 | 14.08 | 93 | 94 | 1 | 91 | 92 | 1 |
T6 | 14.10 | 93 | 94 | 1 | 92 | 92 | 0 |
T7 | 14.12 | 93 | 94 | 1 | 92 | 92 | 0 |
T8 | 14.14 | 93 | 94 | 1 | 92 | 92 | 0 |
T9 | 14.16 | 93 | 94 | 1 | 92 | 92 | 0 |
T10 | 14.18 | 93 | 94 | 1 | 92 | 92 | 0 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 96 | 96 | 0 | 95 | 98 | 3 |
ID Record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 92 | 94 | 2 | 90 | 92 | 2 |
T2 | 14.02 | 92 | 94 | 2 | 90 | 92 | 2 |
T3 | 14.04 | 92 | 94 | 2 | 90 | 92 | 2 |
T4 | 14.06 | 92 | 94 | 2 | 90 | 92 | 2 |
T5 | 14.08 | 92 | 94 | 2 | 90 | 92 | 2 |
T6 | 14.10 | 92 | 94 | 2 | 90 | 92 | 2 |
T7 | 14.12 | 92 | 94 | 2 | 90 | 92 | 2 |
T8 | 14.14 | 92 | 94 | 2 | 90 | 92 | 2 |
T9 | 14.16 | 92 | 94 | 2 | 90 | 92 | 2 |
T10 | 14.18 | 92 | 94 | 2 | 90 | 92 | 2 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 92 | 93 | 1 | 92 | 92 | 0 |
ID Record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 92 | 94 | 2 | 90 | 92 | 2 |
T2 | 14.02 | 92 | 94 | 2 | 90 | 92 | 2 |
T3 | 14.04 | 92 | 94 | 2 | 90 | 92 | 2 |
T4 | 14.06 | 92 | 94 | 2 | 90 | 92 | 2 |
T5 | 14.08 | 92 | 94 | 2 | 90 | 92 | 2 |
T6 | 14.10 | 92 | 94 | 2 | 90 | 92 | 2 |
T7 | 14.12 | 92 | 94 | 2 | 90 | 92 | 2 |
T8 | 14.14 | 92 | 94 | 2 | 90 | 92 | 2 |
T9 | 14.16 | 92 | 94 | 2 | 90 | 92 | 2 |
T10 | 14.18 | 92 | 94 | 2 | 90 | 92 | 2 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 92 | 93 | 1 | 92 | 92 | 0 |
ID Record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 91 | 92 | 1 | 89 | 91 | 2 |
T2 | 14.02 | 91 | 92 | 1 | 89 | 91 | 2 |
T3 | 14.04 | 91 | 92 | 1 | 89 | 91 | 2 |
T4 | 14.06 | 91 | 92 | 1 | 89 | 91 | 2 |
T5 | 14.08 | 91 | 92 | 1 | 89 | 91 | 2 |
T6 | 14.10 | 91 | 92 | 1 | 89 | 91 | 2 |
T7 | 14.12 | 91 | 91 | 0 | 89 | 91 | 2 |
T8 | 14.14 | 91 | 91 | 0 | 89 | 91 | 2 |
T9 | 14.16 | 91 | 91 | 0 | 89 | 91 | 2 |
T10 | 14.18 | 91 | 91 | 0 | 89 | 91 | 2 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 92 | 93 | 1 | 90 | 93 | 3 |
ID Record . | . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|---|
Duration . | IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
T1 | 14.00 | 91 | 92 | 1 | 89 | 91 | 2 |
T2 | 14.02 | 91 | 92 | 1 | 89 | 91 | 2 |
T3 | 14.04 | 91 | 92 | 1 | 89 | 91 | 2 |
T4 | 14.06 | 91 | 92 | 1 | 89 | 91 | 2 |
T5 | 14.08 | 91 | 92 | 1 | 89 | 91 | 2 |
T6 | 14.10 | 91 | 92 | 1 | 89 | 91 | 2 |
T7 | 14.12 | 91 | 91 | 0 | 89 | 91 | 2 |
T8 | 14.14 | 91 | 91 | 0 | 89 | 91 | 2 |
T9 | 14.16 | 91 | 91 | 0 | 89 | 91 | 2 |
T10 | 14.18 | 91 | 91 | 0 | 89 | 91 | 2 |
⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ |
T90 | 16.58 | 92 | 93 | 1 | 90 | 93 | 3 |
The next stage is analyzing the accuracy of the device through mean absolute percentage error (MAPE) as a reference for measuring the error level, which is the basis for measuring the accuracy of the device. MAPE is taken based on the average of the gap divided by the average of the FO as the reference parameter, and the result of this division is multiplied by 100% to produce the MAPE percentage. Table VIII shows the average data from the results of measuring the IoT devices, FO, and gaps in BOS and HR. In the results of the lowest average BOS measurement measured through IoT devices, the average value is for age 75 with a BOS percentage of 92.04%, while the highest is for age 55 with a BOS percentage of 93.66%. However, in HR with IoT devices, the lowest measurement is at an average at age 65 with 89.99 BPM, and the highest is at an average at age 55 with 93.40 BPM. Overall, the average results of the IoT device and FO measurements on BOS are 92.60% and 93.58%, respectively. Meanwhile, the average heart-rate measurement results on the IoT device and FO were 91.22 and 92.31 BPM, respectively. The data gap produced by both BOS and HR is 0.98 and 1.09, respectively. Hence, based on the MAPE calculation carried out by dividing the gap and FO and then multiplied by 100%, both BOS and BPM produce an MAPE percentage of 1.04% and 1.18%, respectively. The total MAPE, which is the average between BOS MAPE and HR MAPE, produces a percentage of 1.11%. These results become a reference in measuring accuracy, 100% minus the average of MAPE, and this device produces an accuracy of 98.89%.
Description . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|
IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
Average of age 55 | 93.66 | 94.62 | 0.97 | 93.40 | 94.37 | 0.97 |
Average of age 65 | 92.10 | 93.10 | 1.00 | 89.99 | 91.19 | 1.20 |
Average of age 75 | 92.04 | 93.01 | 0.97 | 90.28 | 91.39 | 1.11 |
Total average | 92.60 | 93.58 | 0.98 | 91.22 | 92.31 | 1.09 |
MAPE | 1.04% | 1.18% | ||||
Average MAPE | 1.11% | |||||
Accuracy (100% − average MAPE) | 98.89% |
Description . | Blood oxygen saturation (%) . | Heart-rate (BPM) . | ||||
---|---|---|---|---|---|---|
IoT device . | FO . | Gap . | IoT device . | FO . | Gap . | |
Average of age 55 | 93.66 | 94.62 | 0.97 | 93.40 | 94.37 | 0.97 |
Average of age 65 | 92.10 | 93.10 | 1.00 | 89.99 | 91.19 | 1.20 |
Average of age 75 | 92.04 | 93.01 | 0.97 | 90.28 | 91.39 | 1.11 |
Total average | 92.60 | 93.58 | 0.98 | 91.22 | 92.31 | 1.09 |
MAPE | 1.04% | 1.18% | ||||
Average MAPE | 1.11% | |||||
Accuracy (100% − average MAPE) | 98.89% |
These results indicate that the measurement accuracy of the MAX30100 sensor can be affected by various factors, including age and health conditions. However, it should be noted that other factors such as sensor position, individual physical condition, or environmental factors can also influence the measurement results. Therefore, careful care in the use of these sensors, as well as proper settings, can help ensure more consistent accuracy in measuring BOS and HR levels across different age groups.
B. Analysis fuzzy rules implemented
The development of fuzzy rules was carried out using the MATLAB application by determining the input variables blood oxygen saturation (BOS) and heart rate (HR) and the output variable “stability status.” Before setting the rules, the membership function is set based on the formulation described in Sec. III C, where Fig. 7 shows the membership function for low, normal, and high conditions.
Meanwhile, the variable “heart-rate” consists of the fuzzy set “low,” “normal,” and “high,” as presented in Fig. 8.
The output variable “stability status” has two fuzzy sets, namely, “not stable” and “stable,” where the membership function is shown in Fig. 9.
The next stage is declaring the rule using the format “If… Else…” with a combination of “low,” “normal,” and “high.” From the declared rules, nine rules are produced, as presented by Table IX.
ID . | Rule . |
---|---|
R1 | If BOS is “low” and HR is “low” then stability status is “not stable” |
R2 | If BOS is “low” and HR is “normal” then stability status is “not stable” |
R3 | If BOS is “low” and HR is “high” then stability status is “not stable” |
R4 | If BOS is “normal” and HR is “low” then stability status is “not stable” |
R5 | If BOS is “normal” and HR is “normal” then stability status is “stable” |
R6 | If BOS is “normal” and HR is “high” then stability status is “not stable” |
R7 | If BOS is “high” and HR is “low” then stability status is “not stable” |
R8 | If BOS is “high” and HR is “normal” then stability status is “not stable” |
R9 | If BOS is “high” and HR is “high” then stability status is “not stable” |
ID . | Rule . |
---|---|
R1 | If BOS is “low” and HR is “low” then stability status is “not stable” |
R2 | If BOS is “low” and HR is “normal” then stability status is “not stable” |
R3 | If BOS is “low” and HR is “high” then stability status is “not stable” |
R4 | If BOS is “normal” and HR is “low” then stability status is “not stable” |
R5 | If BOS is “normal” and HR is “normal” then stability status is “stable” |
R6 | If BOS is “normal” and HR is “high” then stability status is “not stable” |
R7 | If BOS is “high” and HR is “low” then stability status is “not stable” |
R8 | If BOS is “high” and HR is “normal” then stability status is “not stable” |
R9 | If BOS is “high” and HR is “high” then stability status is “not stable” |
The results of implementing the rule are in the form of experiments with various conditions, as presented in Fig. 10, where BOS shows 95.5%, which when referring to Table III is part of the “stable” fuzzy set. Meanwhile, HR shows 80.7 BPM, which indicates a “stable” condition. The output variable “stability status” produces a score of 0.716, which is close to 1, which means that the condition is a “stable” condition.
Figures 11 and 12 show the experimental result with the condition of the variable stability status being “not stable.” In Fig. 11, BOS and HR show “low” conditions, while in Fig. 12, BOS indicates a “normal” condition and HR indicates a “low” condition.
The decision from fuzzy models refers to the American Heart Association standards18 related to heart rate and blood oxygen saturation, which are part of the validation process for the device before applying it to healthcare. The device highly considers the rules established by the Health Insurance Portability and Accountability Act (HIPAA) regarding protected health information by providing one account for one user. Registered user accounts can only be accessed by users with the appropriate access rights, ensuring the confidentiality of user data. The developed system also focuses on data integrity as mandated by HIPAA law. Implementing data integrity in the system includes a number of steps intended to guarantee the security, dependability, and accuracy of medical data. This includes putting strong authentication and access control mechanisms in place to limit access to authorized users and devices, using secure communication protocols and encryption mechanisms to protect data during transmission, and using data validation and verification techniques to guarantee the quality of incoming data. Next is the development of a user interface (UI) display as a communication medium between users and monitoring systems based on fuzzy and IoT. As explained in Sec. III, the user interface was developed using Android Studio IDE, which can be implemented into an Android mobile based system with minimum specifications, as shown in Table X.
ID . | Rule . |
---|---|
Android version | 4.1 (Jelly Bean version) |
Processor | 1.2 GHz multi-core processor |
Random access memory | 1 giga-byte or higher |
Internal storage | 500 MB |
ID . | Rule . |
---|---|
Android version | 4.1 (Jelly Bean version) |
Processor | 1.2 GHz multi-core processor |
Random access memory | 1 giga-byte or higher |
Internal storage | 500 MB |
The results of the implementation of UI development are in the form of a registration menu and monitoring menu, as shown in Fig. 13, where on the left side is the patient registration menu, which will be monitored by filling in personal data such as name, age, and domicile. Meanwhile, on the right side is the monitoring menu, which consists of detailed checking times including date and time, patient name, age, real-time condition of BOS and HR, and the “stability status” condition, which shows whether the patient’s condition is “stable” or “not stable.”
After developing a UI that provides ease in monitoring patient conditions, the next stage is to carry out experiments with 25 patients with various conditions by reading the results of the stability status output. The aim of this experiment is to find out the level of accuracy of the fuzzy rules implemented in the system. The formulation used compares the results from the system with the expected value. Table XI shows the results of the experiment, which is equipped with the expected value as a reference value and the result value as the output produced by the monitoring system.
Patient ID . | BOS (in %) . | HR (in BPM) . | Expected value . | Result value . | Decision . |
---|---|---|---|---|---|
P01 | 95.3 | 88.2 | Stable | Stable | Correct |
P02 | 96.2 | 90.5 | Stable | Stable | Correct |
P03 | 94.8 | 92.7 | Stable | Stable | Correct |
P04 | 89.8 | 70.1 | Not stable | Not stable | Correct |
P05 | 95.7 | 89.3 | Stable | Stable | Correct |
P06 | 97.8 | 91.2 | Stable | Stable | Correct |
P07 | 95.2 | 106.3 | Not stable | Not stable | Correct |
P08 | 72.5 | 88.4 | Not stable | Not stable | Correct |
P09 | 80.2 | 84.2 | Not stable | Not stable | Correct |
P10 | 72.8 | 88.2 | Not stable | Not stable | Correct |
P11 | 91.1 | 75.8 | Stable | Not stable | Incorrect |
P12 | 94.3 | 93.1 | Stable | Stable | Correct |
P13 | 91.7 | 82.5 | Stable | Stable | Correct |
P14 | 98.1 | 90.6 | Stable | Stable | Correct |
P15 | 81.2 | 65.2 | Not stable | Not stable | Correct |
P16 | 87.8 | 70.2 | Not stable | Not stable | Correct |
P17 | 83.6 | 80.6 | Not stable | Not stable | Correct |
P18 | 97.7 | 83.2 | Stable | Stable | Correct |
P19 | 95.5 | 90.1 | Stable | Stable | Correct |
P20 | 87.8 | 96.8 | Not stable | Not stable | Correct |
P21 | 74.2 | 92.5 | Not stable | Not stable | Correct |
P22 | 70.8 | 95.1 | Not stable | Not stable | Correct |
P23 | 97.2 | 92.5 | Stable | Stable | Correct |
P24 | 88.1 | 79.5 | Not stable | Not stable | Correct |
P25 | 95.5 | 90.6 | Stable | Stable | Correct |
Patient ID . | BOS (in %) . | HR (in BPM) . | Expected value . | Result value . | Decision . |
---|---|---|---|---|---|
P01 | 95.3 | 88.2 | Stable | Stable | Correct |
P02 | 96.2 | 90.5 | Stable | Stable | Correct |
P03 | 94.8 | 92.7 | Stable | Stable | Correct |
P04 | 89.8 | 70.1 | Not stable | Not stable | Correct |
P05 | 95.7 | 89.3 | Stable | Stable | Correct |
P06 | 97.8 | 91.2 | Stable | Stable | Correct |
P07 | 95.2 | 106.3 | Not stable | Not stable | Correct |
P08 | 72.5 | 88.4 | Not stable | Not stable | Correct |
P09 | 80.2 | 84.2 | Not stable | Not stable | Correct |
P10 | 72.8 | 88.2 | Not stable | Not stable | Correct |
P11 | 91.1 | 75.8 | Stable | Not stable | Incorrect |
P12 | 94.3 | 93.1 | Stable | Stable | Correct |
P13 | 91.7 | 82.5 | Stable | Stable | Correct |
P14 | 98.1 | 90.6 | Stable | Stable | Correct |
P15 | 81.2 | 65.2 | Not stable | Not stable | Correct |
P16 | 87.8 | 70.2 | Not stable | Not stable | Correct |
P17 | 83.6 | 80.6 | Not stable | Not stable | Correct |
P18 | 97.7 | 83.2 | Stable | Stable | Correct |
P19 | 95.5 | 90.1 | Stable | Stable | Correct |
P20 | 87.8 | 96.8 | Not stable | Not stable | Correct |
P21 | 74.2 | 92.5 | Not stable | Not stable | Correct |
P22 | 70.8 | 95.1 | Not stable | Not stable | Correct |
P23 | 97.2 | 92.5 | Stable | Stable | Correct |
P24 | 88.1 | 79.5 | Not stable | Not stable | Correct |
P25 | 95.5 | 90.6 | Stable | Stable | Correct |
In Table XI, 25 experimental results were obtained with a result value that had a “correct” value of 24 data and an “incorrect” value of 1 data. If the incorrect data are analyzed, they have a value that is almost close to the “low” condition threshold, so the monitoring system detects it as a “not stable” condition, where the expected value should be “stable.” In this experiment, a comparative calculation was carried out between the result value and the expected value, where 24 data were divided by 25 data, resulting in an accuracy value of 96%.
C. Analysis of cost effectiveness
One of the goals in developing a monitoring system for elderly patients is to increase cost-effectiveness in real-time monitoring of patients. The built-in fuzzy and IoT-based patient monitoring system devices do not mean to replace doctors or nurses but can help the hospital, both doctors and nurses, monitor patient conditions in real-time. Cost analysis is carried out by calculating three variables: material costs, electricity costs, and maintenance costs, as described in Table XII, considering the conditions in Indonesia. Variable material consists of MAX30100, ESP32, and supporting components. Meanwhile, electricity refers to Indonesia’s electricity tariff in 2023 [pln.go.id] with kilowatt per hour (kWh) units of 1699 kWH. The maximum power consumption of the devices used is 25 W, so if the tariff is calculated, it needs to be converted into units of watts per hour (Wh), to 1.699 Wh. Monitoring system devices are assumed to work for 24 h, so the formulation for calculating daily electricity costs is 25 W multiplied by tariff 1.699 Wh, which is then multiplied by duration of 24 h, resulting in an IDR of 1019.4. In a month with a total of 30 days, the tariff is multiplied by 30 days to produce a total electricity cost for one month (30 days), which is IDR 30582. In variable maintenance, the assumption is IDR 10 000 per day, which if calculated for one month (30 days) produces maintenance costs of IDR 100 000 per month. From the results of the cost analysis, overall costs for the first month amounted to IDR 975 580 or USD 65.03. However, for the following month, the fee charged does not use variable material, which only calculates variable electricity (monthly) and maintenance.
Variable . | Description . | Budget (in Rupiah) . | Budget (in USD) 1 USD = 15 000 . |
---|---|---|---|
Materials | MAX30100 | 275 000 | 18.33 |
ESP32 | 70 000 | 4.7 | |
Box and supporting component | 500 000 | 33.3 | |
Electricity (daily) | Total power consumption: 25 W | 1019.4 | 0.07 |
25 W × tariff IDR 1.699 per Wh × 24 h | |||
Electricity (monthly) | ID 1019.4 × 30 Days | 30 582 | 2.03 |
Maintenance | 10 000 per day × 30 days | 100 000 | 6.67 |
Total [material + electricity (monthly) + maintenance] | 975 580 | 65.03 |
Variable . | Description . | Budget (in Rupiah) . | Budget (in USD) 1 USD = 15 000 . |
---|---|---|---|
Materials | MAX30100 | 275 000 | 18.33 |
ESP32 | 70 000 | 4.7 | |
Box and supporting component | 500 000 | 33.3 | |
Electricity (daily) | Total power consumption: 25 W | 1019.4 | 0.07 |
25 W × tariff IDR 1.699 per Wh × 24 h | |||
Electricity (monthly) | ID 1019.4 × 30 Days | 30 582 | 2.03 |
Maintenance | 10 000 per day × 30 days | 100 000 | 6.67 |
Total [material + electricity (monthly) + maintenance] | 975 580 | 65.03 |
D. Limitations of the fuzzy rules technique
Building an elderly health monitoring system using fuzzy rule techniques and the Internet of Things (IoT) is an interesting and meaningful initiative that aims to improve the quality of health services for the elderly population. However, as with any technological endeavor, this approach also faces several challenges that need to be overcome for effective implementation.
First, the integration of fuzzy rule techniques and IoT enables more comprehensive and real-time health monitoring. Through IoT devices such as body temperature sensors, heart rate detectors, or physical activity monitoring devices, health data can be continuously collected. Next, fuzzy rule techniques are used to analyze the data and produce more contextual information about a person’s health condition. However, the challenge lies in the system’s ability to adapt to complex and diverse individual health conditions, which may hinder the system’s flexibility in providing tailored solutions. This is also reinforced by research27,28 that it is necessary to pay attention to the differences of each individual included in a category, where not all can be equated by ignoring variability. References 29 and 30 added that grouping based on categories in using fuzzy is highly recommended in order to get accurate results.
Second, in terms of interpretation of results, the use of fuzzy rule techniques can produce output that is complex and difficult to understand, especially for non-technical stakeholders or non-experts in the health sector. Therefore, effective communication regarding the resulting health information is very important. Developing an intuitive user interface and clear explanation strategies for monitoring results can help overcome interpretation difficulties that may arise. The results of similar research in Refs. 31 and 32 also concluded that the results obtained using fuzzy must be explained with additional references to avoid errors in reading the research results.
To overcome these challenges, further research and development is needed to improve the system’s adaptability and clarity. Approaches that combine fuzzy rule techniques with other technologies such as machine learning or hybrid models can be promising solutions to increase flexibility and interpretability of results. Therefore, the implementation of an integrated elderly health monitoring system has great potential in improving the quality of life and health services for the elderly population.
V. CONCLUSION
In this study, an elderly health monitoring system based on fuzzy rules and IoT was constructed using blood oxygen saturation (BOS) and heart rate (HR) variables. The experimental results of the monitoring device on BOS and HR measurements show an accuracy rate of 98.89% based on the results of a comparative analysis with medical tools. Meanwhile, patient condition prediction testing carried out on 25 elderly patients with various conditions of stability status, whether “stable” or “not stable,” generated an accuracy level of 96%. In terms of cost effectiveness, it shows that the device built is a low-cost system with less power consumption. Hence, the elderly health monitoring system can provide ease of use, accurate data reading, and a low cost. As a suggestion for future development, data obtained from sensor readings of patient conditions based on BOS and HR variables can be used as a reference in developing monitoring system devices that are integrated into deep learning-based learning models.
ACKNOWLEDGMENTS
The authors gratefully thank their respective institutions for their strong support in this study.
This research received no external funding.
AUTHOR DECLARATIONS
Conflict of Interest
The authors have no conflicts to disclose.
Author Contributions
All authors listed have significantly contributed to the development and the writing of this article.
Indra Griha Tofik Isa: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal). Muhammad Imam Ammarullah: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal). Adhan Efendi: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal). Yohanes Sinung Nugroho: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal). Hamid Nasrullah: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal). Meli Puspita Sari: Conceptualization (equal); Data curation (equal); Formal analysis (equal); Funding acquisition (equal); Investigation (equal); Methodology (equal); Project administration (equal); Resources (equal); Software (equal); Supervision (equal); Validation (equal); Visualization (equal); Writing – original draft (equal); Writing – review & editing (equal).
DATA AVAILABILITY
All relevant data are within the paper.