Internet of Medical Things (IoMT): Overview, Taxonomies, and Classifications

Recent research efforts have created rapid advances in the field of the Internet of Things (IoT) in terms of communication protocols, sensing technologies, computing capabilities, next-generation wireless technologies, big data and AI techniques, and on-device, edge, cloud processing. These advances created a paradigm shift and generated a wide range of potential opportunities for a new major field known as the Internet of Medical Things (IoMT), as well as subfields like mobile Health (mHeatlh) and digital or electronic Health (eHealth). This paper provides an overview of the Internet of Medical Things and presents a classification to define the primary users and their roles and involvement in smart healthcare systems. The paper then presents taxonomy on the deployment scales of different healthcare environments, from personal healthcare to widescale connected healthcare systems. The overview also discusses the n-tier architecture of IoMT, then presents a set of taxonomies and classifications on the different medical devices used in healthcare systems as well as non-medical devices used to provide context-aware information about the surrounding environment. The paper then concludes the overview by presenting the different healthcare-related applications and services, a comparison between traditional and smart healthcare systems, and the different obstacles and challenges in the field of IoMT to guide the development of new services and devices. Many survey papers in the literature focused on similar points; however, up to our knowledge, this is the first paper to present taxonomies and classifications for these IoMT essential topics. The presented taxonomies and classifications provide the manufacturers of medical devices and the developers of healthcare services a deeper understanding of the healthcare systems’ landscape to address different requirements and de-mands. These keywords include mobile healthcare (mHealth), digital or electronic health (eHealth), personal healthcare, and connected


Introduction
The different spaces we live and work in, from small-scale homes and offices to large-scale cities, are full of devices. These devices range from simple sensors and actuators to home appliances and cars. The Internet of Things (IoT) is an umbrella keyword that refers to the different technologies and techniques used to expand our traditional Internet to include such different cyber-physical devices, referred to as things. These things-equipped with processing powers and communication capabilities-form dynamic ad-hoc networks to interact with users and collect data from the surrounding environment. The collected data is then processed and transformed into valuable knowledge to be acted upon and to guide the decision-making process. Such a process changes our spaces into smart spaces. IoT covers a wide range of fields, including transportation, industry, education, and even advertisement. One of the critical and core IoT fields is the medical and healthcare field-referred to as the Internet of Medical Things (IoMT) [1] [2].
IoMT, as shown in Figure 1, is a major subsection of the Internet of Things (IoT) that focuses on healthcare as one of the fundamental pillars of human needs and is expected to produce several billion dollars in revenue [3] [4]. IoMT covers several aspects that include: 1) medical sensors and devices that collect biomedical data from simple body sensors to more complex and specialized surgical tools; 2) communication networks and secure channels between patients and medical staff as well as the different medical facilities and resources; 3) distributed information technology systems to facilitate building, accessing, and maintaining electronic patient health records [5]; and 4) healthcare-oriented services and interactive applications [6] [7]. Several descriptive keywords exist under the umbrella of IoMT to refer, in general, to the IoT healthcare field.
These keywords include Healthcare IoT (H-IoT) systems and smart healthcare systems [3]. In this paper, we will use these keywords interchangeably. As we discuss in this paper, other keywords are mentioned in the literature and refer to specific subfields in IoMT. These keywords include mobile healthcare (mHealth), digital or electronic health (eHealth), personal healthcare, and connected healthcare systems [8] [9] [10].
Healthcare generally refers to the process of not only maintaining or improving health by regular exercise and nutrition but also diagnosing and treating illness and injury to prevent severe conditions from worsening [1]. In traditional healthcare systems, many operations are carried out manually. These systems face several challenges that introduce additional effort and obstacles to the medical facilities and staff. The recent advances in Micro-Electromechanical Systems (MEMS) and sensing technologies have led to the development of a wide range of smart body sensors, implantable biosensors, wearable devices, and monitoring devices. IoMT-empowered by these advancements and the next generation of wireless technologies, big data, and cloud computing-created a paradigm shift and generated secure, accessible, and efficient smart healthcare systems [9] [11]. These smart systems provide hardware and software components and environments for developing potential healthcare-related applications and services that address specific requirements and target different users. An IoMT ecosystem mainly comprises 1) sensors that acquire and process biomedical signals from patients; 2) network modules to communicate the collected biomedical data; 3) temporary and permanent data storage units; and 4) platforms with artificial intelligence and data analysis schemes to take decisions and allow interaction between patients and the different healthcare facilities and medical staff. In addition to the cloud computing capabilities, the edge computing paradigm-where powerful devices exist between the physical medical devices and the cloud platforms-brings the computing power close to the deployed network. Edge computing allows healthcare systems to run real-time processing, data analysis, and monitoring applications [3].
A massive set of advantages is achieved by utilizing the different IoMT techniques and technologies. Smart healthcare systems provide remote healthcare services that include telehealth and virtual assistance as well as monitoring services for patients, medical facilities, and resources. IoMT technologies ensure accessibility for medical resources when required and enable physicians to invest more quality time with individual patients and prescribe smart medical devices designed for patients' remote monitoring at home [11]. Medical devices and sensors collect a considerable volume of information; thus, building and maintaining patients' medical information enable quality of care. These medical profiles allow personalized forecasting using big data analytics by analyzing patients' medical history, predicting future health concerns, and proactively preventing them [9]. The medical records also enable medical facilities and staff to provide personalized services, customized applications, and tailored treatments and prescriptions. IoMT can reduce unnecessary visits to medical facilities, healthcare expenses, and insurance costs by engaging the patients more in monitoring their health, providing health education, and recommending activities [4] [9]. The different medical devices and applications allow patients to monitor their health status. Devices and sensors equipped with communication modules and proto-cols report collected data to portable devices. Patients can monitor their vital signs using wearable devices or dashboards through smartphones [7]. IoMT also provides the required infrastructure to connect the different medical facilities, offers efficient resource management tools, and enables medical staff and patients to access medical data and services anytime and anywhere.
This paper provides an overview of the Internet of Medical Things (IoMT) and presents a classification to discuss the different actors (users) as well as their participation and involvement in the healthcare environment. The paper then presents taxonomy of the different deployment scales of the healthcare systems that include medical and non-medical environments. The paper also presents a set of taxonomies and classifications for the different medical and non-medical devices and sensors used in healthcare systems, the different healthcare-related applications and services, and the different obstacles and challenges in the field of IoMT and Smart healthcare. Many survey papers in the literature focused on similar points; however, up to our knowledge, this is the first paper to present taxonomies and classifications for these IoMT healthcare-related essential topics. The presented taxonomies and classifications provide the manufacturers of medical devices and the developers of healthcare services a deeper understanding of the healthcare systems' landscape to address different requirements and demands. The paper is organized as follows. Section 2 discusses the main actors of healthcare systems and the different deployment scales, followed by an overview of the n-tier architecture of the IoMT ecosystem in section 3. Sections 4 and 5 present classifications and taxonomies on the different devices and sensors and applications and services, respectively. In section 6, we discuss the different challenges and obstacles in the field of IoMT and a comparison with the traditional healthcare systems. Finally, a discussion and conclusion are presented in section 7.

Healthcare Main Actors and Deployment Scales
Before we discuss the system architecture of an IoMT ecosystem along with the different medical devices, sensors, and services, we need first to discuss two main parameters that divide the landscape of any healthcare system: who are the main actors (or users); and what are the different deployment scales of healthcare environments. In this section, we classify the main actors of a healthcare system and then provide taxonomy for healthcare systems according to the deployment scale.

Main Actors
In order to design and build smart healthcare systems, the first step is to know the different actors who participate in and use the healthcare systems. In this section, we present two main categories of actors: primary and secondary actors, as illustrated in Figure 2. The actors are classified according to their roles that reflect the degree of their involvement, participation, engagement, and interaction with other actors. Journal of Computer and Communications Primary actors are sub-divided into three main roles, as follows: • Consumer: an individual who interacts with healthcare-related applications and services, uses medical devices and sensors, and receives medical care when required. Consumers can be: 1) healthy individuals, or users in general, who use fitness and wellness-related applications, services, and devices; and 2) patients who use health monitoring-related applications, services, and devices and also connect with different medical care facilities, medical staff, and required resources.
• Vendor: an individual or an institute that provides medical devices and services. Vendors can be: 1) developers who design and implement medical-related applications, services, solutions, and software platforms; 2) manufacturers who design and implement medical devices and sensors; 3) pharmaceutical companies that produce medication, drugs, and supplements; and 4) researchers who utilize the collected and accumulated medical information to study, predict, and guide the development of services, devices, and solutions.
• Provider: an individual or an institute that provides required medical care and recommends services and devices from vendors to consumers. Providers can be: 1) Medical staff as physicians, surgeons, nurses, and patient guardians; 2) Medical facilities and institutes as hospitals, laboratories, and clinics; and 3) Drugstores that provide medical devices, medicine, drugs, and equipment.
In most healthcare systems, there are other actors who focus on different factors and are under the umbrella of secondary actors. Secondary actors include insurance companies, service payers, and administration staff. Our focus is on the primary actors-consumers, producers, and vendors-as they guide the design of healthcare systems along with the development of medical devices, applications, and services, as we discuss in the next sections.

Deployment Scales
Healthcare environments are classified with respect to the deployment scale from less clinical to a more medical and specialized type of environments [8]. In this paper, we define a deployment scale according to a number of parameters that include: 1) the number, complexity, and specialty of devices and sensors used to provide the required medical service and care; 2) the active actors along with the depth of their roles, participation, and intervention; 3) the communication technologies, protocols, and standards used; 4) the scope of the expected medical applications and services along with the number of expected consumers; and 5) the volume of data collected and analyzed. In this subsection, we provide -given the deployment scale parameters mentioned above-taxonomy that categorizes healthcare systems into three main scales: personal, medical facilities, and connected communities, as illustrated in Figure 3.

Personal Scale
The personal scale is the narrowest deployment scale that primarily targets the healthcare consumers themselves and their close surroundings. The personal scale is divided into: 1) Body-Scale covering the consumer's body with contact-based sensors, wearable medical devices, and ingestible sensors; and 2) Proximity-Scale covering the consumer's close surroundings including a wheelchair, medical bed, patient's room, and in some cases an entire smart home. In this scale, different medical devices and sensors collect biomedical signs from the patient while other non-medical sensors are used to collect environment parameters (e.g., room temperature, humidity) for context-aware information, as we discuss in section 4.  [5]. These technologies provide short-distance wireless communication and address challenges that include power consumption and management as well as device mobility and connectivity to avoid performance degradation. The different devices and sensors in this scale report the collected data to edge devices like the users' smartwatches, smartphones, portable devices, and remote monitoring devices assigned to patients by medical staff. On such a sensitive digital scale, patients can live more independently while utilizing the concept of telemedicine and mobile health (mHealth) to reduce visits to hospitals or clinics, especially for elderly, disabled, or chronically ill patients. Using mHealth, as we will discuss in section 4, patients can receive virtual care services and communicate with medical staff when needed.

Medical Scale
The medical scale targets the different independent medical environments where more specialized and complex medical devices and sensors are used. This scale also requires more involvement of medical staff and professionals to monitor patients and provide required healthcare services. The medical scale is divided into: • Small-Scale covering medical facilities and environments like clinics, kiosks, urgent care units, intensive care units, and ambulances. As an example, ambulances-with sufficient IoMT processing technologies and real-time communication with medical facilities-can provide in-ambulance diagnosis and provide the medical staff with information about the required treatment before the arrival of patients.  • Medium-Scale covering medical facilities and environments like pharmacies and drugstores, medical-devices stores, blood banks, testing and diagnostic centers, and imaging and radiology centers. With a drugstore as an example, more smart tags and RFID cards are used to know the availability of medicine and equipment and to restock when needed.
• Large-Scale covering medical facilities like hospitals, rehabilitation centers, nursing homes, treatment centers, and research labs.
The main communication technologies in a medical scale are the wireless 3G/4G mobile networks and the Wireless Local Area Networks (WLANs) that include Ethernet or Wi-Fi, low-power wide-area network (LPWAN), and wide-area networks (WAN).

Connected Communities Scale
The connected communities are the wide-scale that covers and connects a set of medical facilities, centers, and stores. Such connections between medical environments allow sharing of resources, medical information, and data. Medical staff and primary care physicians utilize such professional networks to access the patients' different medical reports and records to efficiently provide the required care and service. The main communication technologies for a wide-scale are the Metropolitan area network (MAN) and Wide-area networks (WAN), including fiber-optic technologies, wireless 3G/4G mobile networks, and satellite networks.
Knowing the expected actors and understanding the target deployment scale guide the design of a healthcare environment from a software point of view (the architecture-as discussed in section 3) and a hardware point of view (the devices and the sensors required-as discussed in section 4).

Overview of IoMT Architecture
An IoT ecosystem in general, and IoMT in particular, follows a layered architecture style where each layer provides a set of services and functions to the adjacent layers. Utilizing a standard architecture to build smart healthcare and eHealth systems enables the widespread and seamless adoption of the different IoMT communication, sensing, and processing technologies and techniques. Architecture for IoMT can be logically illustrated as a multi-tiered n-layer system. There are multiple proposals for standard architectures in the literature where each proposal is designed to address specific requirements, achieve certain goals, and host various IoT applications and services [3] [6] [12].
In this section, we provide an overview of the commonly used reference three-tier architecture with respect to the offered functionalities and the utilized technologies per layer. There are three main layers: 1) the lower layer-also known as the physical layer; 2) the middle layer-also known as the edge layer; 3) the upper layer-also known as the cloud layer. We then discuss the 5 and 7-tier architectures as extended versions of the reference architecture used in certain scenarios and cases.

Physical Layer
The physical layer, the lower layer of the architecture, is known in the literature by several other names, including the perception, device, and thing layers. This layer hosts the different virtual as well as physical wired and wireless devices and sensors offered by vendors to be used by healthcare consumers and providers. As discussed more in section 4, Healthcare-related devices and sensors can be classified according to the type, application, and scope to track the physical wellness of patients and remotely monitor their activities and vital signs in real-time. This layer also hosts the non-medical devices and sensors that assist the medical ones by collecting context-aware information about the surrounding environment to assist in taking appropriate actions when required [6]. A considerable percentage of the physical devices and sensors can be considered small-scale computers equipped with processing units (e.g., a microprocessor), communication technologies, local memory units, and user interface (e.g., touchscreen). Such devices also host embedded lightweight operating systems to provide run-time environments for on-device applications, data processing tasks, device management and configuration, power management, and event handling.
With a rich set of medical and non-medical devices, different users, including consumers and care providers, can measure vital signs, collect data, and perform specific on-device processing (e.g., data filtering). The devices then communicate the collected data to the next layer-the Edge layer-using a number of communication protocols and technologies. There is a vast variety of PAN, WPAN, WSN, and LAN technologies and protocols [6] that can be utilized by the different devices and sensors in the physical layer. The selection of the communication technology and protocol (e.g., Wi-Fi, BLE, Zigbee, LTE, 4G/5G mobile networks) depends on several parameters like: 1) the nature of the application or the use-case; 2) the expected volume of data and range to be covered, and the required data rate; 3) the acceptable power consumption [6].

Edge Layer
An Edge node is a powerful device with integrated computing, memory, and networking technologies used to connect devices and sensors of the physical layer with the upper layer -the cloud. The physical layer hosts a massive number of devices and sensors that produce an enormous and continuous volume of data. The final destination of such data is the massive centralized infrastructure of the cloud for long-term storing, data processing, analysis, and prediction. However, it is not secure and not practical and, in certain scenarios, not necessary to directly transfer such volume of sensitive, personal, and medical data to the cloud [3] [5].
The primary and essential goal of an edge node for an IoMT ecosystem is to pull some of the processing tasks down from the cloud and perform such tasks closer to the data sources-the devices and sensors. An edge node has a run-time environment for applications, functions, and services [9]. Performing data processing functions and services on-edge on data collected from the physical layer enables the following: • Real-time decision-making which is an essential requirement for time-sensitive applications and services that cannot tolerate latency (e.g., patient remote monitoring). Real-time decision-making on-edge may also involve event processing, feature extraction, and machine learning.
• Data cleaning, filtering, and summarizing before moving the data to the cloud for analysis and decision-making. This leads to reducing traffic and data volume, reducing data transport costs, minimizing bandwidth requirements, and performing integrity checks.
• Establishing secure, reliable, and bi-directional channels between the physical and cloud layers. An edge node acquires data from the devices and sensors to be delivered to the cloud and also receives queries, configuration commands, and applications from the cloud addressing the different devices and sensors.
IoT and IoMT are of an ad-hoc nature, where devices and sensors can join, reconnect, and leave dynamically. An edge node provides different services for users and applications to discover, register, manage, configure, and control devices and sensors. A wide range of devices and sensors are not equipped with IP-based communication modules and thus are not able to connect to the Internet. At the same time, connecting battery-powered devices and sensors directly to the Internet can be expensive and impractical. The edge, also known as gateway, can: 1) bridge the communication from non-IP (e.g., with Bluetooth interface) and IP-based (e.g., with Wi-Fi interface) devices to the cloud; and 2) translate IP-based commands, queries, and applications from the cloud to the devices.
The devices use different network technologies with network-layer communication protocols (e.g., BLE, Zigbee, WI-Fi 3G/4G), and there is a wide range of application-layer communication protocols (e.g., HTTP, CoAP, MQTT) [13]. At the same time, queries and applications from users and on-cloud services follow different message-exchange protocols (e.g., Request-Response, Publish-Subscribe). An edge is expected to support the devices' different communication technologies and protocols along with the different message-exchange protocols to enable the translation and seamless bi-directional communication between devices and the cloud [9].

Cloud Layer
The upper layer of the reference architecture is known as the Cloud layer. The A. E. Khaled cloud can be: 1) public where the infrastructure is available to the general public by a cloud service provider on a commercial basis; 2) private where the services are owned, managed, operated, and accessed by an organization; 3) community as an extended version of the private cloud that is used and managed by a particular group of organizations sharing the same requirements or interests; and 4) Hybrid as a combination of private and public clouds with the ability to move data and applications from one cloud to another. Private and Community clouds are the main focus of smart healthcare since the applications and services deal with sensitive and personal patient information and medical data. Edge nodes collect data from the physical layer's devices and sensors and then send the processed and summarized data to the cloud for long-term data storage, processing, analysis and exploration, and higher-level decision-making process [5] [9]. A cloud-as a platform or a framework-supports a wide set of functionalities and services to healthcare systems that include: • Building secure connections with the different edge nodes with support for different application-layer communication protocols (e.g., MQTT, CoAP, and HTTP) and transport-layer protocols along with the support of different message-exchange protocols.
• Integrating data from multiple sources requires accepting different data standard formats (e.g., XML, HTML, and JSON) reported by: 1) medical and non-medical devices and sensors through the edge nodes; and 2) other medical services (e.g., e-prescriptions, billing, eHealth documents, hospital visits) from other systems and modules.
• Databases, file systems, and warehouses for long-term data storage from different data sources that cover structured, semi-structured, and unstructured data. Such data storage and management options enable storing a huge volume of data, allow secure and reliable data accessibility, and support efficient query handling methods. Processing patients' current and previously stored medical records enable learning meaningful insights, predicting, and understanding the evolutionary changes of diseases.
• Data engines for data processing, caching, visualization, and modeling enable analyzing collected medical data using a wide set of event-based processing, data mining, machine learning, and automated reasoning-based algorithms.
• Cloud also hosts applications and services along with configurable dashboards that are globally accessible by the different users (consumers, providers, and vendors) according to their different requirements and needs. Figure 4 below reflects the different layers in IoMT architecture with respect to the different deployment scales. It is worth mentioning that Figure 4 focuses on comparing a single personal scale to a single medical and connected community scale in terms of the produced data volume, the expected involvement from medical staff, and required resources. As shown in Figure 4, the personal healthcare systems scale requires less involvement from the medical staff and medical resources compared to both the medical and connected communities scale and the devices produce lower data volume on a personal healthcare system scale. Journal of Computer and Communications

Extended Architectures
In some scenarios, the three layers we discussed above are sub-divided into further sub-layers to contain and focus on certain related functions and services [9] [14]. The sub-division of some layers produces 5-layer and 7-layer architectures and more layers in some systems. As an example, the physical layer can logically be divided into two sub-layers: 1) the actual physical devices with on-device data capture and processing capabilities; and 2) the technologies and protocols that devices use to communicate the collected data to the edge layer. As another example, the cloud layer can be divided into further sub-layers: 1) the different cloud services and functionalities that connect the cloud with edge nodes; 2) the different applications hosted on the cloud; and 3) the business model, data management, and data analysis tools [15] [16].

Devices and Sensors
As discussed in section 3, the physical layer of the IoMT architecture hosts the different medical and non-medical devices and sensors that users as well as the higher layers in the architecture can interact with. The recent advances in Micro-Electromechanical Systems (MEMS) created a breakthrough in designing and building micro-electronic and micro-actuator systems and structures, resulting in considerable advances in the field of healthcare and the area of miniature wearable biosensors. In the field of IoMT, and to build smart healthcare systems, there is a wide range of medical devices and biosensors along with non-medical devices and sensors (e.g., environmental sensors) that support medical applications, services, and research [1]. Medical devices provide healthaware information about the patient, while non-medical devices provide context-aware information about the patient's surroundings and living environ- A device can be an actuator, a sensor, or a hybrid type. An actuator converts electrical signals into physical events, actions, or mechanical motions. An actuator takes an input or a command and then reacts by doing a specific operation or action as an output (e.g., run a motor). Sensors-a special type of device-detect and measure physical phenomena (e.g., read room temperature, detect motion) and then convert such events into electrical signals. Compared to an actuator, a sensor takes input by reading certain phenomena and converts it into a measurable readable value to be processed and acted upon accordingly. A sensor should be sensitive only to the phenomenon it measures and not other physical phenomena. At the same time, a sensor should not modify the measured phenomenon during the measurement process. Several essential properties further guide the selection of a sensor for an application or a scenario, that includes: 1) range, which is the maximum and minimum values of the phenomenon that the sensor can measure; 2) resolution, which is the minimum change in the phenomenon that the sensor can detect and read; and 3) accuracy, which is how close a measured value is to the actual value. Throughout this paper, we use devices and sensors interchangeably.
The human body provides several biological and physiological signs that are the main focus of healthcare systems and the different healthcare-related services and applications [1]. There is a wide range of such vital signs, from common signs like heart rate, blood pressure, respiratory rate, and blood oxygen saturation to more specific and advanced signs like pain and level of consciousness [7] [8]. Monitoring these signs with appropriate and accurate sensors enables: 1) healthcare consumers to be in the center of the healthcare process, track and manage their health, and interact with care providers; and 2) healthcare providers to provide medical help and care when needed and also to evaluate such vital medical information for operations like monitoring neurological functions, rehabilitation procedures, and sports performance [7]. In this section, we propose a taxonomy to classify the different devices utilized and used in healthcare systems with respect to a set of aspects and properties. We then present a subset of medical devices and sensors currently used in healthcare environments.

Classification Aspects
Taxonomy for the different medical and non-medical devices and sensors guides the development of applications and services for smart healthcare systems. The classification we propose and present is done with respect to a number of dimensions. In this section, we propose and focus on the 6 essential aspects to classify the different medical and non-medical devices.
Devices are classified first according to the domain that determines the possible services a device can engage and participate in [7]. There are different healthcare-related domains that include: • Activity-domain that includes devices and sensors to monitor different A. E. Khaled physical activities done by individuals throughout the day. Devices and sensors like gyroscopes, accelerometers, and sleeping monitors are used in many applications to track wellness and fitness, monitor hydration, and measure calories burned. Other devices like motion sensors and movement disorders monitors are used in medical applications such as fall detection for the elderly.
• Health-domain that includes devices and sensors to measure different vital biological, physiological, biochemical, and electrical signs from the human body.
There is a wide range of medical devices that address this category, including glucose monitors, heart rate monitors, and blood pressure monitors. These devices are used in applications like patient monitoring, elderly monitor, medication management, early warning system, and in more specialized and medical applications.
• Nutrition-domain where the need to analyze the process of the human digestive system is important to find which food provides sufficient nutrients. Ingestible sensors, capsules, and smart pills are designed and developed to be swallowed by a patient to monitor the digestive system. These sensors and pills then communicate the collected data and images through wireless communication technologies to a receiver like a smartphone or monitoring system [1].
• Ambiance-domain which includes sensors that collect non-medical and context-aware information about the patient's surroundings and living environment. A wide range of sensors addresses this domain, from GPS and proximity sensors for location information to humidity, noise, temperature, gas, pollution, and radiation sensors for information about the surrounding environment.
Knowing the context of the medical data is critical in some scenarios and applications as it: 1) completes the picture of patients' medical information; and 2) allows medical staff to determine the actual need for assistance and to provide efficient medical care and the expected services. Outdoor daily activities and rehabilitation exercises rely on ambiance sensors like temperature and humidity to evaluate dehydration. The continuous monitoring of air pollutants, as an example, is vital due to its association with cardiac and pulmonary diseases. Ambiance parameters (e.g., light, sound, and temperature) are also essential to studying and evaluating sleep quality and quantity.
• Device-monitoring domain includes sensors, smart tags, and RFID labels: 1) embedded in medical devices to diagnose and report errors for maintenance; and 2) attached to medicine in drugstores to track availability and usage. After classifying devices with respect to the domain dimension, devices are classified second according to the type dimension into: • Active and passive: an active device requires an external power source to work, while for a passive device (e.g., RFID smart tags and labels), the required power for the device's operation is provided by the measured signal and phenomenon.
• Contact and non-contact: a contact sensor has direct physical contact with the object being measured, while a non-contact sensor (also known as indirect sensing) refers to devices that have the ability to sense without the need to touch the object physically. An oral thermometer to measure a patient's temperature is a contact device. In contrast, an infrared thermometer, an example of a non-contact sensor, can be used to read the temperature without direct physical contact.
• Invasive and non-invasive: invasive-also known as embedded medical devices-as implanted sensors for glucose monitoring and non-invasive (e.g., wearable devices).
• Physical and virtual sensors: physical wired or wireless sensors and virtual sensors as software or mobile applications that gain patients' health and contextual data from the environment [9].
• Mobile and stationary medical devices and sensors.
Devices are classified third with respect to the data dimension according to: 1) the volume of data collected by the device; 2) the data format and standard used by the device; 3) the type of data from medical data, non-medical context-aware data, or report and diagnosis data; and 4) the number of vital signs captured, such number defines the data model (e.g., single modal, multi-modal) to be used in future data analysis and processing.
Devices are also classified, as illustrated in Figure  In this section, we proposed and focused on the 6 aspects discussed above as essential dimensions to classify the different medical and non-medical devices.
We believe that the proposed aspects guide the development of applications and services for smart healthcare systems. It is worth mentioning that further aspects and more dimensions can be added and used to classify medical and non-medical devices.

Common Devices
A wide set of medical devices and sensors is currently available and used in healthcare systems, related applications, and services. These devices include ECG monitors, heart rate monitors, blood pressure monitors, body temperature monitors, glucose monitors, skin conductance sensors, and hemoglobin monitors [4] [6] [7]. The remote health monitoring devices measure vital signs from the hu-  Along with monitoring vital signs, monitoring and evaluating the human body at rest and movement during daily activities and routine enable efficient medical rehabilitation, posture evaluation, detect seizures and fatigue, and evaluate sports performance. Body kinematics and physiological signals during exercise evaluate motion and muscle activity using several sensors (e.g., accelerometers, magnetometers, gyroscopes) and WHDs. Remote monitoring minimizes the need for caregivers in several situations, allows early detection of adverse events, and prompts corrective measures.
With technological advancement, more sophisticated implantable medical devices are designed to improve and restore human bodily functions. These electronic implants include deep brain stimulation (DBS) systems that use controlled electrical pulses to stimulate brain areas to lessen involuntary movements caused by neurological disorders like Parkinson's disease or essential tremors [3] [7]. These implant devices also include pacemakers to regulate heart rhythm and cochlear implants that use electrodes inside the inner ear to restore hearing. The increase of implantable cardiac devices leads to the development of long-term surveillance to improve patient safety and care. New technologies also guide the design of more devices, including smart shoes, smart contact lenses, depression monitoring devices, Insulin Pens, and Smart CGM (Continuous Glucose Monitoring) to monitor blood glucose levels and send the data to wearable devices [7].

Applications and Services
Designing healthcare-related applications and services is a primary and essential goal of building smart healthcare systems. These applications and services utilize the different medical and non-medical devices and sensors to address the different requirements and needs with respect to the expected actors (users) and the target deployment scale. There are no precise definitions and clear differences between services and applications. The two are software programs but with different goals and requirements. A service usually performs a few specialized operations and is accessed by other services as well as applications. On the other hand, an application usually performs a wider range of operations and functions targeting a whole problem and often has an interface to be accessed by users. Throughout this paper, we will use both applications and services interchangeably. In the context of healthcare systems, a wide range of applications utilizes the different medical and non-medical devices and span across the different layers of the IoMT architecture. In this section, we propose and present four main dimensions to define the scope of a healthcare-related application (or service), as illustrated in Figure 6: • The user(s) of the application. Applications and services provide a wide range of functions, allow multiple users to interact, and guide the accessibility of data. Different users, from patients and healthy users to medical staff, professionals, and vendors, use healthcare-related applications for different purposes. Healthcare consumers use applications to track wellness, fitness, and vital signs. Healthcare providers use applications to monitor their patients' health status remotely and provide healthcare services, prescriptions, and treatments when required. Vendors of medical devices, for example, use applications that collect data from medical equipment to track the status and to provide the required maintenance and diagnosis.
• The target deployment scale(s). In body and personal deployment scales, consumers have applications on their smartphones and smartwatches with appropriate user interfaces and take advantage of the recent advancements in the field of IoMT (e.g., wearable fitness trackers). On the other hand, more advanced and professional applications take advantage of IoT technologies for connected medical facilities, laboratories, and drugstores on larger deployment scales. Drugstores use applications to track drug availability and maintain medicine stock in pharmacies.
• The target layer(s) of the architecture. Some applications work on the physical layer of the architecture and reside in the actual physical device. Some medical devices and sensors have processing capacity with local data storage units and run-time environment for on-device applications (e.g., calculate running average and the peak value). Other applications work on edge nodes (e.g., smartphones, a local hospital server, a gateway device in a smart home) and perform real-time analysis and decisions on the reported data by devices and sensors. Other applications (e.g., patient portals, medical databases) reside and work on public or private cloud platforms to be globally accessible by a wider range of users.
• The required device(s). Designing healthcare-related applications requires defining several additional points that include: 1) the number of devices and sensors required; 2) the required accuracy of the sensor; 3) the processing and communication capabilities of the target devices; 4) the support of real-time operation and defined tolerable latency; and 5) the type and number of vital signs to be measured. As discussed in section 4, most medical devices and sensors come with dedicated applications to perform certain functions or services (e.g., CGM, monitoring heart rate). Journal of Computer and Communications In this section, we provide an overview of the main types of healthcare-related applications with respect to the four main dimensions mentioned above and then discuss typical applications within each type. It is worth mentioning that some applications fall into more than one category, and there are more aspects to classify healthcare-related applications and services accordingly.

Monitoring
Monitoring Patients' health is a core goal of building and designing healthcare systems [1] [2], and a huge percentage of healthcare-related applications fall under this umbrella. The monitoring process involves collecting patient's data reported by devices and sensors, storing collected data to be analyzed then acting upon accordingly. In this paper, we further classify monitoring-related applications according to three main aspects: the phase, data model, and monitoring type.
The first aspect is the Phase: there are different phases of focus for a monitoring process including post, per, and during the treatment; medicine-taking and post-medication; and the rehabilitation phase. The second aspect is the Data model: applications can utilize individual devices or make use of a collection of devices for multi-signal monitors for more complete solutions (e.g., elderly home) [4]. An early warning score (EWS) assists medical staff by accurately predicting the deterioration risk of a patient's health by analyzing several basic vital signs including, respiratory rate, body temperature, pulse rate, and oxygen satu- The third aspect is the Type: monitoring can be online (also referred to as real-time) or offline [7]. Online is about continuously monitoring patients' vital signs during long periods to alert the patients and medical staff according to certain configurations [3] [6]. In some cases, real-time monitoring is done remotely (e.g., at the patient's home) outside medical environments. In other cases, real-time monitoring is done inside medical environments (e.g., hospitals, clinics) with hospital beds or wearable devices that allow the patient to move. At the same time, the data is being wirelessly transmitted to edge devices. Offline monitoring occurs at the same time as real-time monitoring, where the collected data is to be accumulated to build a personal record of the patient's information and medical history [5]. Such accumulated and collected data can also be used

Healthcare-related Applications and Services
The Expected User(s) The Target Deployment Scale(s) The Required Device(s) The Target Layer of the Architecture for medical analysis, prediction, and research purposes. Big Data and data mining can help analyze the data and extract deep insights to improve medical outcomes that can reduce costs through customized care plans and early intervention [7] [9]. Under the category of monitoring, different applications include: • Vital sign monitoring applications that measure specific signs (e.g., heart rate, blood pressure) from the human body.
• Mental health monitoring applications for stress relief, mediation, and depression monitoring.
• Glucose monitoring applications for diabetic patients ensure that their glucose levels are under control.
• Movement monitoring applications to detect movement disorders and posture correction.
• Chronic disease treatment applications for diseases that cannot be fully cured but can be controlled with continuous monitoring to prevent critical risk conditions.
• Cardiovascular monitoring applications for heart and blood vessels through measuring electrocardiogram (ECG) and other vital signs like blood pressure.
• Neurological Disorders monitoring applications that measure and read brain signals and help patients suffering from diseases such as Epilepsy, Alzheimer's, Stroke, and Parkinson's.

Fitness-Related Applications
Fitness tracking applications using wearable devices (e.g., smartwatches, wrist bands), body sensors (e.g., pulse, temperature, accelerometer, body sweat), and fabric in smart clothing monitor a wide range of signs and activities. This category also includes: 1) Wellness monitoring-related applications for healthy living, exercises and workouts, managing hydration status, and measuring calories burned; and 2) Nutrition monitoring-related applications for diet, weight loss, and healthy recipes [3].

Mobile Health (m-Health)
Due • Reminders with configurable alerts to take medication, rest and sleep, and track and report medicine usage.
• Scheduling applications for medical facilities and visits.
• Portals and dashboards allow the patients to view their medical data and e-prescriptions and allow medical data accessibility by medical facilities, medical staff, and drugstores.
• Urgent care-related applications for emergency calling services with geo-location for information about nearby hospitals and medical facilities.

Telehealth-Related Applications
Virtual care and remote assistance represent a significant category of applications for smart healthcare systems. With smartphones' assistance, telehealth and telemedicine enable remote treatment and real-time communication channels between patients and medical staff [2]. Telehealth provides a solution for remote and rural areas where medical facilities are not always accessible and patients are not able to consult professionals and medical staff as needed.

Ambient Assisted Living (AAL)
As the population grows, the dependency on healthcare facilities to enable geriatric or disabled individuals to live more independently grows exponentially [1]

Medical Databases
Medical devices and sensors generate a huge volume of patient medical and sensitive data during the different monitoring phases. There is an essential need for medical databases to store such sensitive data, help the treatment process by accessing data efficiently, and support medical research. The primary type of such database is electronic health records (EHR) to store personal information about patients' medication, medical history, and family details. Other medical-related information must be linked to the patient record, including diagnosis, rehabilitation, allergies, and sensitivities. EHR, in literature, is also referred to as electronic patient records (EPR) [11] and electronic medical records (EMR). Other medical databases are categorized by diseases-not patients' profiles-and used to cross-reference similar cases and review clinical cases for a given disease [2] [5].
Maintaining an electronic version of patients' records with the ability to update, exchange, and share these records allows the different healthcare facilities to work efficiently and provide essential healthcare services. Structured and linked medical records also help in personalized medication to accurately determine medication compliance and prevent incorrect drugs as well as fatal adverse drug reactions (ADR) [6] [8]. Due to the sensitive nature of the stored data, medical databases should allow medical facilities, drugstores, and medical staff to upload medical information to the patient's record in a standard format while restricting data visibility and accessibility according to the expected users.

Further Applications
Besides the major categories discussed in this section, there are other types of medical and healthcare-related applications and services that include: 1) Rehabilitation-related applications; 2) Medical imaging and visualization services for medical facilities to process MRI/CT scans, design and print 3D models for equipment or body parts, and also 3D anatomy modeling; 3) health education-related applications for patient engagement and to help the patient understand their symptoms and call when help is needed; 4) Ratings-related applications for users and patients to provide feedback and share their treatment experiences with others; 5) Professional networking-related applications for medical staff and professionals; 6) Medical device management-related applications to configure, monitor, schedule maintenance, update software, and collect and diagnose errors; and 7) Drugstores and Medical facilities management-related applications for day-to-day operations, clinical decision services, medical billing, claims, equipment and drug inventory alerts, and to track medical resources [5] [9].

Challenges and Research Directions
The traditional healthcare systems are based on patients' visits to physical medical facilities where medical staff and professionals can observe, provide treatment, and prescribe medicine. These visits shape the patient's relationship with The introduction of IoT communication, sensing, and processing technologies in the healthcare field provides a new relationship between healthcare consumers and healthcare systems. In this relationship, the healthcare system is consumer-oriented, where the patient -or the consumer in general-is an active par-ticipant in the center of the medical process. The new healthcare systems provide new experiences and relationships that tie the different users (e.g., consumers, vendors, providers) on different deployment scales from personalized healthcare and customized health services to smart hospitals and connected medical facilities. In such a new paradigm, healthcare consumers use IoMT technologies to monitor their vital signs, be aware of their health status, communicate with medical facilities when required, and receive quality care [11] [19].
IoMT targets the challenges a traditional healthcare system may face with medical devices, sensors, applications, and services. However, compared to the traditional healthcare systems, IoMT faces different challenges in building secure, safe, accessible, flexible, efficient, and high-quality healthcare systems for the different consumers and on the different deployment scales. These challenges span the architecture's layers and the different aspects from design and implementation to physical deployment, accessibility, and usability. The main goal of addressing these challenges is to provide the required quality of service (QoS), reduce transmission delay, enable low latency, and enable low power consumption and operations for a reliable and secure healthcare system [2] [6].
In this section, we discuss the main challenges and critical obstacles that face smart healthcare systems.

Dynamic and Distributed Systems
IoMT inherits the nature of ad-hoc environments, where medical and non-medical devices may join and leave the ecosystem dynamically. At the same time, as discussed in section 3, healthcare systems are built as separated and independent components that are physically and logically distributed and linked as layers in an n-tier architecture. Such distributed and dynamic ad-hoc nature: 1) allows any healthcare system to evolve or grow and shrink continuously, guides the design of the layers and the selection of appropriate processing and communication technologies; 2) restricts the availability and accessibility of services and functions; and 3) challenges the integration of new devices and sensors with edge and cloud services [3] [9].

Real-Time Processing
Collected data by medical and non-medical devices is enormous in volume and must be processed to obtain meaningful insights and knowledge about the health status of healthcare consumers and their surrounding environments. In some scenarios, such meaningful information must be extracted in real-time and trigger actions with minimum possible latency to support healthcare applications like alerts and diagnoses for urgent care. Real-time processing requires lightweight operating systems and technologies for on-device and on-edge data mining and machine learning algorithms to learn, predict, and take actions, along with communication technologies and protocols that support real-time and time-critical operations [3] [4].

Heterogeneity and Diversity
IoMT interacts with various software modules and hardware components [9]. In the physical layer of the architecture, as an example, medical and non-medical devices are heterogeneous in several aspects and forms, which include: • Device-Architecture heterogeneity: Devices have different processing powers, sensory and memory capabilities, power sources, and operating frequencies.
• Data heterogeneity: Devices utilize different data formats and models to represent, store, and report collected data. Some of which are structured, while others lack formal descriptions and descriptive semantics.
• Service heterogeneity: Devices offer a wide range of different services and functionalities with respect to the required inputs, the expected output, and the way to interact and trigger them.
Heterogeneity introduces additional effort to include and integrate new devices, sensors, applications, and solutions in the ecosystem. An edge node, as an example, needs to support and host interfaces for different communication protocols and technologies. Standard data models are required for devices and sensors to follow in order to store and report data. At the same time, solutions are required to register, search for, and trigger services and functionalities offered by the different devices and sensors [5].

Interoperability
Heterogeneity and the highly fragmented nature of IoMT, as discussed in the previous point, restrict the continuous growth of the healthcare system and require considerable effort to integrate new services and devices. To avoid such isolation and for friction-free interaction and integration, the research topic of Interoperability has the potential to homogenize interactions with a set of mechanisms, translation schemes, and standards [9] [13]. Standardization is a complex process for a field like IoMT given the wide range of the used medical and non-medical devices and the different users (consumers, providers, and vendors) along with the nature of the data and services. Standards enable Interoperability and guide heterogeneity; however, complex and strict standards may restrict the scope of services and application development. Several medical authorities and regulatory agencies place guidelines and medical standards that vendors for devices and applications must consider [3] [9].

Data Management
The different medical and non-medical devices used, mainly in real-time monitoring applications, provide continuous data streams to edge nodes. The variety of data formats, the considerable volume of accumulated and reported data, and the velocity and frequency of reporting data to guide the need for different data management techniques. The different layers of the IoMT architecture require different types of memory units. The selection of technique and the required memory units are restricted by the capability of the device and the expected processing strategy. At the physical layer, on-device processing and memory are used to filter data before it is reported to the edge node. Edge nodes in medical facilities with processing techniques and short-term databases are used to locally store data reported by devices and then process the collected data according to some requirements (e.g., accumulate data, summarize data). On-cloud with long-term databases is used to permanently store such a volume of data [3].

Power Consumption
A wide range of medical devices and sensors are battery-based. A huge research effort is placed in the field of battery technologies to design long-lasting batteries. The battery enables the device to perform data sensing and collection; perform on-device processing; run an on-device operating system, and communicate with edge nodes [3] [6]. However-in some scenarios-monitoring, charging, or even replacing such batteries are complicated actions and inefficient solutions. These scenarios include: 1) deployment settings that engage a large number of sensors; and 2) implantable medical devices where batteries need to consider safe material for use within the body. There are research efforts for battery-less energy harvesting solutions that derive energy from the human body itself for the operation of implantable sensors. At the same time, managing power consumption can be achieved through: 1) designing embedded lightweight operating systems; 2) thin network protocol stacks; 3) communication technologies for short-range transmission; 4) controlling the frequency of sensing and the rate of reporting; and 5) efficient work and sleep schedules to enhance and prolong the lifetime of the device.

Human Comfort and Interfaces
Medical devices like body sensors and wearable devices are designed to be attached to the human body for a long duration of time, in some cases for continuous monitoring. Some of these devices might restrict body movement and be uncomfortable [7]. The design and implementation must consider these factors to monitor the required vital signs without reducing user comfort. At the same time, it is essential to design and manufacture these devices with suitable materials (e.g., not toxic, flammable) for human safety. Knowing the users (e.g., elderly, children, athletes, and medical staff) of a specific device or an application guides the design of suitable interfaces [20]. Some users may have little or no knowledge of technologies and may depend on self-training to use the devices correctly. A user-friendly interface with suitable and clear menus, readable options, and in some cases, simple and autonomous graphical interfaces and touch A. E. Khaled screens allow a short learning curve and provide the ease of use and the required comfort levels [9].

Other Challenges
There are more challenges that face the design and development of smart healthcare systems. Securing patient-sensitive data (e.g., medical and identity information) and allowing data accessibility for authorized users (e.g., medical professionals) are primary challenges that may restrict the widespread adoption of smart healthcare systems [3] [6]. Different lightweight solutions are designed for on-device, on-edge, and on-cloud security and authentication. At the same time, Individuals should receive training to avoid disclosing private healthcare information [8]. Other IoMT challenges and obstacles include: 1) allowing system scalability, especially for large and wide-scale deployment scales [3]; 2) remote device and sensor management, diagnosis, monitoring, and configuring [9]; 3) handling data errors caused by a variety of issues like hardware problems, on-device application errors, drained battery, interference and noise, sensor accuracy and precision, and connectivity problems; 4) dealing with inconsistent data reported by multiple sensors; 5) building reliable network connection for remote telemedicine and virtual healthcare services; and 6) creating public accessible medical data sets to be used for medical research, designing applications, and building prediction and data models [9] [21].

Conclusion
In this paper, we provided an overview of a major subfield of IoT: the Internet of Medical Things (IoMT). The recent research efforts and advances in the field of IoMT generated a wide range of potential opportunities, devices, and services for the field of healthcare along with related subfields like mobile Health (mHeatlh), digital or electronic Health (eHealth), and personal healthcare. Many survey papers in the literature focused on similar points; however, up to our knowledge, this is the first paper to present taxonomies and classifications for a set of IoMT essential topics. The presented taxonomies and classifications provide a deeper understanding of the healthcare systems' landscape to address different requirements and demands. The overview presented a set of classifications to discuss the different roles and users along with the deployment scales of the different healthcare systems. The deployment scales range from personal to widescale connected healthcare systems. The overview also discusses the n-tier architecture of IoMT, and then presents a set of taxonomies and classifications on the different medical devices used in healthcare systems as well as non-medical devices used to provide context-aware information about the surrounding environment. The paper then concludes the overview by presenting the different healthcare-related applications and services, a comparison between traditional and smart healthcare systems, and the different obstacles and challenges in the field of IoMT to guide the development of new services and devices.