SYSTEMS FOR TREATING OBSTRUCTIVE SLEEP APNEA
20210290961 · 2021-09-23
Inventors
- Robert J. Greenberg (Los Angeles, CA)
- Harshit R. Suri (Pasadena, CA, US)
- Joseph L. Calderon (Santa Clarita, CA, US)
- Brian R. Dearden (Pasadena, CA, US)
Cpc classification
International classification
Abstract
Systems for treating obstructive sleep apnea having an implanted stimulator with an internal sensor configured to generate sensory data corresponding to movement of the thoracic or abdominal cavity of a patient during respiration. The system includes a wireless communications link between the stimulator and at least one external sensor for sensing a patient's physiological parameter and is used to augment the sensory data from the internal sensor. The stimulator includes a stimulation system configured to deliver electrical stimulation to a nerve which innervates an upper airway muscle, such as the hypoglossal nerve to treat sleep apnea.
Claims
1. A system for treating obstructive sleep apnea in a patient comprising: at least one external sensor configured to sense a physiological parameter of the patient; and a stimulator comprising: an internal sensor configured to generate a first signal corresponding to movement of the thoracic or abdominal cavity of the patient during respiration; a stimulation system configured to deliver stimulation to a nerve which innervates an upper airway muscle; and a controller coupled to the internal sensor and the stimulation system, and wirelessly coupled to the at least one external sensor; wherein the controller is configured to measure the respiratory cycle of the patient based on the first signal and the sensed physiological parameter, and to cause the stimulation system to stimulate the nerve based on the measured respiratory cycle.
2. The system of claim 1 wherein the at least one external sensor provides at least one of: peripheral oxygen saturation (SpO.sub.2) data, heartrate, heart rate variability, heart rhythm, respiration, electrocardiogram (ECG) data, electroencephalogram (EEG) data, or electrooculogram (EOG) data.
3. The system of claim 1, wherein the at least one external sensor comprises at least one of: a wrist wearable watch, a wrist wearable activity tracker, a ring sensor configured to be worn on a finger, a headband, a head cap, a chest band, or a behind the ear sensor.
4. The system of claim 1, wherein the system comprises a plurality of external sensors.
5. The system of claim 1, wherein the system comprises a plurality of external sensors, each configured to sense a different physiological parameter of the patient.
6. The system of claim 1, wherein the stimulator further comprises an auxiliary controller comprising software executed on an external device, wherein the auxiliary controller is wirelessly coupled to the controller, and optionally to the at least one external sensor, and configured to process data received from the controller and/or the at least one external sensor.
7. The system of claim 6, wherein the auxiliary controller is configured to process data received from the controller and/or the at least one external sensor by: determining timing and/or intensity parameters for stimulation based on the received data using at least one machine learning algorithm; and communicating the timing and/or intensity parameters to the controller.
8. The system of claim 1 wherein the controller is configured to cause the stimulation system to stimulate the nerve during the inspiratory portion of respiration; during the expiratory portion of respiration; or during the inspiratory portion and the expiratory portion of respiration.
9. The system of claim 1 wherein the stimulator is implantable.
10. The system of claim 1 wherein the internal sensor is at least one of: an inertial measurement unit or a pressure sensor.
11. The system of claim 1 wherein the at least one external sensor comprises an inertial sensor, a pressure sensor, an audio sensor, a SpO.sub.2 sensor, or a sensor configured to detect a RIP (Respiratory Inductance Plethysmography) band.
12. A method of treating obstructive sleep apnea in a patient comprising: acquiring a first set of sensory data from an implanted sensor corresponding to movement of the thoracic or abdominal cavity of the patient during respiration; acquiring a second set of sensory data via a wireless link from at least one external sensor, the second sensory data corresponding to one or more physiological parameters of the patient; determining a respiratory cycle of the patient based on the first and second sets of sensory data; and stimulating a nerve innervating an upper airway muscle during a stable respiratory cycle following an apneic event, wherein apneic events are determined based on the respiratory cycle of the patient.
13. The method of claim 12 further comprising identifying an inspiratory portion of the respiratory cycle.
14. The method of claim 13 wherein stimulating the nerve innervating an upper airway muscle is stimulating the nerve during the inspiratory portion of the respiratory cycle.
15. The method of claim 12 wherein the at least one external sensor provides at least one of: peripheral oxygen saturation (SpO.sub.2) data, heartrate, heart rate variability, heart rhythm, respiration, electrocardiogram (ECG) data, electroencephalogram (EEG) data, or electrooculogram (EOG) data.
16. The method of claim 12 wherein the at least one external sensor comprises at least one of: a wrist wearable watch, a wrist wearable activity tracker, a ring sensor configured to be worn on a finger, a headband, a head cap, a chest band or a behind the ear sensor.
17. The method of claim 12, wherein the internal sensor is at least one of: an inertial measurement unit or a pressure sensor.
18. The method of claim 12, wherein the second set of sensory data is acquired from a plurality of external sensors.
19. The method of claim 18, wherein each external sensor is configured to detect sensory data corresponding to a different physiological parameter of the patient.
20. The method of claim 12, wherein one or more parameters for stimulating the nerve innervating the upper airway muscle are based on the respiratory cycle of the patient.
21. The method of claim 20, wherein the parameters comprise a timing and/or an intensity of the stimulation.
22. The method of claim 12, further comprising: determining a sleep state of the patient based on the first and/or second sets of sensory data; wherein one or more parameters for stimulating the nerve innervating the upper airway muscle are based on the sleep state of the patient.
23. The method of claim 22, wherein determining the sleep state comprises determining whether the patient is in light sleep, deep sleep, or REM sleep, and the parameters comprise a timing and/or an intensity of the stimulation.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION
[0023] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring such concepts.
[0024] Several aspects of embodiments according to the present disclosure will now be presented with reference to various apparatus and methods. These apparatus and methods will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as “elements”). These elements may be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
[0025] By way of example, an element, or any portion of an element, or any combination of elements may be implemented as a “processing system” that includes one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on a chip (SoC), baseband processors, field programmable gate arrays (FPGAs), programmable logic devices (PLDs), application-specific integrated circuits (ASICs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0026] Accordingly, in one or more example embodiments, the functions described may be implemented in hardware, software, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the aforementioned types of computer-readable media, or any other medium that can be used to store computer executable code in the form of instructions or data structures that can be accessed by a computer.
[0027]
[0028] The stimulator 110 may comprise or be in communication with at least one internal sensor implanted into a patient, such as a pressure sensor or inertial measurement unit (IMU) configured to generate sensory data corresponding to the movement of the thoracic or abdominal cavity of a patient during respiration. Each external sensor 120 may comprise at least one physiological sensor configured to generate sensory data corresponding to a physiological parameter of a patient wearing (or in close proximity to) the external sensor 120 (e.g., as a ring, watch, or headband, or held against or in proximity to the body in a harness). For example, an external sensor 120 may comprise a sensor configured to generate sensory data corresponding to the peripheral oxygen saturation (SpO.sub.2), heart rate, heart rhythm, heart rate variability, and/or respiration. In some aspects, an external sensor 120 may be a sensor configured to generate electrocardiogram (ECG), electroencephalogram (EEG), or electrooculogram (EOG) data. Electrode contacts in an external sensor that are in contact with the skin can be either of the dry or wet type.
[0029] An external sensor 120 in wireless communications with the stimulator 110 may take various forms. In some embodiments, as shown in the exemplary embodiment depicted in
[0030]
[0031]
[0032]
[0033]
[0034] In some embodiments, the EEG sensor 300 may include more than two electrode contacts 302-A, 302-B, 302-C, etc. The EEG sensor 300 may be configured to use the more-than-two electrode contacts to select at least two electrode contacts out of the group of contacts 302 with the best EEG signal available, and may be configured to use the selected electrode contacts to generate EEG data for processing and communication to the system via the wireless link. In some embodiments, the EEG sensor 300 may be configured to evaluate EEG measurements gathered using respective pairs of electrode contacts and may select the electrode contacts to use for generating the EEG data based on the evaluation. In some aspects, the EEG sensor 300 may transmit EEG measurements gathered using respective pairs of electrode contacts to another device via the wireless link (e.g., to the stimulator 110, or to a remote control 130 or a clinician programmer 140, described further below), and the other device may select the electrode contacts to use for generating the EEG data and may transmit an identifier of the selected electrodes to the EEG sensor 300.
[0035] In some aspects, a system for the treatment of OSA may include multiple EEG sensors per patient (e.g., one EEG sensor 300 for each ear of the patient). The multiple EEG sensors may be used to provide multiple streams of sensory data to the stimulator 110. Similarly, multiple ECG or EOG sensors per patient may be used to provide multiple streams of sensory data for analysis by the stimulator 110.
[0036] In some aspects, a system for the treatment of OSA may include a plurality of external sensors 120. Each external sensor may be configured to generate a different form of sensory data regarding physiological parameters of the patient. For example, each external sensor may independently comprise an inertial sensor, a pressure sensor, an audio sensor, an LED-based SpO.sub.2 sensor), etc.
[0037]
[0038] The sensor 102 may be configured to generate sensory data corresponding to the respiration of the patient, and to transmit the sensory data to the controller 104. The stimulation system 106 (e.g., an implantable pulse generator, “IPG”) may be configured to apply stimulation to the electrode 112. The controller 104 may be configured to control when and/or how the stimulation system 106 applies stimulation to the electrode 112. The controller 104 may be configured to determine the respiratory waveform of the patient or a model of the respiratory waveform based at least in part on the sensory data from the sensor 102 and to control the simulation system 106 based on the respiratory waveform or model respiratory waveform. For example, the controller 104 may control the stimulation system 106 to apply stimulation during the inspiratory period of the respiration waveform, to apply stimulation during the expiratory period of the respiratory waveform, or to apply stimulation during particular parts of the inspiratory and/or expiratory portions of the respiratory waveform.
[0039] The communications system 108 may provide one or more wireless links 116, through the skin 117 of a patient, to at least one external sensor 120, the remote control 130, and/or the clinician programmer 140. The external sensor 120, the remote control 130, and the clinician programmer 140 may also include respective communications systems, which may provide wireless links 118 between the external sensor 120, the remote control 130, the clinician programmer 140, and the Internet and/or cloud services 150. The wireless links 116 and/or 118 can utilize Bluetooth, Bluetooth Low Energy, or other wireless communication protocols. The wireless links 116 and/or 118 may include authentication and encryption suitable to protect patient data.
[0040] In some embodiments, at least one sensor 102 is a pressure sensor or an inertial measurement unit (IMU) configured to generate sensory data corresponding to the movement of the thoracic or abdominal cavity of a patient during respiration. In one embodiment, the sensor 102 is a 6-axis IMU. The IMU data may be used to extract various physiological parameters related to respiration, such as respiration rate and/or amplitude. In some embodiments, the IMU sensor may sense a seismo-cardiogram (SCG), which is the mechanical wave caused due to the heartbeat of the patient. The controller 104 may process the SCG data received from the IMU sensor to extract various features, such as heart rate and heart rate variability. These features can be used by the controller to aid in the detection of the respiration pattern of the patient. In some embodiments, the controller 104 may apply a system of machine learning algorithms to the features to aid in detection of the respiration pattern. The sensory data from the IMU can be the primary source of data for the controller 104 to determine the appropriate stimulation timing or parameters to be given to the stimulation system 106 and to the nerve being stimulated via the electrode 112.
[0041] The system 100 may be configured to deliver stimulation to a nerve innervating the upper airway of the patient through the electrode 112 implanted proximate the nerve. In some embodiments, the nerve is the hypoglossal nerve. In some embodiments, the upper airway muscle comprises the genioglossus, the geniohyoid, or some combination thereof. When the nerve is stimulated, it activates the upper airway muscle, thereby preventing or alleviating obstructive apneic events. In some embodiments, the stimulation system 106 applies stimulation to the nerve with an intensity sufficient to promote tonus in the upper airway muscle. In some embodiments, the stimulation system 106 applies stimulation to the nerve with an intensity sufficient to cause bulk muscle movement in the upper airway muscle. The stimulation system 106 is coupled to controller 104. The controller 104 receives the sensory data from one or more internal sensors 102 and/or sensory data from one or more external sensor 120, and controls when the stimulation system 106 applies stimulation. In some embodiments, the controller 104 can control the intensity of the stimulation applied by the stimulation system 106. In some embodiments, the stimulation system 106 may apply different intensities of stimulation by changing the amplitude, the pulse width, or the frequency of the stimulation. In some aspects, the control 104 controls the amplitude, the pulse width, or the frequency of the stimulation applied by the stimulation system 106.
[0042] The stimulator 110 may be configured to receive sensory data from one or more external sensors 120 (e.g., a body-worn sensor) and to apply stimulation therapy to the patient based on the sensory data received from the external sensor 120. The external sensor 120 may have at least one physiological sensor configured to generate sensory data based on monitoring a physiological parameter of the patient, such as SpO.sub.2, heart rate, or respiration, or based on sense ECG, EEG, or EOG data. SpO.sub.2 data can be used to measure oxygen desaturation events, which could be used to provide additional data for apneic events. Apneic events can be detected by determining that the regular respiratory pattern, as detected by the implanted IMU or pressure sensor, has become irregular for a number of cycles (e.g., at least 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10 cycles). Waveforms and parameters indicative of an irregular respiratory pattern are disclosed, e.g., in U.S. Pat. Nos. 5,540,731 and 8,938,299, the entire contents of which are incorporated herein by reference. Data obtained from the one or more external sensors 120 provides additional information that may be used (e.g., by the controller 104) for apnea detection, providing potential benefits such as increased accuracy and improved patient compliance. For example, an external LED-based SpO.sub.2 sensor is less uncomfortable to a patient than a system that requires a CPAP mask. The external sensors 120 may take one of many forms such as: a watch or fitness monitor as shown in
[0043] In some aspects, the system 100 may use the sensory data generated by at least one external sensor 120 to dynamically titrate therapy delivered to the patient, to determine when to apply stimulation to the patient, and/or when to turn stimulation therapy on or off. The controller 104 may utilize ECG or heart rate data received from the external sensor 120 to augment inertial data (either inertial data generated by the internal sensor 102, inertial data generated by the external sensor 120, or inertial data generated by a separate external sensor) to make sleep stage decisions which may be more accurate than sleep stage decisions based on inertial data alone. In some embodiments, the controller 104 may use machine learning methods to make the sleep stage decisions. The controller 104 may control the stimulation applied by the stimulation system 106 based on the sleep stage decisions. For example, the controller 104 may utilize the sleep stage decisions to determine whether to turn stimulation therapy on and off (e.g., turning stimulation therapy on when the sleep stage decisions indicate that the patient is asleep, turning stimulation therapy off when the sleep stage decisions indicate that the patient is not asleep).
[0044] In some aspects, the system 100 may use the sensory data generated by at least one external sensor 120 to determine parameters of the application of stimulation applied to the patient (e.g., where stimulation is applied during specific parts of the respiratory cycle, when to apply stimulation, and/or intensity of stimulation applied). For example, the external sensor 120 may comprise a respiration rate sensor. The controller 104 may utilize the respiration rate sensory data from the external sensor 120, in addition to or as an alternative to the sensory data from the internal sensor 102, to measure the respiratory cycle and control when stimulation is applied to the nerve during the respiratory cycle.
[0045] In some aspects, the system 100 may use the sensory data generated by at least one external sensor 120 to control when to turn therapy on or off. For example, an external sensor 120 that provides sleep stage and apneic event information can be used to turn on therapy at night and/or to dynamically titrate therapy based on the apnea-hypopnea index (AHI) which is an indication of the severity of a person's sleep apnea.
[0046] An external sensor 120 such as an EEG sensor may provide sleep stage data, i.e., alpha, theta, delta, sleep spindles and/or slow waves. One or more machine learning algorithms may classify the EEG data and generate probabilistic outputs for the various sleep stages. Such a system can be used to: quantify metrics of improvement of sleep quality, such as for example being able to measure OSA patients getting more REM sleep, with therapy on versus therapy off. Such a system may also dynamically titrate stimulation parameters based on the sleep stage, such as for example increasing pulse amplitude during REM stages when neural drive to the hypoglossal nerve is low. The system can also turn therapy on or off based on the detection of a patient's state of wakefulness. Sleep stage data can be periodically sent by the system 100 to the patient's physician or health care provider via the wireless connection 118 to the Internet 150. The statistical analysis of sleep metrics as a function of sleep stages for a patient or group of patients could prove to be useful to improve nerve stimulation algorithms for OSA patients.
[0047] In some aspects, the controller 104 may monitor the wireless link 116 between the external sensor 120 and the stimulator 110, and may apply stimulation therapy based on the wireless link 116. The controller 104 may be configured with a default therapy and with an external-sensor-influenced therapy which is responsive to the sensory data received from the external sensor 120. Where the wireless link between the external sensor 120 and the stimulation 110 is operational, the controller 104 may utilize the external-sensor-influenced therapy. In situations where the wireless link 116 becomes poor in quality, the controller 104 may utilize the default therapy to provide OSA treatment to the patient throughout the night. The stimulator 110 may thereby continue to provide OSA treatment when a poor wireless connection is experienced or where operation of the external sensor 120 fails (e.g., a battery of the external sensor 120 dies). The external sensor 120 may thus be used to “augment” decisions and not be used as the main sensor for timing stimulation. Such a system would therefore provide potentially better treatment to the patient in case the wireless link between the external sensors and the implanted stimulator 110 is inadequate for stable wireless communication. The system 100 may default to a safe mode when the wireless link fades or is not existent.
[0048] In some aspects the functionality provided by the controller 104 may be supplemented by an auxiliary controller (e.g., implemented as software on an external device that is wirelessly coupled to the controller 104 and optionally to one or more of the sensors 120). In such configurations, the implanted controller 104 would operate as the primary controller of the stimulation system 106 for safety purposes. However, processing of sensor data may be at least partially offloaded to the auxiliary controller. For example, computationally-intensive processing tasks such as machine learning based analysis of sensor data may be handled by the auxiliary controller. The output from such processing, such as timing and/or other intensity (e.g., voltage, frequency) parameters for stimulation, may then be communicated to the controller 104. The controller 104 may optionally be configured to take this additional input from the auxiliary controller into account when determining final parameters to be applied by the stimulation system 106. Offloading at least some processing to an auxiliary controller may advantageously conserve battery power. In addition, algorithms that would not have been considered viable due to the power constraints associated with an implanted battery may be reasonable to implement using an external device. Moreover, it is easier to update the firmware, software, etc. of an external device rather than an implanted device, and so an externally-situated auxiliary controller may be updated more frequently and/or easily.
[0049] The remote control 130 may communicate with the stimulator 110 to control aspects of the operation of the stimulator 110 based on user input received at the remote control 130. For example, the remote control 130 may be configured to receive a user input identifying a selected intensity for treatment. The remote control 130 may communicate the selected intensity to the stimulator 110 via the communications system 108, and the controller 104 may control the intensity of therapy applied based on the selected intensity. In another example, the remote control 130 may be configured to receive a user input selecting an on/off state for the system 100. The remote control 130 may communicate the selected on/off state to the stimulator 110 via the communications system 108, and the controller 104 may control whether therapy is applied by the stimulator 110 based on the selected on-off state. The clinician programmer 140 may be configured to receive user input (e.g., from a clinician configuring the stimulator 110) and to transmit the user input to the stimulator 110 via the communications system 108. The user input received from the clinician programmer 140 may be configuration information for operation of the stimulator 110 (e.g., identifying contacts of a multi-contact electrode to which stimulation should be applied; identifying an intensity of stimulation to be applied or a range of allowed intensities), and the controller 104, the stimulation system 106, or another element of the simulator 110 may operate based on the received configuration information. The remote control 130 and/or the clinician programmer 140 may be implemented using a smartphone, tablet, or other computing device configured with an application for communicating with the stimulator 110.
[0050] In some embodiments, the Internet and/or cloud services 150 may provide a history related to OSA treatment for the patient. For example, the stimulator 110 may transmit data related to therapy applied (e.g., duration of applied stimulation or intensity of applied stimulation) or related to efficacy of treatment (e.g., apnea-hypopnea index (AHI)) to the remote control 130 or to the clinician programmer 140, and the remote control 130 or the clinician programmer 140 may transmit the data to the Internet and/or cloud service 150 to be compiled. In some embodiments, the Internet and/or cloud services 150 may provide for remote monitoring of OSA treatment for the patient. For example, the data related to therapy applied or related to efficacy of treatment may be compiled and made accessible to a doctor or clinician providing OSA treatment for the patient. In some aspects, the stimulator 110 may transmit the data related to therapy applied or related to efficacy of treatment to the remote control 130, the remote control 130 may transmit the data to the Internet and/or cloud services 150, and the clinician programmer 140 may access and display the compiled data to assist the user of the clinician programmer 140 in the configuration of the stimulator 110. In some embodiments, the Internet and/or cloud services 150 may provide for remote updating of OSA treatment for the patient. For example, the clinician or doctor may make configuration changes via the Internet and/or cloud services 150, and the Internet and/or cloud services 150 may transmit the configuration changes to the stimulator 110 via the remote control 130 or the clinician programmer 140.
[0051] In some aspects, the system 100 may further comprise an external power source (e.g., a rechargeable or primary battery pack) configured to power the at least one sensor 102, the stimulation system 106, and/or the communications system 108. Power may be provided to any implanted components of the system, by induction. An external battery pack can be easily replaced compared to an implanted device with a battery. No surgeries are required to replace the battery because the battery is a part of the external system. Systems configured according to this exemplary aspect are advantageous in that the use of an external power source allows for much smaller implantable systems and consequently, less invasive surgery. Furthermore, by moving the power source to an external location, size is no longer a limiting factor. Large battery packs can be used, allowing for systems that are capable of providing therapy for longer periods of time. Similar benefits are provided by the use of at least one external sensor 120. An implanted sensor has to be surgically implanted in location that allows for the sensing of one or more adequate respiration artifacts. In contrast, by placing the sensor externally to the body, the risk of poor placement is mitigated. Furthermore, external components (e.g., a power source and the one or more external sensors 120) may be more easily updated (e.g., to update firmware, or to adjust algorithms used by such devices) and in the case of external sensors 120, data may be more easily exported from such devices (e.g., for diagnostic purposes or for clinical studies).
[0052]
[0053] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Terms such as “if,” “when,” and “while” should be interpreted to mean “under the condition that” rather than imply an immediate temporal relationship or reaction. That is, these phrases, e.g., “when,” do not imply an immediate action in response to or during the occurrence of an action, but simply imply that if a condition is met then an action will occur, but without requiring a specific or immediate time constraint for the action to occur. The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects. Unless specifically stated otherwise, the term “some” refers to one or more. Combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof” may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, where any such combinations may contain one or more member or members of A, B, or C. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. The words “module,” “mechanism,” “element,” “device,” and the like may not be a substitute for the word “means.” As such, no claim element is to be construed as a means plus function unless the element is expressly recited using the phrase “means for.”