Internet of Things in Healthcare: Architecture, Applications, Challenges, and Solutions

Healthcare, the largest global industry, is undergoing signiﬁcant transformations with the genesis of a new technology known as the Internet of Things (IoT). Many healthcare leaders are investing more money for transforming their services to harness the beneﬁts provided by IoT, thereby paving the way for the Internet of Medical Things (IoMT), an extensive collection of medical sensors and associated infrastructure. IoMT has many beneﬁts like providing remote healthcare by monitoring health vitals of patients at a distant place, providing healthcare services to elderly people, and monitoring a large group of people in a region or country for detection and prevention of epidemics. This paper provides a review of IoT in the healthcare domain by ﬁrst describing the enabling technologies for delivering smart healthcare, followed by some of the key applications of IoT in healthcare. Next, a fog-based architecture consisting of three layers for IoT-based healthcare applications is proposed. Finally, we focus on some of the open challenges of IoT in healthcare, like fault tolerance, interoperability, latency, energy efﬁciency, and availability. Existing solutions for these challenges are also discussed.


INTRODUCTION
The Internet of Things (IoT) is a modern technology encompassing smart objects, which contain physical components like sensors and actuators for sensing the internal state of the object or the external environment and perform some action based on the collected data. The data generated by sensors in the smart objects can be further processed, and decisions can be made accordingly. These smart objects also contain software embedded in them to control different parts and events generated in those objects. According to a report published by statista [1], projects also had increased. Around 60% of respondents were using sensors to monitor people by reading blood pressure, sugar levels, etc., for providing appropriate health aids. The focus is shifting towards wellbeing and preventive care. Due to the adoption of IoT, people are living longer, and it also enabled selfreliance over extended periods, and the emphasis now moved towards chronic care. IoT is a major contributor in transforming healthcare into smart healthcare. Smart healthcare requires the following: i) Treatment should be delivered to the appropriate person at the proper time. ii) It allows clinicians to diagnose people and treat their illnesses with accuracy. iii) Allows all stakeholders to exchange information and communicate efficiently. iv) Availability of data in a readily accessible place, v) Notify patients appropriately to involve them in their treatment process. vi) Make healthcare reach remote locations due to its cost-effective models. vii) Improves efficiency by reducing waste and operational costs [4].
The healthcare market functions through five segments: i) Hospitals, ii) Pharmaceutical iii) Diagnostics, iv) Medical equipment and supplies, v) Telemedicine [5]. The healthcare industry size is expected to touch US$ 372 billion by 2022. About 50% of spending on in-patient beds is for lifestylerelated diseases in urban areas. Most lifestyle-related diseases are caused by obesity, alcohol consumption, poor diet, high cholesterol, and high blood pressure. IoT in telemedicine is a sector that is rapidly growing due to advances in Internet and telecommunication related technologies. Telemedicine can bridge the gap between rural and urban healthcare. It provides low consultation costs, remote diagnostic facilities, and can reach the remotest of areas. Another application of IoT is home healthcare. The developments in Information Technology (IT) and integration with medical devices made it possible to provide high-quality healthcare at home at low prices. Customers can nearly save 20-50% of the costs. IoT encompasses many technologies, among which one is mobile computing. In healthcare, due to advances in mobile technologies like 4G and 5G, customers can avail of the facilities at affordable rates. As per PwC's 2017 survey, 64% of the respondent healthcare Indian organizations said that they were investing in IoT [6]. Due to the profound impact of IoT on the healthcare sector and its applications, the major contribution of this paper is in reviewing the following aspects with respect to IoT in healthcare: i. Enabling technologies for smart healthcare ii. IoT in healthcare applications iii. Minimal and straightforward architecture for IoT-based healthcare applications iv. Challenges and existing solutions The remainder of this paper is structured as follows. Section 2 investigates enabling technologies for smart healthcare. Section 3 examines the state-of-the-art of IoT in healthcare applications. Section 4 explores existing architectures and proposes a new architecture for IoT healthcare applications. Section 5 concludes the paper, by summarizing the key findings and reiterating the areas where further research is required.

ENABLING TECHNOLOGIES FOR SMART HEALTHCARE
The standard and widely used technologies in most of the IoT healthcare applications are sensors for sensing the data, cloud computing for long-term data processing, fog computing for short-term data processing, and wireless body area networks for providing communication between the sensors which are on or near the patient and the communication or data processing devices like routers and gateways. In this section, we will look at each one of these technologies.

Sensors
The worldwide network of interconnected medical devices and applications is known as the Internet of Medical Things (IoMT). The core components in IoMT are sensors. IoMT has applications in both clinical and non-clinical scenarios.
In a clinical context, IoMT is being used to monitor patient vitals such as temperature, ECG, blood pressure, blood oxygen saturation, etc. This allows for continuous monitoring of health vitals related to patients and helps physicians with dashboards to visualize the data. Sensors can be deployed and monitored remotely, thereby allowing for remote healthcare services. In a non-clinical context, IoMT can be used for asset tracking, tracking physician's location, compliance with hygiene standards, locating ambulances during emergencies, and operational efficiency by tracking assets, people inside the hospital, and providing real-time information for logistics. Sensors/things in healthcare can be classified broadly into two types: i) Clinical and ii) Non-clinical, as shown in Figure 1. The clinical sensors can be further classified into wearable sensors and implantable sensors. The non-clinical sensors can be further classified as asset/equipment tracking sensors, location-based sensors, and sensors for legacy devices. In this paper, we focus on wearable sensors as the real value of IoT in healthcare is leveraged by using them.

Wearable Sensors
Wearables or wearable devices are smart electronic devices which contains different sensors that can be used to monitor health vitals. The sensors that are used in wearables to collect data are known as wearable sensors. These wearables can be worn on the body or incorporated into clothing. Some of the examples for wearables are Fitbit, Apple Watch, and Samsung Galaxy Gear. The uses of wearables are manifold. In healthcare, wearables can be used mainly for activity monitoring and health monitoring, where several health vitals of a patient are monitored, and the data is transmitted to remote physicians or doctors for making appropriate decisions. Some of the wearable sensors used for tracking health vitals are: i) Pulse sensors, ii) Respiratory rate sensors, iii) Body temperature sensors, iv) Blood pressure sensors, v) Pulse oximetry sensors [7]. Pulse sensors read the pulse of a human being, which can be used to monitor emergency conditions like vasovagal syncope, cardiac arrest, and pulmonary embolisms. Pulse can be read from the wrist, earlobe, chest, fingertips, and more. computer systems science & engineering Earlobe and fingertip readings are highly accurate but are not comfortable to wear. Wrist sensors are generally considered as a long-term wearable system. Some of the commercially available fitness-related wearable devices that support pulse monitoring functionality are HRM-Tri by Garmin, H7 by Polar, FitBit PurePulse, and TomTom Spark Cardio. But, all the manufacturers of these devices announced that they are not suitable for detecting health conditions. Other sensors that can be used to measure the pulse are pressure sensors, photoplethysmographic (PPG) sensor, ultrasonic sensor, and radio frequency (RF) sensor. Based on the research done by several researchers, it is recommended to use PPG sensor for measuring the pulse. Several existing algorithms can reduce the impact of noise on the pulse signal quality [7].
Respiratory rate sensors read the respiratory rate or the number of breaths a patient takes per minute, which can aid in identifying critical conditions such as apnea episodes, asthma attacks, tuberculosis, hyperventilation, lung cancer, and more. Several sensors were developed for measuring respiratory rate such as a nasal sensor based on a thermistor, ECG Derived Respiration (EDR), microphone, fiber optic sensor, pressure sensor, stretch sensor, sensor made from ferroelectric polymer transducer. All these sensors suffer from noise introduced through motion. For compliance with WBANs, the stretch sensors are strongly recommended [7].
Body temperature sensors are used to read the temperature of a human body, which can be used to detect fevers, heatstroke, hypothermia, and more. Most of the current research works show that thermistor-based sensors are commonly used. These sensors can read a suitable range of temperatures for monitoring the temperature of the human body, with acceptable levels of error. Using thermistor-based sensors for developing future healthcare monitoring systems is strongly recommended [7]. The accuracy of a temperature sensor depends on how close it is placed concerning the human body. Past research works considered sensors that were printed on flexible polymers and looked like a tattoo; in some other works, embedded the sensor into the texture of the cloth fabric. Among these sensor implantable in the clothes is generally preferred over the tattoo-like sensor due to the inconvenience of adhesive coating on the backside of the polymer.
Blood pressure sensors are used to read the commonly and frequently monitored health vital, the Blood Pressure (BP). The measurement of BP can lead to detecting hypertension, which leads to cardiovascular diseases like a heart attack. Designing a wearable sensor for reading BP continuously and non-intrusively is a significant challenge. Based on several research works, an accurate estimate for BP is Pulse Transit Time (PTT), which is the time taken for the pulse at the heart and pulse at another location in the body like the ear lobe or wrist. Some of the previous works tried to measure PTT between ear and wrist, palm, and fingertip. PTT can be determined by placing an ECG sensor on the chest and a PPG sensor on the ear, wrist, or another location. PTT measured between the chest and wrist was found to be accurate so far under ideal conditions. The system for measuring PTT between the chest and other locations is found to be obstructive. So, a system for measuring the readings between ear lobe and wrist was designed, and the results were quite satisfactory. As there are no accurate BP measurement systems for continuous monitoring, it is suggested to develop a system that contains two PPG sensors that can be placed at different positions on the arm [7]. Pulse oximetry sensors read the level of oxygen in the blood, which is another vital parameter that can help in diagnosing conditions such as hypoxia. These sensors measure blood oxygen by retrieving PPG signals. The PPG sensor generally contains two LEDs, one red and another infrared, which are focused on the skin. Most of the light is absorbed by the hemoglobin in the blood. The oxygen in the blood is calculated by the photodiodes by measuring the light,which is not absorbed. Based on how the photodiodes are aligned, PPG sensors are divided into two types: 1) Absorbance-mode and 2) Reflectivemode PPG sensors. Generally, pulse oximeters are placed on the finger as a clip. There are two techniques that can be used to reduce power consumption. One is "minimum SNR tracking," which calculates Signal-to-Noise-Ratio (SNR) and adjusts the LEDs on state appropriately. The second technique is "PLL tracking", which estimates the likely occurrence of peaks and troughs in the PPG signal. These two techniques give a 6x power reduction with a marginal 2% error. A complementary pulse oximeter that can be placed inside the ear to read blood oxygen levels was developed, which acts as an improvement over the fingertip oximeter in certain scenarios. A wearable wrist sensor is also designed for measuring blood oxygen, which is more preferred by the people. Additionally, it can also measure pulse and temperature as well. It is suggested that the focus should be on making pulse oximetry sensors more wearable [7].
Data collected from the sensors is primarily processed by the devices in fog layer, which provides support for emergency care and is then stored in the cloud for long-term data storage or further processing. In the next section, we will look at cloud computing as an enabling technology.

Cloud Computing
Cloud computing is a new computing model that provides an autonomic pool of configurable resources that can be accessed from anywhere and anytime through the Internet. The usage of resources is monitored and is billed on a pay-per-use basis. Cloud computing provides various types of services such as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), and Database-as-a-Service (DBaaS). Through cloud computing, small organizations that cannot make significant capital investments can purchase virtualized resources like computing, networking, storage, and other necessary elements necessary for the operational proficiency of their business. Cloud can also be deployed in various modes like private cloud, public cloud, community cloud, and hybrid cloud. Further advances in cloud concepts and technologies led to new types of clouds like multi-clouds and federated clouds. Cloud computing offers significant benefits to business organizations such as rapid elasticity, self-healing and selfconfiguration, ubiquitous access, and others. Cloud computing is one of the enabling technologies for IoT. It is employed at the processing layer, also called the middleware layer in the five-layer IoT architecture [8], as shown in Figure 2. In IoMT, the multitude of sensors generates a huge amount of data that can be stored and analyzed with the help of cloud infrastructure. Cloud computing provides nearly infinite silos of resources at data centers, using which the healthcare stakeholders can gain helpful insights from the data which is analyzed and stored for later use. The physicians can monitor a patient's health, whose information is collected through various sensors, and is stored in the cloud. Using this data, physicians might suggest appropriate medication and or advice manually or let the application do it automatically. Although the cloud provides many benefits, one challenge with it is latency. The data collected by the sensors have to be forwarded through the Internet and then reach the cloud for data analysis and again, the analyzed data must be sent through Internet and then reach physician devices. This process takes a significant amount of time, which might not be feasible for emergency healthcare services. One way to reduce this latency is by using fog computing and/or edge computing. In the next section, we will look at fog computing and its use in IoT healthcare applications.

Fog Computing
Fog computing allows data processing to be moved away from the cloud towards the sensors. This reduces latency and will enable physicians and clinicians to provide emergency health care. Originally coined by Cisco, fog computing makes sensors and network gateways or local gateways to store and perform preliminary data processing. A fog node provides monitoring, preprocessing, storage, and security facilities. The monitoring facility allows the node to monitor resources and services being offered. The preprocessing functionality allows the fog node to perform basic data analysis, which might be critical to providing emergency healthcare. The storage element allows the data to be replicated or segregated, and the security feature provides security services like data confidentiality, data integrity, and data privacy. Due to its inherent advantages, fog computing can be employed at the perception layer and networking layer of the IoTs layered architecture. In fact, fog computing is a standard that defines how edge computing should work, and it facilitates the operations of computing, storage, and networking services between end devices and cloud computing data centers. Further, one can use fog computing as a jumping-off point for edge computing. In essence, fog is the standard, and the edge is the concept. We can use this combination effectively in IoT. computer systems science & engineering V. S. NARESH ET AL. As sensors sense data from the patient, it needs to be transmitted to the nearest data gathering or processing node. One of the technologies that are useful for transferring data from the sensors to the closest processing node is Wireless Body Area Networks (WBANs). We will look at this in the next section.

Wireless Body Area Networks (WBANs)
The technology that serves as the heart of communication at the transport layer in IoT architecture is probably WBAN. A WBAN node is an independent device that has communication capability. Based on functionality, implementation, and role in a network, WBAN nodes are classified into three groups [9]. Nodes in the functionality group are Personal Device (PD), sensor, and actuator. The responsibility of a personal device is to gather data from sensors. After processing the data, the unique device can communicate with other devices or persons through an external gateway or by activating an actuator. A personal device can also be called as body gateway, sink, or a Body Control Unit (BCU) in some cases. Sensors read specific parameters in a human body internally or externally and forwards the data to the personal device. Actuators interact with human beings based on the data from sensors or the personal device. For example, after reading the data from sensors, processing it in a personal device, a physician might send a message informing the type of medication for a patient by activating a display connected to an actuator. Based on the implementation, the different types of nodes are implant node, body surface node, and external node. Based on the role of a node in the network, the different types of nodes are coordinators, end nodes, relays. The coordinator node acts as a gateway between the WBAN and Internet, other WBANs, or serves as a center of trust. The end nodes are typically sensors without any communication capability. The relay nodes are generally used to forward messages between sensors and the gateway if they are far apart.
All these enabling technologies can be used to serve several patients in different settings. IoT has many applications in healthcare. In the next section, some of the applications of IoT in healthcare are discussed.

IOT IN HEALTHCARE APPLICATIONS
In this section, we present a state-of-the-art on different applications of IoT and related technologies in the healthcare domain by studying various research articles in journals and conferences published/indexed in IEEE Xplore, Springer Link, ScienceDirect, and public repositories like Google Scholar. Many applications were identified, as shown in Figure 3. Applications having similar scope and themes are grouped into categories, and they are as follows: i) Real-time monitoring and alerts generation, ii) Telemedicine, iii) Chronic disease detection and prevention, iv) Home and elderly healthcare. Each of these healthcare application categories and the role of IoT and associated technologies is discussed in detail below.

Real-time monitoring and alerts generation
Continuous monitoring of various health vitals like temperature, heartbeat, blood oxygen continuously plays a significant role in providing real-time healthcare services. Through IoT, sensors can be deployed on a human body, and different parameters can be measured. This data can be analyzed for suggesting the necessary medication to the patients in emergencies. Shanin et al. [10] developed an e-health system for continuous monitoring of ECG, temperature, foot pressure, and heart rate. This system is flexible and needs low power. GPS location of the patients is tracked for providing emergency healthcare, and RFID is used for identifying individual patients. Arduino Uno was used as the Microcontroller Unit (MCU) and the Thingspeak as the middleware for performing data analysis. Swaroop et al. [11] designed a real-time health monitoring system using Raspberry Pi 3 and sensors like the DS18B20 digital thermometer sensor and Sunroom blood pressure/heart rate sensor. Health vitals like temperature and blood pressure were measured, and the data is transmitted through multiple modes like Bluetooth Low Energy (BLE), GSM, and WiFi. It was observed that BLE offers less latency, and WiFi has a latency of nearly 5 mins as there are multiple stages for the data to be routed. Rathore et al. [12] proposed a realtime emergency response system that employs Apache Spark and Hadoop ecosystem for processing massive volumes of data generated by sensors to reduce the latency. The proposed system was tested against three UCI datasets, and the results indicate that it can scale successfully to the requirements of a city or a nation.

Telemedicine
Telemedicine refers to providing healthcare to people remotely by utilizing the Internet and Communications Technology (ICT) facilities. This significantly reduces the operational costs incurred by the medical personnel and improves the patient's health efficiency. Zouka and Hosni [13] proposed a smart healthcare monitoring system that uses neural networks and fuzzy systems for analyzing the data collected by sensors like temperature, ECG, heartbeat, pressure, and pulse oximeter. The data collected by the sensors are forwarded through the GSM module and is processed by Azure IoT Hub and the Fuzzybased Inference System (FBIS). This system allows doctors to provide emergency healthcare using a remote health app and M2M patient monitoring system. Rohokale et al. [14] proposed a healthcare monitoring system for rural people by monitoring vitals like blood pressure, sugar levels, and abnormal cellular growth. The patients wear an RFID tag for identifications. When there is any abnormality in health parameters, alerts are sent to a remote healthcare center, and staff will take necessary actions. The proposed system was simulated using NS2, and significant enhancement in through was observed. Mohammed et al. [15] developed a remote monitoring system by leveraging web services and cloud computing. An Android app called ECG Android App was developed, which provides a visualization of ECG readings collected from patients. The data gathered is sent to the Microsoft Azure cloud service for further processing. Authors suggested a hybrid cloud, where patients' sensitive data is stored in a private cloud, and other general information is stored in the public cloud.

Chronic disease detection and prevention
Many people in the world suffer from chronic diseases like cancer, diabetes, asthma, obesity, etc. These diseases lead to depression, which is one of the most common complications of chronic illness. Sundhara Kumar et al.
[16] developed a health monitoring system for patients suffering from autism. This system reads EEG waveforms using data collected through neurological sensors automatically, and notifications are sent to caretakers in case of any abnormal readings are detected. Notifications in case of emergency are sent through email to doctors who monitor the patients remotely. Onasanya and Elshakankiri [17] proposed different types of architectures and frameworks for supporting IoT based healthcare solutions for cancer patients. The focus is on cloud services, which uses big data technologies for data analysis, and on the Wireless Sensor Networks (WSN), which is a communication technology that supports sensors at a large scale. Security and operational challenges concerning IoT healthcare systems are also discussed. Sood and Mahajan [18] proposed a healthcare system utilizing both IoT and fog computing for detecting the chikungunya outbreak. Data from sensors is collected by a fog node and is analyzed by fuzzy c-means to detect possible infection of users and generates alerts immediately for users and doctors. The patient's general and health-related sensitive data is stored in the cloud whose security is of utmost importance. Further, social network analysis is utilized to detect outbreaks across a region. Alerts are generated and notified to government and healthcare agencies in case any chikungunya outbreak is detected, which helps to improve the quality of service and curb the disease at the initial stage itself.

Home and elderly healthcare
IoT and related technologies can be deployed at homes for continuous monitoring of elderly patients who cannot move quickly and take more time to reach hospitals for regular or emergency healthcare services. Abdelgawad et al. [19] proposed a system for health monitoring systems for active and assisted living, where different types of sensors collect data and transfer it to the cloud for data analysis. A prototype was created to demonstrate their system, which contains six types of sensors, BLE enabled indoor positioning module, sensor interface circuits, Raspberry Pi 2 as a microcontroller, WiFi transceivers, and cloud server. The efficiency of the prototype is measured by conducting a performance evaluation. Yang et al. [20] proposed a personal healthcare system for wheelchair users who are alone at home. This system computer systems science & engineering leverages IoT and Wireless Body Sensor Networks (WBSNs) for providing efficient healthcare to wheelchair patients. Sensors for measuring heart rate, ECG, pressure, environment sensing nodes, and actuators are deployed around and on the patient for real-time monitoring of health. The gateway in WBAN was a mobile phone, and the communication protocols used were Zigbee and Bluetooth for gathering data from the patient and the environment. This system also addresses the mobility of the patient in a wheelchair in the sense environment sensors can track the wheelchair while it is moving from one location to another location. Yang et al. [21] presented a new method for monitoring the health vitals of patients using IoT. The patients were equipped with multiple ECG sensors, which were used to monitor the physiological parameters of a patient. The sensors collect data and transmit that to the cloud through a wireless channel. The IoT cloud consists of powerful servers that can process and analyze the data to extract meaningful information.
A web-based Graphical User Interface (GUI) was provided for visualizing the information available in the cloud. IoT healthcare applications, as described above, will have different requirements. Some applications may have relaxed deadlines, while others may have stringent deadlines. The architecture chosen will directly affect the application performance. Some of the already existing architectures and new proposed architecture are discussed in the next section.

ARCHITECTURE FOR IOT-HEALTHCARE APPLICATIONS
Certain healthcare applications need the immediate attention of medical personnel like in diseases related to the heart or while providing healthcare for patients met with life-threatening accidents. Such situations need a real-time and critical response with significantly less latency. In a general cloud environment, the latency for data to be transmitted to the cloud, processing in the cloud, and getting a response involves significant latency, which is not acceptable. To overcome or limit the latency issues, we can use fog computing, which brings the computing and storage resources to the edge of the network, i.e., closer to the sensors. Most of the existing healthcare solutions use a cloud environment for decision making. In recent years, more and more solutions being proposed are considering fog computing for time-critical healthcare applications. Some of the existing architectural solutions are discussed here. Cerina et al. [22] proposed a multi-level architecture leveraging fog computing and context awareness. The authors used the Field-Programmable Gate Array (FPGA) as a fog node. The architecture consists of four layers, namely, i) interaction layer, ii) mesh layer, iii) fog layer, and iv) cloud layer. The authors suggested the removal of the mesh layer in the case of time-critical healthcare applications. Nandyala et al. [23] proposed a 4-tier architecture for real-time ubiquitous healthcare monitoring. The four tiers are. Namely, i) smart devices tier, ii) fog tier, iii) core tier, and iv) cloud tier. This architecture was heavily influenced by the CISCO's fog architecture. The task of the core tier is to provide security services. Verma et al. [24] proposed a five-layer fog-based architecture for remote patient health monitoring. The layers are i) data acquisition layer, ii) event classification layer, iii) information mining layer, iv) decision making layer, and v) cloud storage layer. The event classification layer was implemented using a smart gateway at the fog layer. Azimi et al. [25] proposed a hierarchical fog assisted computing architecture that consists of three layers, namely, i) sensor layer, fog layer, and cloud layer for IoT-based health monitoring systems. The authors extended and implemented Microsoft's MAPE-K computation model into their hierarchical architecture. Some of the data analytics tasks are offloaded onto fog nodes.
Kumar [26] proposed architecture for healthcare applications using IoT. The architecture consists of different sensors for measuring health vitals, which transmit the data to the Intel Qurie hardware platform. The author didn't explicitly mention any layers and whether the computing is performed at the fog or cloud. Plageras et al. [27] proposed an IoT-based surveillance system for ubiquitous healthcare monitoring. The architecture proposed was cloud-based, and hence there is a problem of latency for time-critical applications. The authors suggested a mesh topology for connectivity between sensors. Villalba et al. [28] analyzed the security of IoT architecture for healthcare. The proposed architecture consists of a cloud where the computing is performed, and no fog devices were present. The security analysis considered FitBit Flex as the health vital measuring device. Mahmud et al. [29] focused on the interoperability between the services provided by the cloud and fog in the healthcare scenario. The proposed architecture contains one or more clusters at the fog layer. The resources like compute, storage, etc. can be virtualized in the fog clusters, like done in the cloud.
Debauche et al. [40] presented an IoT based health monitoring system that employs fog, which contains a smart gateway for storing data locally and cloud for processing the data and storing it. Their architecture consists of three layers, namely, i) sensors layer, ii) fog layer, and iii) cloud layer. A smart gateway is placed at the fog layer, which performs data acquisition and visualization. Paul et al. [41] proposed a fog based solution for monitoring the health of patients suffering from chronic diseases. The authors proposed a three-layer architecture that comprises of i) sensors tier, ii) fog computing tier, and iii) cloud computing tier. The fog computing tier performs data analysis and data aggregation, which is quite computation-intensive and adds to the latency. The security of data and reliability of data are not properly addressed. Awaisi et al. [42] presented a fog based architecture for healthcare applications. Their architecture consists of three layers, namely, i) IoT devices network, ii) fog layer, and iii) cloud layer. An identity management solution has also been provided for user authentication, which mitigates some of the security breaches. Abdelmoneemet al. [43] proposed a cloud-fog based architecture that supports multiple types of healthcare applications. Their proposed architecture consists of four layers, namely, i) things layer, ii) sink layer, iii) fog layer, and iv) cloud layer. The fog layer contains complex functionality, and the sink layer adds to the latency of data.
Here we propose a minimal and simple fog-based architecture for IoT-based healthcare applications. The proposed architecture addresses the latency issues present in cloud-based solutions. The architecture contains three layers, as shown in Figure 4, namely, i) sensing layer, ii) fog layer, and iii) cloud layer. This architecture supports both time-critical healthcare applications like applications that require an emergency response, mobile ambulance healthcare applications as well as applications that are not hard on deadlines. The sensing layer contains different sensors for monitoring the health vitals of patients and elderly people. These sensors transmit the data to nearby application devices or hardware platforms like mobiles, Arduino, Raspberry Pi, etc. These application devices, in turn, forward the raw data to the next layer, which is the fog layer. The fog layer contains a local gateway and one or more transient storage servers where data can be filtered or analyzed based on the application requirements. Security and privacy policies can also be implemented at the local gateway. After the required data transformation, it is forwarded to a border gateway, which will forward the data to the cloud layer. A firewall can be placed either at the local or border gateway to filter malicious traffic. We assume that the communication between entities in the network is carried out through secure channels. At the cloud layer, the data can be stored on the permanent storage servers, or it can be analyzed for decision making by the medical personnel.
Our proposed architecture is compared with the existing proposed architectures, and the summary of the comparison is shown in Table 1. The parameters considered for comparison of different architectures are no. of layers in the architecture, the complexity of the architecture, data reliability at fog layer, real-time application support, and security. The possible values for the chosen parameters can be any one of the following: low, moderate, or high. The value for complexity is chosen based on the no. of layers and the functionality or modules carried out at each layer. The value for data reliability at the fog layer is chosen based on the availability of clusters or distributed computing at the fog layer. None of the existing architectures emphasized the data reliability at the fog layer, which is a major concern for emergency care applications. The value for real-time application support is chosen based on the existence of the fog layer and the amount of work done at this layer. The value for security is chosen based on the no. of layers. Most of the previous work didn't emphasize the security of the architecture.
The use of IoT as a technology in the healthcare domain is still in its nascent stage. As such, many challenges need to be addressed by the research communities and the industry. Some of the challenges and the existing solutions are discussed in the next section.

Challenges and Solutions
A lot of research is being carried out for addressing various concerns in the application of IoT and related technologies for healthcare. Still, there are many open challenges that need to be addressed [30]. In this section, some of the significant challenges like fault tolerance, latency, energy efficiency, interoperability, and availability, along with the solutions in the existing literature, are described.

Fault tolerance
The reliability of an IoT healthcare system is affected by the functioning of sensors and communication nodes that transfer the data to the cloud or processing layer. Their functioning is crucial for the reliable and credible functioning of healthcare services during emergencies. In the existing literature, the only possible solution for fault tolerance proposed was an IoT architecture [31] that uses backup nodes for communication failures. The gateway in this solution conducts the diagnosis of sensors by observing the data patterns periodically and takes appropriate actions.

Latency
The network latency at the transport layer and the communication layer plays a crucial role in the efficiency of the healthcare application. Also, the effect of latency depends upon the type of healthcare application [32]. In the case of emergency services and multimedia healthcare applications like live surgeries, latency will have a drastic effect. A fog-driven IoT healthcare architecture was proposed [33] that reduces the communication latency by performing data preprocessing close to the sensors at the gateway instead of transmitting data to the cloud, which involves more latency.

Energy efficiency
The sensors at the perception layer are more or less battery powered. The depletion of the battery implies the shutdown of sensor nodes, which are critical for the working of the system in case of emergency healthcare applications [32]. An autonomous WBAN implementation for healthcare was proposed, which utilizes solar energy instead of battery-powered nodes [34]. Maximum solar power was extracted from the panels, and 24 hour working of the system was demonstrated through experimentation.

Interoperability
IoT spans different domains and thereby covers a wide range of disciplines with conflicting standards that raise the problem of interoperability. This problem is alleviated in the healthcare domain as the existing regulations and standards demand stringent requirements to be satisfied [33]. A realtime health monitoring system was proposed, which uses 6LoWPAN, an open standard built on top of IEEE 802.15.4, and addresses the interoperability issues among communicating nodes [35]. Another solution suggested to solve the interoperability issues is by abstracting the complex details through middleware [8]. An IoT semantic interoperability model was proposed to addresses the issues between heterogeneous devices in the IoT infrastructure. This model leverages Resource Description Framework (RDF) and SPARQL for associating the things and querying them for extracting information [36].

Availability
In IoT healthcare applications like real-time monitoring and emergency care services, the data of a patient should be available 24/7 for appropriate measures to be taken by the physicians and doctors [37]. The absence of node availability or network availability at the perception layer or the processing layer causes the non-availability of critical data, which may lead to a patient's death. VICINITY, a European Union (EU) funded project, provides high availability and performance guarantees, which enables the system to scale-up and scale-down the communication load based on the requirements [38]. Further research is needed to secure the infrastructure at the processing layer, which includes technologies like cloud computing, big data, etc. Cloud computing encompasses many threats and vulnerabilities [39], which should be mitigated for the high availability of an IoT healthcare system.

CONCLUSION AND FUTURE WORK
IoT is being incorporated into many healthcare applications and services at a moderate pace. Though IoT has many applications in the healthcare domain, many healthcare organizations are still hesitating to fully deploy it in their operations as IoT is still in a nascent stage and is not fully standardized. In this paper, we provide an overview of the IoT technology in the healthcare domain. First, enabling technologies like sensors, cloud computing, fog computing, and WBANs for smart healthcare were described briefly. A specific focus was given to wearable sensors as they are non-intrusive and due to their popularity among people. Wearable sensors like pulse sensors, respiratory rate sensors, body temperature sensors,blood oxygen sensors, and pulse oximeter sensors were discussed. Second, some of the key healthcare applications utilizing IoT were discussed like real-time monitoring and alerts, telemedicine, chronic disease detection and prevention, and home and elderly healthcare. Then, we proposed a minimal and simple threelayer architecture for IoT-based healthcare applications, which leverages the benefits of fog computing. Finally, some of the important challenges of IoT in healthcare like fault tolerance, latency, energy efficiency, interoperability, and availability, vol 35 no 6 November 2020 along with current solutions in the literature, were presented.
Another key challenge for IoT in general and IoT in healthcare is security. In the future, a comprehensive study of security in IoT healthcare applications will be carried out, and the proposed architecture will be implemented and analyzed.

AUTHORS' CONTRIBUTIONS
The first author conceived the overall idea for the article and contributed significantly towards identifying the IoT's enabling technologies by surveying the recent literature. The second author played a crucial role in proposing the architecture for IoT-based healthcare applications, studying the contemporary literature for finding different IoT-based healthcare applications, and in drafting the article. The third and fourth author's contribution is in identifying the challenges in IoT-based healthcare applications and the solutions by surveying the recent literature and also contributed in revising the content of the document. All authors read and approved the final manuscript.

FUNDING
Not currently in receipt of any research funding for this paper.

DATA AVAILABILITY STATEMENT FOR THE DATA USED IN THIS MANUSCRIPT
No experiments were conducted.