Devices that determine various health parameters are used regularly by consumers and medical personnel. For example, the measurement of blood oxygen saturation (SpO2), pulse rate (PR), and perfusion index (PI) are health parameters consumers and medical personnel monitor to receive feedback on the user's health and/or fitness.
Embodiments disclosed herein enable clinical-grade monitoring technology in a number of applications where low-cost, wireless, multi-parameter, single-use and multi-use medical and fitness and/or wellness devices are useful and beneficial. Wireless characteristics enable convenience, comfort, and/or freedom of movement for the user. The interplay between single-use and multi-use designs enables use-case flexibility. In medical applications, single-use designs reduce the risks of cross contamination and healthcare associated infections, simplifies workflow, and eliminates failures due to equipment wear and tear. In fitness and wellness applications, multi-use designs enable more affordable solutions for personal use. Embodiments of the monitoring technology can be applied to a number of clinical settings and fitness and wellness applications, including pulse oximetry for COPD, anesthesia, aviation and sports, apnea detection, and oxygen therapy, non-invasive continuous blood glucose monitoring for diabetes disease management, continuous body temperature monitoring, ECG spot-check monitoring, electroencephalogram (EEG) continuous monitoring, non-invasive monitoring of water in blood for body hydration management, non-invasive total hemoglobin monitoring for anemia and/or blood transfusion management, continuous dyshemoglobinemia monitoring, among many others.
The monitoring device can be a distinct monitoring device that attaches to a measurement site of a user or and animal. Alternatively, one or more monitoring devices may be included in a wearable monitoring device or a smart garment. A wearable monitoring device includes, but is not limited to, eyewear, jewelry, and other technologies that are worn on or in the body of a user or an animal. In some embodiments, a wearable monitoring device or smart garment is powered by one or more bio-batteries that is each formed by a cathode electrode and an anode electrode in partial or complete contact with the body (e.g., skin) of the user or the animal.
A monitoring device, a wearable monitoring device, or a smart garment can include first circuitry comprising an authentication and/or storage memory or memories operably connected to a processing device (e.g., microprocessor(s)), wireless communication device(s), input/output (IO) interface circuitry, and power management circuitry. The monitoring device, wearable monitoring device, or smart garment may further include second circuitry that comprises an optical frontend operably connected to optical sensor(s), an electrical frontend operably connected to electrical sensor(s), an ultrasound frontend operably connected to ultrasound sensor(s), a temperature frontend operably connected to temperature sensor(s), a motion and/or posture frontend operably connected to motion and/or posture sensor(s), and/or a location and/or environmental frontend operably connected to location and/or environmental sensors. The electrical sensor(s), ultrasound sensor(s), temperature sensor(s), motion and/or posture sensor(s), and location/environmental sensor(s) are auxiliary sensors. In one embodiment, the optical frontend, the electrical frontend, the ultrasound frontend, the temperature frontend, the motion and/or posture frontend, and/or the location and/or environmental frontend control the transmission of data that is captured by the optical sensor(s), the electrical sensor(s), the ultrasound sensor(s), the temperature sensor(s), the motion and/or posture sensor(s), and/or the location and/or environmental sensors, respectively.
In one aspect, a monitoring device, wearable monitoring device, or smart garment includes an optical sensor, a temperature sensor, a first electrical contact sensor, and a second electrical contact sensor within an enclosure of the monitoring device. The optical sensor includes a light source and a photodetector positioned adjacent a first surface of the enclosure. The light source is operable to emit light towards the measurement site and the photodetector is operable to receive light reflected from the measurement site when the first surface is in contact with a measurement site of a first body part of a user. The temperature sensor is positioned adjacent the first surface of the enclosure and is operable to measure a temperature at the measurement site when the first surface is in contact with the measurement site. The first electrical contact sensor is positioned adjacent the first surface of the enclosure to be in contact with the measurement site when the first surface is in contact with the measurement site. The second electrical contact sensor is positioned adjacent a second surface of the enclosure. The first and the second electrical contact sensors detect heart signals when a different second body part of the user contacts the second electrical contact sensor. The monitoring device also includes a wireless communication device that is operable to transmit signals received from the photodetector, temperature measurements, and the heart signals to an application program on a host device.
In some aspects, the temperature of a user (e.g., skin temperature) is measured at one or more extremities of the user. The temperature can be can be used as a proxy for the user's “comfort level”. Other measurements can be used in combination with the continuous temperature measurements to determine the user's “comfort level”. For example, other physiological measurements such as heart rate, perfusion index, pulse amplitude, respiration rate, oxygen saturation, and the like can be combined with the continuous temperature measurements.
The monitoring device, wearable monitoring device, or smart garment can be operably connected to a host device, a computing system, and/or a cloud computing system. The host device and the computing system can each be in the same location (e.g., room) as the monitoring device, wearable monitoring device, or smart garment. Alternatively, the monitoring device, wearable monitoring device, or smart garment along with the host device and/or the computing system can form a distributed system where the monitoring device, wearable monitoring device, or smart garment is in one location and the host device and/or the computing system is in another (different) location.
The monitoring device can obtain measurements for various physiological parameters continuously or at select times and transmit the measurements to the host device, the computing system, and/or the cloud computing system. An application program on the host device can display a measurement gauge for one or more physiological parameters, a body temperature gauge, one or more waveforms, and/or trend waveforms or charts in a user interface screen of the application program. The application program can generate an alarm when a physiological parameter exceeds an upper limit and/or is below a lower limit. The upper and lower limits can be set in a settings user interface screen of the application program
In some aspects, the battery life of the battery in the monitoring device can be estimated by the application program on the host device, by the monitoring device, or in a distributed process using both the host device and the monitoring device. The computations in are performed in both a closed loop and an open loop via different functions. In the closed loop, the battery voltage and/or other available parameters of interest (e.g., ambient temperature, circuitry loads, etc.) is used to estimate the battery charge directly. In the open loop, the battery charge is estimated indirectly using one or more counters and/or other available parameters of interest (e.g., ambient temperature, circuitry loads, etc.).
In some embodiments, an authentication method includes the host device receiving a first identifier from the monitoring device. The host device authenticates the monitoring device based on the first identifier. In a non-limiting example, the first identifier is created when the monitoring device is manufactured using a unique factory-programmed identifier(s) stored in the processing device or the memory (e.g., a secure memory) in the monitoring device. If the authentication is successful the host device sends a second identifier to the monitoring device. In one embodiment, the second identifier is calculated from the authenticated first identifier. The monitoring device receives the second identifier and compares the second identifier with an internally calculated or stored third identifier. In one embodiment, the second identifier is a second hash code computed by the host device and the third identifier is a third hash code calculated by the monitoring device from the same data stored in the first identifier. When the second and the third identifiers match, the monitoring device is authenticated and a connection (e.g., a wireless connection) is established between the monitoring device and the host device.
In one aspect, a wearable monitoring device or garment are made so that the biological tissue of a user (e.g., the skin) acts as the electrolytes of a battery, and circuitry in the wearable monitoring device or garment provides the electrodes (i.e., cathode(s) and anode(s)) of the battery.
In some embodiments, a distributed fuel gauge system is used to measure the battery life of the monitoring device. The distributed fuel gauge system relies on measurements of the battery and circuitry (e.g., temperatures, clock frequencies, currents, voltages, loads, etc.) that are taken by the monitoring device and transmitted to the host device. In addition, the monitoring device can maintain one or more non-volatile counters that log the energy consumed by the monitoring device in each of the states of the monitoring device. In one example, the monitoring device can have a standby counter that is active whenever the monitoring device is in standby and is not connected to the host device. Additionally or alternatively, the monitoring device may have a usage counter that is active whenever the monitoring device is running and/or is connected to the host device. A connection timer (watchdog timer) can also be used.
Example operations that can be performed while a monitoring device is running and connected to a host device include acquiring data streams and demodulating and demultiplexing the data streams to produce individual data streams. Auxiliary data streams can also be demodulated and/or demultiplexed. For instance, the monitoring device can also produce a time-multiplexed data stream where each time slot provides a value that can be from an electrical current, a resistance, or a voltage variable, a temperature variable, a digital counter variable, or a diagnostic variable. The auxiliary data stream is demultiplexed to produce a number of data streams, one for each time multiplexed variable. The demultiplexed data streams are then operated on by a decimation process, where the sampling rate and the frequency bandwidth of the demultiplexed data streams are reduced to minimize the signal processing requirements, to reduce power consumption, and/or to increase the signal-to-noise ratio through averaging by the decimation filters. The auxiliary data streams can be decimated or interpolated depending on the desired sampling frequency. Additional calculations can be performed, where the additional calculations include operations for converting scales of data streams and variables, electronic saturation detection, or any other computation performed by or for the device firmware in the monitoring device. The demodulated, demultiplexed, and decimated data streams and auxiliary data streams (if any), along with other optional parameters and variables are sent to a host device. The data streams are received in real-time by the host device, and in one embodiment are further processed by the host device.
In another aspect, a hybrid system that employs state space representation for the measurement algorithms. A hybrid system is a system that exhibits both continuous and discrete dynamic behavior. In some embodiments, data in the hybrid system is processed in a discrete-time periods. In such embodiments, data processing is performed for each epoch (e.g., each discrete time period). The method includes initializing one or more constants and the input, output, and current state variables (i.e., state variables defined in current epoch) using the one or more initialized constants and/or one or more default values. Real-time data is received by the host device from the monitoring device and the next states and outputs are calculated from the one or more inputs, the current states, and the one or more constants. The current states are then updated from the calculated next states. The data that is displayed, shared, and/or stored is updated, along with any alarms, fuel gauges (e.g., battery icon), and/or notifications.
In an example embodiment, an optical sensor is positioned within an enclosure of a monitoring device. The optical sensor includes a light source and a photodetector, where the light source is operable to emit light towards a measurement site and the photodetector is operable to receive light reflected from the measurement site when the first surface is in contact with a measurement site of a first body part of a user. The monitoring device also includes within the enclosure an auxiliary sensor, a wireless communication device, a memory, and a processing device operably connected to the optical sensor, the auxiliary sensor, the memory, and the wireless communication device. The memory stores instructions, that when executed by the processing device, cause operations to be performed. The operations include receiving a data stream from the optical sensor and receiving an auxiliary data stream from the auxiliary sensor. The data stream is demodulated and demulitplexed to produce at least two individual data streams. The at least two individual data streams are decimated to produce at least two decimated individual data streams. The auxiliary data stream is demodulated and decimated to produce a time-multiplexed data stream. The at least two decimated individual data streams and the time-multiplexed data stream are transmitted to a computing device using the wireless communication device.
In one aspect, a method includes receiving a data stream from the optical sensor; receiving an auxiliary data stream from the auxiliary sensor; demodulating and demultiplexing the data stream to produce at least two individual data streams; decimating the at least two individual data streams to produce at least two decimated individual data steams; demodulating and demultiplexing the auxiliary data stream to produce a time-multiplexed data stream; and transmitting, using the wireless communication device, the at least two decimated individual data streams and the time-multiplexed data stream to a computing device.
Non-limiting, and non-exhaustive examples are described with reference to the following Figures. The elements of the drawings are not necessarily to scale relative to each other. Identical reference numerals have been used, where possible, to designate identical features that are common to the figures.
As used herein, the term “optimal” is intended to be construed broadly and is intended to cover values and models that provide best, substantially best, and acceptable values and models. As used herein, the term “data stream” refers to data sequentially indexed by an exogenous quantity (e.g., time, space, etc.). For instance, data streams that are function of time, are assumed to be indexed by time such as in a discrete-time system. Data streams that are function of space, are assumed to be indexed by space. Depending on the application, data streams can be indexed by quantities that have physical meaning or that are abstract in nature. The embodiments disclosed herein can be applied to any data stream regardless of its indexing or sampling method.
As used herein, variables and functions can have implicit or explicit arguments in equations, drawings, and text. This is used in order to simplify notation. For instance, whenever possible, a variable or function x(t, i) can have some of its arguments dropped (e.g., x(i), x(t)) in a particular equation, figure, or text in order to make the description shorter and more easily readable. For instance, if a variable or function x(t, i) is written as x(i), it means that “t” is an implicit argument and “i” is an explicit argument. In addition, depending on the context, x(t) can represent a variable or function in time, a set of discrete-time points of a variable or function, or a continuous range of values for a variable or function in time. The term “epoch” is used to define time or time periodicity for a particular embodiment. For instance, a data stream s(t) can be processed every time “epoch”, which means that a sample, or a finite set of samples, or a range of values, or a continuous range of values was processed every certain amount of time, which can be a whole or a fraction of the elapsed time interval. The same is applicable to a set of data streams, sk(t), where “k”, or some other variable, indexes each data stream in the set. The time intervals between epochs can be constant or variable depending on the context and application. Hence, epochs “t”, “(t+1)”, . . . , can indicate the evolution of time represented by constant or variable time intervals. The calculations, processing, and manipulations that occur at each epoch “t”, “(t+1)”, . . . , can refer to a single point in time, several points in time, several points in time between adjacent, consecutive, or disjoint epochs, or a time interval, depending on the application and/or context. In a particular equation, figure, or text, the notation x(t, i) can represent a single point in time for a single instance of “x” indexed by a particular “i”, a single point in time for all instances of “x” indexed by “i”, several points in time for a single instance of “x” indexed by a particular “i”, several points in time for all instances of “x” indexed by “i”, etc. The notation x(t, i) can also represent an instance or several instances of a multi-dimensional variable or function indexed by “i”. In this case, a point becomes a vector, array, matrix, or a set of values. In the case of continuous systems, several points or a set of values in time are replaced with ranges of continuous values or sets of continuous values in time.
As used herein, a series of functions, variables, data streams, data sets, models, reference models, etc. are indexed by variables so as to represent the entire series, an instance of series, or several instances of series. For instance, mk,i(t) or ƒk,i(t) represent a series of data streams or data sets indexed by “i”, with elements indexed by “k”, where each element comprises of a stream with a single value or a plurality of values as function of time epoch “t”. Variables such as rk,j, Corrk(i), and wk,i, for example, represent a series of parameters or metrics indexed by “j” or “i”, where each element “k” comprises of a single value or a plurality of values. The argument “t” has been dropped from rk,i, Corrk(i), and wk,i to simplify notation. However, they are also evaluated at each time epoch “t”, and as result, they implicitly are functions of time or some other exogenous component quantity that can be used to sequence events or dynamic behavior.
As used herein, the symbols “*” and “+” can be used as a superscript to denote an optimal solution or optimal values for a particular variable or function. For instance, gk,i* represents the optimal value for parameter gk,i, or the optimal values for series of parameters gk,i indexed by “i”, where each parameter comprises of a set of values indexed by “k”. Even though the argument “t” has been dropped from gk,i*, its value or values are evaluated at each time epoch “t”, and as result, gk,i* is implicitly function of time. Series of indexed measurements such as PR(i), SpO2(i), and PI(i) are indexed by “i” and are computed at each time epoch “t”. The corresponding measurements PR(i+), SpO2(i+), and PI(i+) are selected at each time epoch “t” via optimal index “i+” value that has been determinate by means of computation algorithms (e.g., classification, optimization, search, etc.).
In general, the term “firmware” is used in conjunction with a monitoring device to distinguish from the program instructions in a host device, and the terms “software” and “application” are used in conjunction with a host device to distinguish from the program instructions in a monitoring device. However, the terms “firmware”, “software”, and “application” are to be construed broadly and are intended to cover software, firmware, and combinations thereof. The use of the term “firmware” does not limit embodiments to only firmware in a monitoring device. Similarly, the use of the terms “software” and “application” do not limit embodiments to only software and/or an application in a host device.
A user can be a layperson, a patient in a medical setting or under medical care, an athlete, an animal, or another person who uses a monitoring device as described herein. A caregiver can be a doctor, a nurse, another medical professional, an at-home care provider, a family or friend, or any other person assisting, monitoring, or otherwise associated with the care of a user.
Reference will now be made in detail to representative embodiments illustrated in the accompanying drawings. It should be understood that the following descriptions are not intended to limit the embodiments to the described example embodiments. A monitoring device is an electronic fitness or monitoring device that measures, tracks, and/or reports data regarding a comfort level of a user and/or measurements of one or more physiological parameters, including, but not limited to, heart rate, blood perfusion, oxygen saturation, body temperature, calorie count, and the like. The measurements or data relating to the measurements of the one or more physiological parameters can be sent to a computing device for further processing. For example, oxygen saturation (SpO2), pulse rate (PR), perfusion index (PI), and/or pulse amplitude (PA) can be estimated on a computing device.
In one embodiment, the monitoring device 100 includes a processing device 102, instrumentation circuitry 107, a communication device 103, and a storage device 115. The instrumentation circuitry 107, the communication device 103, and the storage device 115 are connected to the processing device(s) 102. A converter 108 is connected to the instrumentation circuitry 107 and switching circuitry 112. The communication device 103, the storage device 115, the processing device 102, and the instrumentation circuitry 107 along with a power supply 109 are connected to the switching circuitry 112. The monitoring device 100 may also include adhesive tape to attach the monitoring device 100 to a measurement site.
The monitoring device 100 may be turned on using the switching circuitry 112. In one instance, the switching circuitry 112 is a single-use, conductive tape-switch. The instrumentation circuitry 107 may include one or more light sources, such as a light-emitting diode (LED), control circuitry and logic, and one or more photodetectors, such as a photodiode. The communication device 103 can be any suitable type of communication device, including, but not limited to, a wireless low energy radio (examples of which include, but are not limited to, BLE, ANT, Zigbee, etc.). Wireless connection and authentication (when required) between communication devices 116 and 103 can be accomplished through standard pairing methods (i.e., Just Works, etc.) and out-of-band methods, such as Near-Field Communication (NFC), barcode/image scanning, or via an optical link between the optical sensor 110 and camera (or optical sensor) housed in the host device 105. Depending on the configuration of the monitoring device 100, the storage device 115 may comprise, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (e.g., read-only memory), flash memory, or any combination of such memories.
The monitoring device 100 can be communicatively coupled to a host device 105, such as a smart phone, a tablet computing device, a desktop or laptop computer, a wireless computing and/or data aggregator appliance device, a bedside monitor, or a similar computing device through a wired or wireless connection. The host device 105 can include a communication device 116 and a storage device 118 connected to a processing device 117. The monitoring device 100 transmits, via the communication device 103, measurement data to the host device 105 (via the communication device 116) to be processed, displayed and/or stored. The measurement data can be used for alarms, for electronic medical record data transfer, for data sharing, and/or for other uses of the data.
The host device 105 may further include one or more input devices (represented by input device 121) and/or one or more output devices (represented by output device 122). The input and output devices 121, 122 are connected to the processing device 117. The input device 121 can be implemented as any suitable input device, such as a keyboard (physical or virtual), a mouse, a trackball, a microphone (for voice recognition), an image capture device, and/or a touchscreen or touch display, or any other computer-generated perceptual input information. The output device 122 may be implemented as any suitable output device, such as a display, one or more speakers, and/or a printer, or any other computer-generated perceptual output information. In some embodiments, the measurement data or data representative of the measurement data can be provided to the output device 122. For example, the measurement data or data representative of the measurement data may be displayed on a display.
In some embodiments, the host device 105 and/or the monitoring device 100 can access an external storage device 119 through one or more networks (represented by network 120) to store and/or retrieve measurement data. In one or more embodiments, the network 120 is illustrative of any suitable type of network, for example, an intranet, and/or a distributed computing network (e.g., the Internet) over which the computing device and/or the monitoring device 100 may communicate with other computing devices.
As will be described in more detail later, the measurement data produced by the monitoring device 100 can be processed to determine or estimate one or more physiological parameters (e.g., pulse rate, blood oxygen saturation, calorie count). As part of the processing, one or more signals are processed with a numerical solver device. The numerical solver device can be implemented with one or more circuits (circuitry), a software algorithm or program executed by one or more processing devices (e.g., processing device 102 and/or processing device 117), or a combination of circuitry and a software algorithm.
For example, in one embodiment, the storage device 115 in the monitoring device 100 can include a number of software programs or algorithms and data files, including a numerical solver device. While executing on the processing device 102, the numerical solver device may perform and/or cause to be performed processes including, but not limited to, the aspects as described herein. In another embodiment, the storage device 118 in the host device 105 can include a number of software programs or algorithms and data files, including a numerical solver device. While executing on the processing device 117, the numerical solver device may perform and/or cause to be performed processes including, but not limited to, the aspects as described herein. In yet other embodiments, the operations of the numerical solver device are distributed such that some of the operations are performed by the processing device 102 and some of the operations are performed by the processing device 117.
Small Footprint
Embodiments of the monitoring device can provide a relatively small footprint (size). Among other aspects, a smaller size can require less material in manufacturing, improved ease of use, less room required for storage, less costs for transport, and a less intrusive device and instrument for users' increased comfort and mobility when using the monitoring device. In one embodiment, the monitoring device 100 may include a printed circuit board (PCB) comprising the processing device 102 with an integrated communication device 103, a compact integrated circuit that includes the instrumentation circuitry 107 for signal conditioning and LED current driving, the power supply 109, and the converter 108. The power supply 109 combined with the converter 108 provide the required higher voltage to drive the light sources 113 and/or a photodetector 114 of the optical sensor 110. In one embodiment, the converter 108 is a single DC-DC switched converter, the power supply 109 is a disposable battery, the light sources 113 are LEDs, and the photodetector 114 is a silicon photodiode.
The processing device 102 and the instrumentation circuitry 107 can be powered directly by the power supply 109. The optical sensor 110 may be encapsulated with the PCB by any one of a wide variety of suitable apparatus and methods, including (by way of example) by attaching flexible adhesive tapes of various types (optionally combined with PTFE) to the PCB. Persons of ordinary skill in the art will understand that the PCB may be rigid or flexible, or be in the form of a substrate where some or all the components are die attached and wire bonded to the substrate, and encapsulated for protection using epoxy or some other encapsulation material. Further, the optical sensor 110 may be attached to a measurement site 111 using any of a wide variety of suitable apparatus and methods, including (by way of example) by using the adhesive tapes that are part of the optical sensor 110 encapsulation structure (as described herein).
Low Power Consumption
In some aspects, the processing device 102 is a low-power ARM processor with dual functionality for controlling a wireless low energy radio (communication device 103) and instrumentation circuitry 107. The optical sensor 110 can include high efficiency LEDs and at least one silicon photodiode that are arranged in a reflective configuration such that the LEDs and the at least one silicon photodiode are physically separated from each other to minimize the required LED currents and frontend gains in the instrumentation electronics. The instrumentation circuitry 107 may have very low bias currents and operate at low voltages. In one embodiment, ambient light interferences may be avoided or at least reduced by modulating and time-multiplexing the LEDs' currents at a higher frequency to shift the spectral content of the generated and detected optical signals to a range in the spectrum where ambient light interferences are less likely to occur.
In one embodiment, all of the components shown in
Electroencephalogram data changes when a user (e.g., a patient) is asleep or awake, and the brainwave pattern evolution can augment the detection of sleep modes (e.g., REM sleep and non-REM sleep). For applications where the electrical sensor(s) are placed on a measurement site on the user's upper or lower chest or the upper back, the electrical sensor(s) can be used to collect electrocardiogram (ECG) data. The ECG data can be used for the screening or diagnosis of cardiovascular diseases, as well as used in conjunction with optical data obtained by the optical sensor(s) to estimate pulse transit time and blood pressure. The ultrasound frontend 322 and the ultrasound sensor(s) 324 can be used to probe the measurement site for information related to geometry, tissue layer, and mechanical properties to augment and account for measurement site variabilities when measuring physiological parameters such as blood pressure, glucose, etc. The motion and/or posture frontend 330 and the motion and/or posture sensor(s) 332 can be used to measure, for instance, the user's physical motion and posture during sleep to improve the detection of the sleep modes. The location and environmental frontend 334 and the location and/or environmental sensor(s) 336 can be employed to measure the user's physical location, and/or environmental altitude, pressure, humidity, and/or temperature to account for measurement errors caused by changes in physiology due to environmental factors.
Depending on the application, the monitoring device 100 can be constructed so as to have disposable components 400 and/or reusable components 402. The components that are in contact with the user's skin (e.g., electrode(s), electrical sensor(s), optical sensor, etc.) can be designed to be single-use (disposable) to minimize the risks of cross contamination among users (e.g., patients). The electronics and the substrates can be made fully disposable or reusable (or partially reusable) to reduce the final cost per user of the monitoring device. Encapsulation and/or adhesive tapes 404 can be employed to optimize the attachment of the monitoring device 100 to a measurement site when the application requires prolonged use. The encapsulation can be reusable, partially reusable, or fully disposable depending on costs, risks, and regulations, and made out of foams, plastics, carbon fibers, organic and/or recyclable materials, paper, etc. Adhesive tapes can be designed to be disposable single- or multi-piece, with thermally and/or electrically conductive tapes, low-cost connectors and/or cables, low-cost self-aligning magnetic connectors to enable electrical, optical, thermal, and mechanical connections 406. In a medical setting, such as a hospital or a doctor's office, recharging the battery of the monitoring device 100 prior to use may be challenging given the complex scheduling, lack of resources, the number of users to examine that day, and/or the procedures to be performed. To simplify the workflow, the battery of the monitoring device can be made non-rechargeable and part of a single-use assembly with adhesive tapes, encapsulations, and/or other electronic components (e.g., low-cost anti-tamper memory part of the authentication and/or storage memory/memories 304 that prevents counterfeiting, and monitors device usage).
The monitoring device 100 may include an integrated circuit 502 (
As should be appreciated, the components depicted in
In
The monitoring device 100 in
The second electrical contact sensor (E2) 708 is positioned on an interior side of a second surface of the monitoring device 100. In
When the monitoring device 100 is placed or attached on the measurement site 700, the user can touch the electrical contact sensor 708 with a different body part (e.g., thumb 709 of the opposite hand) to create a closed electrical path to the user's heart 710 and enable the measurement of the user's heart electrical activity (e.g., an ECG). The first and the second electrical contact sensors 707, 708 can be connected to the ECG frontend circuitry 711 (depicted in
With reference to
In
In the modulation scheme depicted in
In some embodiments, a distributed computing architecture may be used to calculate one or more physiological parameters such as blood oxygen saturation (SpO2), pulse rate (PR), pulse amplitude (PA), and/or perfusion index (PI). For example, the SpO2, PR, PA, and PI are estimated on the host device 105 (e.g., a mobile phone or laptop) to increase the battery life of the monitoring device 100. In one embodiment, one or more numerical solver devices can be included in the backend algorithms of the host device 105. For example, a numerical solver device can be included in the oxygen saturation and pulse rate algorithm and in the perfusion index algorithm. In another example, one or more numerical solver devices can be a separate algorithm that is called by the oxygen saturation and pulse rate algorithm and by the perfusion index algorithm.
In other embodiments, one or more numerical solver devices can be included in the monitoring device 100. For example, one or more numerical solver devices may be implemented in the frontend algorithms, such as, for example, the demodulation algorithm.
A processing device in the monitoring device 100 (e.g., processing device 102 in
In an example embodiment, the monitoring device frontend from Texas Instruments (AFE4403) can be used as the instrumentation circuitry 107 in
Other example modulation schemes are shown in
In the method shown in
For the RED-GREEN-R Modulation scheme 1000 shown in
The Multi-Wavelength Sequential Modulation scheme 1002 shown in
In some embodiments, the method shown in
The Multi-Wavelength Modulation scheme 1002 shown in
Persons of ordinary skill in the art will understand that the wavelengths and other measurements and ranges discussed herein are generally intended to be representative of certain embodiments of the inventions, and not as limiting as to the many ways in which the inventions can be practiced.
As described earlier, a distributed computing architecture may be used to compute SpO2, PR, PA, and/or PI, where SpO2, PR, PA and/or PI are estimated on a host device 105 to increase the battery life of the monitoring device 100. The processing device in the monitoring device 100 (e.g., processing device 102 in
The host device 105 can be a mobile phone, a tablet computer, a desktop or laptop computer, a wall appliance, a dedicated monitor, a multi-parameter monitor, several wall appliances and or/computer devices working together in a distributed architecture to increase functionalities and wireless coverage range, etc. The host device 105 can be wireless or wired connected to the monitoring device 100 via the connection 1206. The host device 105 receives spot-check or continuous data from the monitoring device 100 and processes, stores, and presents visual, audible, olfactory, or tactile information that convey measurements, analysis, results, and alarms based on the data received from the monitoring device 100.
The computing system 1202 can be a mobile phone, a tablet computer, a desktop or laptop computer, a wall appliance, a dedicated monitor, a multi-parameter monitor, several wall appliances and or/computer devices working together in a distributed architecture to increase functionalities and wireless coverage range, etc. In one embodiment, the computing system 1202 can be connected to the host device 105 via the wired or wireless connection 1208. The computing system 1202 and the host device 105 may be connected to the cloud computing system 1204 via the wired or wireless connections 1210 and 1212, respectively, to provide additional functionalities, such as electronic health record (EHR) connectivity, distributed alarm, measurement, warning, and notification systems, etc.
The biosensing and supporting functionalities described herein are enabled by firmware 1214 in the monitoring device 100 and software 1216 in the host device 105. In one embodiment, the firmware 1214 and the software 1216 implement real-time systems. Real-time systems ensure that all tasks are executed substantially on time in applications that require immediate or timely responses. In another embodiment, the firmware 1214 and the software 1216 implement hybrid configurations where real-time systems are combined with non-time-critical systems. The hybrid configurations enable more flexible and efficient computing architectures where real-time tasks can take precedence over non-time-critical ones. One non-limiting example of a real-time system would be a discrete-time data collection system, where data samples are to be collected and processed with very low latency at consecutive time intervals. A non-limiting example of a non-time-critical system would be a monitor that calculates and displays measurements over time, in which the measurement refresh rate requirements and the data buffering capabilities allow for a variable latency time without compromising the safety and efficacy of the system.
In some instances, the monitoring device 100 and the host device 105 can be integrated into a single physical unit 1218 (
In
In
The embodiments in
The embodiments in
Continuing with step three, a second tab 2006 labeled “2” is removed to expose an adhesive tape that is used to attach the monitoring device 100 to a measurement site. For example, the adhesive tape can be a biocompatible adhesive tape. In one embodiment, a second electrical contact sensor (e.g., 708 in
Once the monitoring device is activated, the monitoring device can be connected to a host device.
Initially, a decision is made at block 2100 as to whether the host device has an authenticated first identifier (e.g., identifier A) for the monitoring device from a previous authentication process. If the host device does not have a previously authenticated first identifier, the method passes to block 2102 where the host device receives the first identifier from the monitoring device. The host device then authenticates the monitoring device using the first identifier (block 2104). In one embodiment, the first identifier is created when the monitoring device is manufactured using a unique factory-programmed identifier(s) stored in the processing device or the memory (e.g., a secure memory) in the monitoring device. Other information from the manufacturing process (e.g., lot number, expiration date, etc.) can be stored in the monitoring device along with the first identifier. The first identifier can be printed or transferred to a label, internal circuitry, or product packaging of the monitoring device during the manufacturing process.
In a non-limiting example, the first identifier is received by host device via barcode scanning of the monitoring device's label or product packaging. The host device perform the scanning by Radio-Frequency Identification, by optical identification, by means of optical sensors, or by any other technique that enables the transfer of identifiers. An example authentication process can include the host device (e.g., software running on the host device) computing a hash code (e.g., a first hash code) based on information stored in the first identifier and comparing the computed hash code to a hash code stored in the first identifier. The authentication of the monitoring device (e.g., the authentication of the first identifier) is successful when the calculated hash code matches the stored hash code.
Next, as shown in block 2106, a determination is made as to whether the authentication is successful or not. If the authentication fails (is not successful), the method returns to block 2100 and blocks 2100, 2102, 2104, and 2106 repeat. In one embodiment, blocks 2100, 2102, 2104, 2106 repeat for a given period of time. At the end of the period of time, and if the authentication is still unsuccessful, a notification and/or alert may be provided to the monitoring device and/or to the host device regarding the unsuccessful authentication. For example, the host device can display a notification and/or issue an audible alert.
When the authentication is successful at block 2106, or when the host device has a previously authenticated first identifier (block 2100), the process passes to block 2108. In block 2108, the host device sends a second identifier (e.g., identifier B) to the monitoring device. In one embodiment, the second identifier is calculated from the authenticated first identifier. For example, some or all of the data that is stored in the first identifier can be sent to the monitoring device or the host device can calculate a second hash code using data stored in the first identifier.
The monitoring device receives the second identifier and compares the second identifier with an internally calculated or stored third identifier (e.g., identifier B′) at block 2110. In one embodiment, the second identifier is a second hash code computed by the host device and the third identifier is a third hash code calculated by the monitoring device from the same data stored in the first identifier (e.g., the first unique factory-programmed identifier(s)) stored in the processing device or memory (e.g., a secure memory) of the monitoring device).
A determination is then made at block 2112 as to whether the second and the third identifiers match. If not, the method returns to block 2100 and blocks 2100, 2102, 2104, and 2106 repeat. In one embodiment, blocks 2100, 2102, 2104, 2106 repeat for a given period of time. At the end of the period of time, and if the authentication is still unsuccessful, a notification and/or alert may be provided to the monitoring device and/or to the host device regarding the unsuccessful authentication (block 2116). For example, the host device can display a notification and/or issue an audible alert.
When the second and the third identifiers match at block 2112, the monitoring device is authenticated and a connection (e.g., wireless connection) is established between the monitoring device and the host device (block 2114). In some embodiments, the authentication process can repeat a finite number of times before the authentication process ends. When the authentication process ends, other security mechanisms (e.g., recovery password, verification code etc.) can be performed to allow the authentication process to continue.
Once the connection between the monitoring device and the host device is established, an active noise floor measurement is performed on the host device (block 2204). In a non-limiting example, the monitoring device is placed in a dark environment (e.g., limited or no ambient light) for the active noise floor measurement. In another non-limiting example, the monitoring device modulates the light source signals and/or demodulates the received optical signals in order to enable active noise floor measurements under ambient light and/or electromagnetic interferences. The modulation and demodulation algorithms prevent ambient light signals and/or electromagnetic interferences from interfering with the active noise floor measurement. The noise floor measurement is used to quantify the signal-to-noise ratios and metrics that quantify the performance of the monitoring device prior to placing the monitoring device on a measurement site. The noise floor measurement is useful in applications that the manufacturing, storage, shipping and/or handling processes may cause the monitoring device to become out of specifications due to unforeseeable events. In an example embodiment, the noise floor measurement is generated by activating the one or more light sources (e.g., 113 in
In block 2206, a determination is made as to whether the computed signal-to-noise ratios and/or the metrics are acceptable (e.g., greater than a predefined threshold). If not, the host device indicates to the user that the monitoring is non-operational or defective and operations stop (blocks 2208 and 2209). For example, the host device can produce a visual notification and/or an audible alert. In an alternate embodiment, multiple noise floor runs can be acquired and processed before block 2206 is performed.
When the computed signal-to-noise ratios and/or the metrics are acceptable, the process passes to block 2210 where the monitoring device is attached to a measurement site. For example, the second tab 2006 in
A determination is then made at block 2302 as to whether the computed signal-to-noise ratios and/or the metrics are acceptable (e.g., greater than predefined thresholds). If the computed signal-to-noise ratios and/or the metrics are not acceptable, the monitoring device indicates to the user that the monitoring device is non-operational or defective and the operations end (blocks 2304 and 2209, respectively). For example, the monitoring device can produce a flashing light(s) in a particular pattern or mode using at least one light source in the monitoring device. In an alternate embodiment, multiple noise floor runs can be acquired and processed before block 2202 is performed.
When the computed signal-to-noise ratios and/or the metrics are acceptable, the process passes to block 2110 where the monitoring device is attached to a measurement site. The monitoring device is then connected (e.g., wirelessly connected) to the host device and the monitoring device and the host device enter normal monitoring operations (blocks 2102 and 2112, respectively).
The monitoring device then attempts to connect to a host device at block 2402. In one embodiment, the monitoring device repeatedly attempts to connect to the host device until the monitoring device either successfully connects to the host device or until the connection timer times out (e.g., expires). When the monitoring device successfully connects to the host device, the process passes to block 2404 where the monitoring device begins operations. In some embodiments, the connection timer is a watchdog timer that is reinitialized at select times or periodically by the monitoring device (e.g., the firmware 1214 in
When the monitoring device is not able to connect to the host device at block 2402 within the given time period or the monitoring device loses connection with the host device in block 2404 due to a hardware or a software fault, the connection timer (i.e., watchdog timer) times out, and the method continues at block 2406 where a reset operation on the monitoring device is performed. The processor and circuitry in the monitoring device are reset, and the indicator light is turned off. After a given period of time, the method returns to block 2400 where the processor and circuitry in the monitoring device are reinitialized (e.g., turned off and on) and the indicator light turned on. Blocks 2402 and 2404 or blocks 2402 and 2406 repeat.
The state transitions to state 1 (state 2504) when the event “Connected” 2506 occurs after a successful authentication process between the host device and the monitoring device 100 over a wireless or a wired connection (e.g., connection 1206 in
State 2 signals that the calibration process in the monitoring device is successfully completed. The event “Running” 2512, which causes the host software to transition from state 2 to state 3 (state 2514), indicates that real-time data transfer is taking place from the monitoring device to the host device and that the host software can start real-time data processing to store and share visual, audible, olfactory, or tactile information that convey measurements, analysis, and results. A transition from state 3 to state 4 (state 2516) occurs whenever a “Handling exception” event 2518 transpires and indicates that an exception or an error has occurred. Example exceptions include, but are not limited to, measurement alarms and warnings, an unreliable connection between the monitoring device and the host device, low or empty battery on the monitoring device, low battery on the host device, and errors including lost or invalid biosignal, lost connection between the host device and the monitoring device, software faults, and the like. The host software returns to state 3 (state 2514) once the exception has been handled. For instance, a measurement alarm may become inactive after the user state returns to normal.
When the exception has been handled, the event “Exception handled” 2520 occurs and the host software transitions to state 3 (state 2514). In the case of an ‘Error or disconnection” event 2522, the host software transitions to state 5 (state 2524), where some or all of the host software services, libraries, variables, and parameters are reinitialized. Once reinitialization is complete, the event “Initialized” 2526 occurs and the host software transitions to state 0 (state 2502). While at state 0 (state 2502), any “Error” event 2528 causes the host software to transition to state 5 (state 2524) for reinitialization, critical error handling, and/or critical error handling. While at state 1 (state 2504), any “Error or disconnection” event 2530 also causes the host software to transition to state 5 (state 2524) for reinitialization, critical error handling, and/or critical error handling.
The state of the device firmware transitions to state 1 (state 2604) when the event “Connected” 2606 occurs after a successful authentication process between the host device and the monitoring device over a wireless or a wired connection (e.g., connection 1206 in
State 2 signals that the calibration process of the monitoring device is in progress. The calibration process configures the monitoring device's dynamic range, sensing, and data collection settings for favorable or optimal compliance with the physical and physiological properties of the measurement site. The device firmware transitions from state 2 to state 3 (state 2612) after the “Calibration completed” event 2614 occurs and indicates that the calibration process of the monitoring device is complete.
The “Running” event 2616, which causes the device firmware to transition from state 3 to state 4 (state 2618), indicates that the monitoring device is sending data with favorable or optimal dynamic range, sensing, and data collection settings to the host device. A transition from state 4 to state 5 (state 2620) occurs whenever the “Error or disconnection” event 2622 transpires, which indicates that an error has occurred or that the connection between the monitoring device and the host device has become inoperable. Example errors include, but are not limited to, frontend electronic or optical saturation caused by changes in the measurement site, external environmental factors, interferences, faulty sensors, and the like. At state 5 some or all of the software services, libraries, variables, and parameters of the device firmware are reinitialized.
Once reinitialization is completed, the event “Initialized” 2624 occurs and the device firmware returns to state 0 (state 2602). While at state 0, any “Error” event 2626 causes the device firmware to transition from state 0 to state 5 for reinitialization. Similarly, while at state 2, any “Error or disconnection” event 2628 causes the device firmware to transition from state 2 to state 5 for reinitialization
Initially, the sensor calibration process receives and uses initial predefined sensor calibration settings in the form of a table, a database, or other form that is stored in the device firmware (block 2700). Initial sensor calibration values are set in block 2702 that result in the application of energy signals (e.g., light) to the measurement site. The energy signals interact with the measurement site to produce initial sensor calibration results that are acquired at block 2704. The initial sensor calibration results are then used to calculate new sensor calibration settings (block 2706).
The new sensor calibration settings are used to determined new sensor calibration values (block 2708). The new sensor calibration values result in the application of new energy signals to the measurement site, which in turn produce new sensor calibration results that are acquired in block 2710. The new sensor calibration results are tested or compared against predefined sensor calibration specifications and a determination is made at block 2712 as to whether the new sensor calibration results meet the predefined sensor calibration specifications. If the predefined sensor calibration specifications are met, the sensor calibration process passes to block 2714 where the sensor calibration process ends.
When the predefined sensor calibration specifications are not met, the method returns to block 2706. Blocks 2706, 2708, 2710, and 2712 repeat until the predefined sensor calibration specifications are met. Alternatively, in other embodiments, the loop with blocks 2706, 2708, 2710, and 2712 repeat for a maximum number of iterations or until the sensor calibration specifications are met. The monitoring device (via the device firmware) can then decide whether to inform the host device of the successful or unsuccessful calibration of the sensor(s). If the calibration process in unsuccessful, the monitoring device (via the device firmware) can decide to repeat (or not) the sensor calibration process.
In some embodiments, flexibility can be increased by storing the initial predefined sensor calibration settings (block 2700) and the new sensor calibration settings (block 2706) in the host device and transferring the initial predefined sensor calibration settings and the new sensor calibration settings to and from the monitoring device. In addition, the sensor calibration process can be executed in a distributed system, where blocks 2700, 2702, 2704, 2708, and 2710 are executed by the device firmware in the monitoring device, and block 2706 and block 2712 are executed by the software in the host device. Using a distributed system to execute the sensor calibration process enables the host to use more complex algorithms for the calculation of favorable or optimal sensor calibration settings and sensor calibration specifications. The distributed system can be useful when the monitoring device is a low-cost, single use, and fully disposable monitoring device with limited computation resources and battery life. The more advanced and faster computation resources in the host device can be leveraged to enable complex algorithms for the calculation of sensor calibration settings and sensor calibration specifications without sacrificing the computational resources and battery life in the monitoring device.
Each energy source 2802 is assumed to have an unknown nonlinear functional relationship between its input excitation and its output power. For example, in the case of LEDs and lasers, the electrical current of excitation and the output optical power have a nonlinear relationship that resembles an S-shaped curve. For very low excitation currents, the output optical powers change very little with changes in excitation currents. For excitation currents in the LEDs' normal operating ranges, the relationship between excitation currents and output optical powers are affine or monotone increasing, and as a result, the output optical powers change almost linearly with changes in excitation currents. For very high values of excitation currents, the output optical powers saturate, and no longer vary with changes in the excitation currents. The S-shaped curve can change from one LED unit to another, and depend on the design and manufacturing technologies, manufacturing process variabilities, operating conditions, and ambient temperature.
The frontend 2808 includes a frontend amplifier 2810 that collects a time-multiplexed energy signals 2812 after the signals 2814 are attenuated by the unknown transfer functions 2806 using a transducer or detector (or a plurality of transducers or detectors). In the case of optical energy, a photodetector (e.g., a photodiode) or a photomultiplier, which is part of the frontend amplifier 2812, can be used to collect and convert the time-multiplexed attenuated optical energy signals 2810 into electrical signals. The electrical signals are then amplified by the frontend amplifier adjustable gain 2816 to produce amplified signals 2818. The frontend amplifier 2810 can convert and amplify energy signals with bounded amplitudes. The allowed input-output dynamic range is represented by the saturation element 2820. The signals 2822 are identical, or substantially identical, to the amplified signals 2818 provided that the signals 2812 are within the allowed dynamic range defined by the saturation element 2820 and the adjustable gain 2816. The signals 2822 are converted into digital signals 2824 by means of an analog-to-digital converter (ADC) 2826.
For the sensor calibration process shown in
y
k(i)=gGgkƒk(xk(i)) Equation 1
where gk is the gain (or attenuation) for the unknown transfer function 2806 relative to the energy source k, and ƒk is the unknown nonlinear function for the energy source k, for k=1, 2, . . . , n, G is the frontend amplifier adjustable gain 2816, and g is a unknown and constant conversion factor that accounts for other attenuations, gains, and scale conversion factors in the signal path that produces the digital signal yk 2824. The index “i” refers to calibration instances or values. Hence, xk(i) refers to the ith calibration value for input excitation xk, and yk(i) refers to the corresponding ith calibration result for digital signal yk. For convenience, the unknown terms in Equation 1 are joined together in order to produce equation,
y
k(i)=Ghk(xk(i)) Equation 2
where hk(xk(i)) ggkfk(xk(i)). Each unknown function hk can be approximated by a polynomial or some other parametrized nonlinear function. For an example polynomial approximation,
h
k(xk(i))=Σp=0Pαp,kxk(i)p Equation 3
where coefficients αp,k, for k=1, 2, . . . , n, and p=0, 1, . . . , P, are unknown. The following Equation 4 can be obtained by combining Equations 2 and 3,
y
k(i)GΣp=0Pαp,kxk(i)p Equation 4
Equation 4 maps, via a polynomial function k of order P, the ith calibration value for input excitation xk into a corresponding ith calibration result for the digital signal yk.
Equation 4 can be applied to the sensor calibration process shown in
1. Block 2700 in
2. Blocks 2702 and 2704 in
3. Block 2706 in
where Yk is the acquired sensor calibration results in vector form, Xk is the sensor calibration values in matrix form (polynomial representation), and Ak are the polynomial coefficients in vector form for each energy source k. The optimal least-squares solution for each energy source k can be computed through the following equation,
Superscripts “−1” and “T” denote the matrix inverse and transpose operators. If the matrix Xk is square, then (Xk)−1=(XkTXk)−1XkT. In an alternative embodiment, the technique and/or system disclosed in U.S. patent application Ser. No. ______, entitled “Method and System for Processing Data Streams” can be used to calculate Âk. This alternate technique provides an efficient numerical calculation of a global optimal solution for Âk while being insensitive to outliers that can be present in the acquired sensor calibration results Yk, due to circuitry and/or optical saturations, nonlinearities, and other factors. With the values for Âk calculated for each energy source k, the new sensor calibration settings can be calculated. First, the device firmware creates or retrieves a set of desired sensor calibration results (that are within dynamic range limits defined by the saturation element 2820 in
Vector Ŷk can be the sensor calibration results for the digital signal 2824 around a main target sensor calibration result. For instance, if the main target sensor calibration result for the digital signal 2824 is ŷk(iTARGET)=50% of the full dynamic range defined in saturation element 2820, then the desired sensor calibration results can be distinct values between 40% and 60% of the full dynamic range in the saturation element 2820. Second, for each energy source k=1, 2, . . . , n, the device firmware in the monitoring device computes the new sensor calibration values,
{{circumflex over (x)}k(i): i=1, 2, . . . , (P+1), (P+2), . . . } Equation 8
and the new gain value Ĝ for the frontend amplifier adjustable gain 2816 by solving the polynomials in Equation 4 for xk(i) and G, with yk) ŷk(i) and αp,k={circumflex over (α)}p,k specified in order to obtain {circumflex over (x)}k(i) and Ĝ. This computation can be accomplished by polynomial root analysis and root-finding methods, numerical optimization techniques, or by creating two-dimensional tables of points, one for each polynomial k of order P, that map yk and G values into xk, and then selecting the new sensor calibration values {circumflex over (x)}i(i) (for Equation 8) and the new gain value Ĝ that produce the closest results to the desired sensor calibration results ŷk(i) (in Equation 7) without violating the dynamic range limits in the saturation element 2820. The new sensor calibration settings in block 2706 are the new sensor calibration values in Equation 8, and the new gain value Ĝ. Another technique that can be used to compute the new sensor calibration values and the new gain value for the frontend amplifier adjustable gain 2816 is to solve Equation 4 for xk(iTARGET) and G, with yk(iTARGET)=ŷk(iTARGET) and αp,k={circumflex over (α)}p,k specified to obtain {circumflex over (x)}k(iTARGET) and Ĝ. This computation results in asystem of n equations coupled by gain G, with (n+1) variables,
ŷ
k(iTARGET)=GΣp=0P{circumflex over (α)}p,kxk(iTARGET)p Equation 9
for k=1, 2, . . . , n. The solution for xk(iTARGET) and G in Equation 9 can be determined by polynomial root analysis and root-finding methods, numerical optimization techniques, or by creating two-dimensional tables of points, one for each polynomial k of order P, that map ŷk and G values into xk, and then selecting the target sensor calibration values {circumflex over (x)}k(iTARGET) and the new gain value G that produce the closest target sensor calibration results ŷk(iTARGET) without violating the dynamic range limits in the saturation element 2820. To calculate the desired sensor calibration results and the new sensor calibration values so as to complete the vector entries in Equation 7, and complete the set elements in Equation 8, values for {circumflex over (x)}k (i) are generated around the calculated {circumflex over (x)}k(iTARGET), and for each value, the corresponding ŷk(i) is computed directly via Equation 4 with G=Ĝ. In other words, the polynomials in Equation 4 are solved for yk(i), with xk(i)={circumflex over (x)}k(i), G=Ĝ, and αp,k={circumflex over (α)}p,k specified to obtain ŷk(i) without violating the dynamic range limits in the saturation element 2820. The new sensor calibration settings are the new sensor calibration values in Equation 8, and the new gain value Ĝ for the frontend amplifier adjustable gain 2816.
4. Blocks 2708 and 2710 in
5. Block 2712 in
In some embodiments, sensor calibration process shown in
ŷ
1(1)=G({circumflex over (α)}0,1+{circumflex over (α)}1,1x1(1))
ŷ
2(1)=G({circumflex over (α)}0,2+{circumflex over (α)}1,2x2 Equations 10
with three variables (e.g., x1(1), x2(1), and G). This underdetermined system of equations (e.g., number of variables greater than the number of independent equations) allows for multiple feasible solutions whenever the calculated solutions fall within feasible dynamic ranges. The chosen solution can be the one that produces the smallest value for G, the highest value for G, or the solution that produces a G value closest to a predefined target value, or some other criteria that involve feasible values and/or ranges of x1(1), x2(1), and/or G in order to maximize signal-to-noise ratio, minimize power consumption, maintain power consumption and/or signal-to-noise ratio at predefined target values, etc.
The device firmware in the monitoring device can pick the smallest allowed gain value, the largest allowed gain value, or any allowed new gain value for G (the frontend amplifier adjustable gain 2816) that produces a feasible target sensor calibration value {circumflex over (x)}1(1) for energy source 1, and {circumflex over (x)}2(1) for energy source 2. The allowed values for the gain G (the frontend amplifier adjustable gain 2816) are typically functions of a programmable-gain amplifier (PGA) that typically has a finite number of settable gain values (e.g., 8, 16, 32, 64, 128, etc.). Once a value for the gain G is picked (i.e., C), the remaining sensor calibration values and the desired sensor calibration results can be calculated by setting x1(2) to {circumflex over (x)}1(2), a slightly higher or lower value than {circumflex over (x)}1(1) (e.g., +/−10, +/−20, etc.), setting x2(2) to {circumflex over (x)}2(2), a slightly higher or lower value than {circumflex over (x)}2(1) (e.g., +/−10, +/−20, etc.), and solving for ŷ1(2) and ŷ2(2) the following equations,
ŷ
1(2)=Ĝ({circumflex over (α)}0,1+{circumflex over (α)}1,1{circumflex over (x)}1(2))
ŷ
2(2)=Ĝ({circumflex over (α)}0,2+{circumflex over (α)}1,2{circumflex over (x)}2(2)) Equations 11
to complete the process for obtaining the desired sensor calibration results (i.e., ŷ1(1), ŷ2(1), ŷ1(2), and ŷ2(2)), the new sensor calibration values (i.e., {circumflex over (x)}1(1), {circumflex over (x)}2(1), {circumflex over (x)}1(2), and {circumflex over (x)}2(2)), and new gain value G for the frontend amplifier adjustable gain 2816.
In one embodiment, the monitoring device, the host device, and the associated methods and apparatuses described herein can represent a clinical-grade pulse oximetry system for human or veterinary use.
In one aspect, the example specifications 2900 can be obtained by design and through biocompatibility tests, EMC and electrical safety tests, environmental tests, bench tests, and/or clinical tests. A pulse oximetry system, for instance, is typically certified to comply with several electrical equipment safety standards, electromagnetic compatibility, and FCC standards. Example standards may include, but are not limited to: (i) IEC 60601-1-2:2014 Medical Electrical Equipment—Part1-2: General requirements for basic safety and essential performance—Collateral Standard: Electromagnetic Compatibility—Requirements and Test. Safety Requirements for Electrical Equipment for Measurement, Control and Laboratory Use—Part 1: General Requirements; (ii) ANSI/AAMI ES 60601-1:2005/@ 2012 Medical electrical equipment—Part 1: General requirement for basic safety and essential performance; and (iii) 47 CFR Part 15 Subpart B Class B Devices and Innovation, Science; (iv) FCC Part 15, Subpart C and IC RSS-247, Issue 1, May 2015.
An example intended use 2902 can indicate uses such as measuring and displaying functional oxygen saturation of arterial hemoglobin (SpO2), pulse rate (PR), pulse amplitude (PA), and/or perfusion rate (PI) of adult, pediatric, and neonatal patients, as well as animal patients (veterinary use). The pulse oximetry system can be intended for continuous monitoring of human users (e.g., patients) and animal patients during non-motion and motion, and/or under well-perfused or poorly-perfused conditions. Example intended environments of use can be hospitals, clinics, doctor's offices, and domestic/residential settings, as well as confined areas, grazing lands, and outdoors.
A clinical-grade pulse oximetry system is commonly subjected to clinical testing to certify whether the pulse oximetry system meets the intended use 2902. For instance, in the case of a SpO2 accuracy clinical study recognized by the Food and Drug Administration (FDA), the pulse oximetry system may be tested in accordance to the Code of Federal Regulations (CFR) for Non-Significant Risk (NSR) investigational studies, following ISO 14155:2011 as appropriate, and the applicable sections of the pulse oximetry guidelines of ISO 80601-2-61:2011, and Pulse Oximeters—Premarket Notifications Submissions [510(k)s] Guidance For Industry and Food and Drug Administration Staff (issued: Mar. 4, 2013). The purpose of such a clinical study is to evaluate the SpO2 accuracy and performance during desaturations with medical devices placed on human subjects (fingers, forehead, temple, ear, etc.) over the range of 70-100% SaO2, arterial blood samples, assessed by CO-Oximetry. The objective is to show the SpO2 accuracy performance of the pulse oximetry system under test. Typically, a population of a given number of subjects (e.g., at least ten healthy adult subjects (male and female)), ranging in pigmentation from light to dark is enrolled into such a desaturation study. During the clinical tests, each subject is in a reclined position and connected to a breathing circuit for administering medical grade oxygen and nitrogen. The gas flow delivery is adjusted for subject comfort. The gas mixture is controlled to various levels of induced hypoxia resulting in stable oxygen saturation plateaus between 100% and 70% SaO2. Arterial blood samples are drawn during simultaneous data collection from the pulse oximetry system under test. The arterial blood samples are immediately analyzed by Reference CO-Oximetry providing functional SaO2 for the basis of the SpO2 accuracy comparison.
There are medical, fitness, and wellness applications where users are given a high oxygen concentration by means of a nasal cannula or a facemask, or inside a hyperbaric chamber. These applications are generally referred to as oxygen therapy. Oxygen therapy is the use of oxygen as a medical or wellness treatment and is applied to carbon monoxide toxicity treatment, headache treatment, oxygen concentration supply during anesthesia procedures, and treatment of COPD (cystic fibrosis, etc.) in users with chronically low oxygen saturation. Aviators may use a nasal oxygen cannula or wear an oxygen facemask when piloting airplanes with non-pressurized cabins at high altitudes, or during emergencies to keep their blood oxygen saturation at acceptable levels. Athletes may use nasal oxygen cannulas to increase performance, or stay in pressurized oxygen chambers for a period of time to recover more quickly after workouts.
Typically, medical devices are calibrated via the aforementioned clinical studies, where adult patients are subjected to oxygen desaturations over the range of 70-100% SaO2. These patients are typically healthy adults with normal cardiorespiratory systems. Typically, healthy adult patients will have a measured SaO2 as high as 97-100% at normal arterial oxygen partial pressure. However, patients still have a percentage of hemoglobin with some of their oxygen-binding sites still empty at normal arterial oxygen partial pressure. This implies that, if such patients or users are exposed to a higher concentration of oxygen (such as during oxygen therapy), additional hemoglobin sites will bind to oxygen molecules. However, this increase cannot be captured by conventional medical devices because they are calibrated to measure 100% SpO2 at normal arterial oxygen partial pressures. Higher values are typically truncated to 100%, because the clinical community and regulatory agencies have adopted the convention that SpO2 should be limited to 100%, since it is a saturation (concentration) measure. What may be missed is the fact that the 100% saturation value is the result of instrument calibration by means of desaturation studies, and is applicable to patients, users, and animal patients with normal cardiorespiratory systems and not subjected to oxygen therapy. For patients under oxygen therapy, the ability to read oxygen saturation values higher than 100% is very useful, because it may guide physicians and/or caregivers in terms of oxygen partial pressure settings to be administered to a particular patient (based on SpO2 readings above 100%), and also to serve as a metric for treatment of patients with compromised cardiorespiratory systems (under oxygen therapy). Controlling oxygen partial pressure settings, through the monitoring of SpO2 in patients and users, also minimizes the effects of oxygen toxicity (i.e., oxidative damage to cell membranes, retinal detachment, etc.), and reduces oxygen consumption and its associated monetary costs. Oxygen toxicity is a concern for premature (neonatal) babies, pilots, astronauts in space, underwater divers, and patients undergoing treatment in a hyperbaric oxygen chamber
Co-oximeters (such as the ABL90 FLEX from Radiometer) provide a range of indication for SaO2 (e.g., the arterial oxygen saturation in the blood measured by a co-oximeter) above 100% (102% for the ABL90 FLEX). Typically, the user has the option to activate the “Out-of-range suppression” option and prevent the co-oximeter from reporting values higher than 100%. These in-vitro instruments have SaO2 accuracy better than 1%. The range of indication above 100% is built-in so as to account for measurement errors, as well as to provide clinicians with SaO2 reading values above 100% for patients under oxygen therapy. The inconvenience of such in-vitro instruments (co-oximeters) relates to the inability to provide continuous measurements, as well as the need for arterial blood samples. Therefore, a non-invasive pulse oximetry system, such as the monitoring device disclosed herein operating in combination with a host device that can also monitor SpO2 continuously for values above 100%, can be invaluable in clinical and non-clinical settings where oxygen therapy is required or adopted, or where oxygen toxicity is a concern.
y=−16.79x2−8.19x+106.43 Equation 12
where x is the red-over-infrared ratio value and y is the SpO2 value. The “red-over-infrared” ratio is not necessarily obtained or calculated by dividing two quantities (the red photoplethysmograph over the infrared photoplethysmograph). Because of numerical stability, noise, and interferences, the division may be replaced with iterative methods that find the best linear relationship between the two quantities of interest, such as the embodiments described herein (i.e.,
Other fittings such as cubic, exponential, etc. can be used to yield similar results. In addition, constrained optimization (fitting) combined with photon-diffusion models can be applied to find an extrapolated curve that satisfies both the calcurve experimental (model) data and the hill's equation (with a cubic term for better accuracy, such as the one disclosed by John W. Severinghaus, in Simple, Accurate Equations for Human Blood O2 Dissociation Computations. J. Appl. Physiol: Respirat. Environ. Exercise Physiol. 46(3):599-602, 1979. Revisions, 1999, 2002, 2007) for a given nominal partial pressure of oxygen.
Returning to
Another aspect of implementing the extrapolated SpO2 calcurve 3102 in
There are other pulse oximetry solutions that display ad hoc proprietary indexes to monitor users under oxygen therapy. In these implementations, indexes typically vary from zero to one, where the zero value corresponds to an arbitrary lower limit, and one to an arbitrary upper limit. This approach can be confusing, and not very practical for clinicians. Clinicians are typically trained to interpret values of SpO2 in the normal scale unit and range. Displaying SpO2 values above 100%, in the same scale as the values of SpO2 in the standard range (0-100%), is not only natural, but also enables physicians and other health care providers to use their clinical experience (as far as interpreting SpO2 readings in the standard scale) to make more accurate clinical decisions on users under oxygen therapy. The use of an index is not based on scientific principles. The use of an index can be a strategy to enable medical device manufacturers to claim monitoring capabilities during oxygen therapy without providing accuracy claims or clinical validations based on scientific methods. In addition, because indexes use unit-less scales, manufacturers have the freedom to disclose measurement principles that are in line with their strategy, and not necessarily in agreement with scientific methods and principles. The extrapolated SpO2 calcurve, such as the calcurve 3102, is a model-based and data-based approach to measure and display SpO2 values above 100% from users under oxygen therapy, and from users in general that have their SpO2 baseline shifted upwards because of particular physiological and/or environmental conditions. The extrapolated SpO2 calcurve provides a scientific-based alternative to arbitrary and ad hoc indexes currently available in the marketplace.
When a determination is made at block 3200 that the out-or-range suppression is disabled, the method continues at block 3206 where the SpO2 value(s) is determined using a calcurve or plot that has a maximum value greater than 100%. For example, as described earlier, the maximum value can be 107%. The calcurve includes or represents optical ratios (red over infrared) over 100%. In some instances, a curve can be fit to the values and then the resulting curve's expression can be used to extrapolate SpO2 values above 100%.
At block 3208, the SpO2 value(s) is provided to an output device (e.g., a display) and represented by a whole number and optionally one or more decimal place values (e.g., tenths place value, hundredths place value, etc.). Optionally, the upper limit of the SpO2 value for an alarm can be automatically adjusted at block 3210 to a value over 100% (e.g., the maximum value over 100%). For example, as shown in
In an example embodiment, a monitoring device uses red and infrared light sources (e.g., light sources 113 in
The data stream or data streams are demodulated and demultiplexed to produce individual data streams at block 3302. In a non-limiting example, the demultiplexing and demodulation process produces two data streams, one for the red optical signal, and another for the infrared optical signal. Auxiliary data streams can also be demodulated and/or demultiplexed. For instance, the monitoring device can also produce a time-multiplexed data stream where each time slot provides a value that can be from an electrical current, a resistance, or a voltage variable, a temperature variable, a digital counter variable, or a diagnostic variable. The auxiliary data stream is demultiplexed in block 3302 to produce a number of data streams, one for each time multiplexed variable.
Next, as shown in block 3304, the demultiplexed data streams are operated on by a decimation process, where the sampling rate and the frequency bandwidth of the demultiplexed data streams are reduced to minimize the signal processing requirements, to reduce power consumption, and/or to increase the signal-to-noise ratio through averaging by the decimation filters. In blocks 3302 and 3304, any suitable demodulation technique and decimation technique can be used. For example, in one embodiment, the demodulation and decimation techniques and/or system disclosed in U.S. patent application Ser. No. ______, entitled “Method And System For Symmetric Square-Wave Demodulation” can be used in blocks 3302 and 3304 to demodulate, demultiplex, and decimate the individual data streams produced by the monitoring device in block 3300.
The auxiliary data streams can be decimated or interpolated depending on the desired sampling frequency at block 3306. For example, the temperature in the measurement site (related to the user's core body temperature when the monitoring device is placed on forehead), can be collected at a sampling rate of 1 kHz and decimated to 5 Hz, given that the user's core body temperature frequency bandwidth is typically much less than 5 Hz. Depending on the type of auxiliary data streams, interpolation may be performed to increase the sampling rate to make all of the auxiliary data streams have the same sampling frequency. Interpolation can also be used prior to decimation to achieve an overall rational decimation factor.
In block 3308, additional calculations are performed. The additional calculations can be operations for converting scales of data streams and variables, electronic saturation detection, or any other computation performed by or for the device firmware in the monitoring device. A fuel gauge usage counter data structure is updated in block 3310 with an increment (or decrement) to reflect a decrease in the battery's energy. An example usage counter for a fuel gauge is described in more detail in conjunction with
The demodulated, demultiplexed, and decimated data streams and auxiliary data streams (if any), along with other optional parameters and variables are sent to a host device at block 3312. The data streams are received in real-time by the host device, and in one embodiment are further processed by the host device. In an example embodiment, such as depicted in block 3904 (
Next, as shown in block 3314, a watchdog timer is refreshed to prevent a watchdog timer interruption from becoming active and stopping the normal operation of the monitoring device. An example watchdog timer is described in more detail in conjunction with
Initially, as shown in block 3400, a stream of measurement data is received. In one embodiment, the stream of measurement data is a time-multiplexed and modulated digital stream of measurement data. In a monitoring device embodiment, the stream of measurement data represents any suitable number of measurement samples that are captured by the monitoring device at a given sampling frequency (e.g., 4 kHz). In one embodiment, the stream of measurement data is captured continuously by the monitoring device, although other embodiments are not limited to this implementation.
The stream of measurement data is then demodulated and filtered at block 3402 to produce individual data streams for each wavelength channel (e.g., red, infrared, etc.). Any suitable demodulation technique can be used. In a non-limiting example embodiment, a demodulation system can include a multi-channel symmetric square wave demodulator device operably connected to a filter device, as disclosed in co-pending U.S. application Ser. No. 16/198,550 filed on Nov. 21, 2018. The filter device can be implemented as a single stage or a multi-stage filter device. In some embodiments, the demodulator device and/or the filter device perform decimation, where the sampling frequency is reduced to a lower value (e.g., from 4 kHz to 1 kHz, from 1 kHz to 50 Hz) to reduce signal processing requirements, wireless bandwidth, and/or power consumption. Additionally or alternatively, the demodulation system and techniques are capable of removing most or substantially all interference signals within a pre-defined continuous frequency range (i.e., 0 Hz to 800 Hz).
In some aspects, each individual data stream is a photoplethysmograph data stream. At block 3404, each individual data stream is normalized. In one embodiment, a log of each data stream is taken and bandpass filtered to produce a photoplethysmograph data stream for each wavelength channel.
Next, at block 3406, the photoplethysmograph data streams are processed by a numerical solver device to calculate or estimate optimization variables that minimize a cost function to produce one or more photoplethysmograph models. In one embodiment, the photoplethysmograph data streams are processed in data batches of any size that is suitable for a particular application. For example, with a monitoring device, the data batch size can be the equivalent of a few seconds of data (e.g., 250 samples collected over 5 seconds) and updated in real-time every certain time interval (e.g., 0.75 seconds).
In one aspect, the numerical solver can compare the data streams with a series of indexed photoplethysmograph models parameterized by the optimization variables. For example, for each Pulse Rate (PR) value, from 25 to 250 BPM in steps of 1 BPM, the numerical solver device calculates values for the optimization variables that minimize a cost function to produce the best photoplethysmograph model for the given data streams. As disclosed in co-pending U.S. application Ser. No. 16/198,504 filed on Nov. 21, 2018, in one embodiment, the cost function can be defined by the following equation:
J(x,z)=Σi=1n(ziAx−bi)T(ziAx−bi), Equation 13
where A∈Rk×m, k≥m, is a constant matrix, bi∈Rk, i=1, 2, . . . n are constant vectors, x∈Rm and z=[z1 z2 . . . zn]T∈Rn are the optimization variable vectors, and the T superscript is the transpose operator.
Each photoplethysmograph model produced based on the numerical solver device and its corresponding PR value is considered a data point (pair). As a result, in this example, the photoplethysmograph models are indexed by the PR values. If the cost function is given by Equation 13, then each photoplethysmograph model is represented by the vector Ax and scaling factors zi, and the photoplethysmograph data streams are represented by the vectors bi. The optimization variables are the vector x and scaling factors zi. Each column in Matrix A provides information regarding the underlying application or phenomenon. In one embodiment, Matrix A is indexed by (function of) the PR values. As a result, the entries in Matrix A change for each PR value, which in turn change the optimal solutions for x and scaling factors z that minimize the cost function in Equation 1.
Next, as shown in block 3408, the one or more metrics are computed for each photoplethysmograph model indexed by a PR value by comparing the photoplethysmograph models with a reference photoplethysmograph model. The reference photoplethysmograph model represents the best or a selected photoplethysmograph model for a user associated with the measurement data. In one embodiment, the one or more metrics are associated with the photoplethysmograph model. Example metrics include, but are not limited to, root mean square accuracy (Arms), correlation, L2 norm, L1 norm, Linf norm, power, correlation, and harmonic and morphology analysis matching. Because the one or more metrics are calculated from photoplethysmograph models that are indexed by PR values, the one or more metrics are also indexed by the same PR values.
For example, in some embodiments, the one or more computed metrics are compared with corresponding metrics associated with the reference photoplethysmograph model (reference metric(s)) to determine how close or similar the one or more computed metrics are to the corresponding reference metric(s). Additionally or alternatively, the shape of each photoplethysmograph model is compared with a shape of the reference photoplethysmograph model to determine how similar or dissimilar each photoplethysmograph model is to the reference photoplethysmograph model. In some embodiments, metrics such as the root mean square accuracy (Arms), correlation, L2 norm, L1 norm, Linf norm, correlation, and harmonic and morphology analysis matching can be used to access the degree of compliance (shape similarity) between photoplethysmograph model and reference photoplethysmograph model.
At block 3410, an optimal photoplethysmograph model is selected or determined for each wavelength channel and one or more values of interest are estimated or computed. The values of interest can include values of interest for physiological parameter such as SpO2, PR, PA, PI, and/or other physiological parameters of interest. The values of interest are computed by applying classification criteria (algorithms) to the computed metrics (i.e., maximum value, minimum value, a ratio of values, linear and non-linear classification algorithms, etc.). For instance, the best estimate for PR, for given red and infrared data streams, may be obtained by picking the PR value that produces the photoplethysmograph model with the largest normalized power, provided that the corresponding photoplethysmograph model Arms error value (when compared to the most current reference photoplethysmograph model) is less than a specified threshold. The best estimate for SpO2 and PI may be calculated via the scaling factors (red and infrared amplitudes) from the photoplethysmograph model that produced the best estimate for PR.
One or more outliers are then removed from the estimated values of interest to produce a subset of values of interest. In some embodiments, average estimates of the values of interest are produced at block 3412. Any suitable technique can be used to remove the outliers.
The subset of values of interest are then provided to a storage device (e.g., memory) and/or an output device (block 3414). For example, the one or more values of interest can be displayed on a display. Next, as shown in block 3416, the reference photoplethysmograph model is updated based on the subset of values of interest and/or the optimal photoplethysmograph model (e.g., the associated optimization variables). In one embodiment, the reference photoplethysmograph model is updated via an update rule that produces a weighted average of the current reference photoplethysmograph model and the optimal photoplethysmograph model
Initially, as shown in block 3500, the measurement data in a measurement data stream is normalized. In a non-limiting example, the measurement data is normalized by determining the natural logarithm of the measurement data. For instance, the measurement data stream can be the PA, PI, PR, Temperature, or the SpO2 measurement data streams.
Next, at block 3502, the normalized measurement data is filtered to produce a symmetric or asymmetric data stream (around the origin) representing the normalized variability of the original measurement data stream. In one embodiment, a band-pass filter is used to filter the normalized measurement data. At block 3504, the absolute value of the measurement data is determined to turn all of the variability values positive. The measurement data is filtered at block 3506 to obtain the Log-Volatility data stream. In one embodiment, the measurement data is filtered by a low-pass filter for averaging purposes. The resulting measurement data represents the Log-Volatility over time of the original measurement data stream. Statistical analyses (block 3508) can be applied to the resulting measurement data to determine, for example, volatility metrics and/or probability distributions.
Unlike the resulting data produced by the method of
In embodiments where blocks 3504 and 3506 are omitted, the data may have positive and negative values. The resulting statistics are then computed in block 3508 taking into account that the interlining probability distributions are symmetric or asymmetric around the origin. For instance, in some embodiments, the mean value may be zero while the second (e.g., variance, standard deviation), or higher moments may not because block 3504 is not used. Therefore, for embodiments where blocks 3504 and 3506 are omitted, second or higher order moments may be more appropriated to represent the underling volatility or variability of the data. Also, in some instances, The PR Volatility Distribution and the PI Log-Volatility Distribution depicted in
Initially, as shown in block 3500, the measurement data in a measurement data stream is normalized. In a non-limiting example, the measurement data is normalized by determining the natural logarithm of the measurement data. Next, as shown in block 3502, the normalized measurement data is filtered to produce a symmetrical data stream (around the origin) representing the normalized variability of the original measurement data stream. At block 3504, the absolute value of the measurement data is determined to change all of the variability values positive.
Next, as shown in block 3700, the measurement data is raised to the n-th power. The number n can be any positive number. For n=1, algorithms described in
Example states (i.e., set of variables and/or parameters that completely specify all possible configurations and/or behaviors of a system) of the host software include, but are not limited to, arrays, vectors, matrices, structures, classes, multi-dimensional data structures, data streams and waveforms, data stream and waveform batches, data structures with images and movies, buffers and indexed buffers, such as normalized power, correlation, root mean square accuracy, model parameters, measurements, limits, maximum, mean, median, and model values, models, reference models, optimal models, search intervals, elapsed time, signal power measures, vector and matrix norms, correlations, variances, covariances, standard deviations, probability distributions, higher-order probability distribution moments, accuracies, errors, measurement values and trends, rate of changes, higher-order rate of changes, ratios, products, and other derivatives of measurements and intermediate values, performance, forecast, and diagnostic metrics, visual, audible, olfactory, and tactile information, filter buffers such as filter states, inputs and outputs, counters, timers, temperature, pressure, humidity, height, weight, and body rates, current, voltage, resistance, elapsed time, ambient light, and intensity values, and/or any other variable or intermediate value used to specify completely the dynamic behavior of the host software at each epoch (e.g., each given period of time) provided that the inputs and the constants are known.
Non-limiting example constants in the host software data transfer block sizes, filter constants, discrete and continuous ranges, model constants in the form of values, arrays, vectors, matrices, structures and classes, limit constants, thresholds, averaging time constants, time constants, timeout constants, calibration curves, ranges, thresholds, limits, number of harmonics, and/or bases in general, averaging time in epochs or samples, sampling frequency, windowing functions and parameters, indexed buffers, arrays, vectors, matrices, or multi-dimensional data structures containing model and reference model constants, parameter refresh, display, and timeout rates, filter parameters, tables and data structures for data authentication, codification and decodification, and/or encryption and decryption.
Initially, one or more constants are initialized and the input, output, and current state variables (i.e., state variables defined in current epoch) are initialized using the one or more initialized constants and/or one or more default values (blocks 3900 and 3902, respectively). Real-time data is received by the host device from the monitoring device (block 3904). In some embodiments, the real-time data is processed to filter and/or normalize the data streams. One example of a normalization process feeds the data streams through a non-linear (e.g., a log, hyperbolic, exponential, polynomial function, etc.), linear, or affine function, and then feeding the resulting data streams into a linear or non-linear low pass, band pass, or high pass filter(s) to obtain the normalized data streams.
Next, as shown in block 3906, the next states and outputs are calculated from the one or more inputs, the current states, and the one or more constants. The current states are then updated from the calculated next states (block 3908). The data that is displayed, shared, and/or stored is updated, along with any alarms, fuel gauges (e.g., battery icon), and/or notifications (block 3910).
As noted earlier, the method shown in
In block 4002, the term “series of indexed models” is used. A series of indexed models is a set of equations parametrized by one or more adjustable parameters or optimization variables. The optimization variables have to be calculated for a given data set so as to select and adjust a model that optimally reproduces the data set. Whenever some of the model's optimization variables cannot be calculated through an efficient algorithm or optimization problem, then the optimization variables have to be tested (varied) in steps within a certain range to determine values that best fit a model to the specified data set. In
In one example embodiment, a series of 226 models indexed by the heart rate from 25 BPM to 250 BPM in steps of 1 BPM can be defined. For a given data set, a series of 226 indexed models are compared to the data set by means of algorithms or optimization problems with associated cost functions or metrics, and the heart rate that produces the model with the best performance (e.g., smallest cost function value, highest profit function value, etc.) is selected. During this selection process, the algorithm or optimization problem can involve the calculation of other optimization variables. For instance, the complete series of indexed models for the waveforms of a pulse oximeter, pulse co-oximeter, ECG monitor, or a non-invasive glucometer monitor for human or veterinary applications can be conveniently represented by 226 equations of weighted sums of sinusoidal functions with frequencies that are indexed by the heart rate from 25 BPM to 250 BPM in steps of 1 BPM. As a result, 226 optimization problems are solved to find the best (optimal) model from the series of 226 indexed models, where each optimization problem determines the optimal weights that best fit the data set for a given heart rate. The heart rate and associated weights with the best overall performance define the optimal model. The heart rate and weights are the optimization variables.
However, only the heart rate indexes the series of indexed models in this example, given that the other optimization variables (i.e., weights) can be efficiently calculated by algorithms or optimization problems for a given heart rate. Similar analysis can be applied to a respiration rate monitor if one assumes that the respiration rate indexes the series of indexed models. A more complex series of indexed models representing the photoplethysmographs of a pulse oximeter that also calculates the respiration rate of the user can be two-dimensionally indexed by the respiration rate and heart rate values.
In one embodiment, a series of 9,718 indexed models are two-dimensionally indexed by the respiration rate from 3 breaths per minute to 45 breaths per minute in steps of 1 breath per minute, and by the heart rate from 25 BPM to 250 BPM in steps of 1 BPM. Depending on the size of the series of indexed models, the number of algorithms or optimization problems to be solved to determine the optimal model may become prohibitive for real-time applications. In such embodiments, the optimization variables that index the series of indexed models can be solved together with the other optimization variables using local models by means of efficient algorithms and optimization problems that are defined within each sub-range of the optimization variables that act as indexes.
For example, the complete series of indexed models for the respiration rate calculated by a pulse oximeter can be conveniently represented by 130 equations of weighted sums of products of sinusoidal functions with frequencies that are two-dimensionally indexed by the heart rate sub-ranges from 25 BPM to 250 BPM such as [25, 30), [30, 36), [36, 43), [43, 51), [51, 61), [61, 72), [72, 86), [86, 103), [103, 123), [123, 147), [147, 175), [175, 209), [209, 250], and the respiration rate sub-ranges from 3 breaths per minute to 45 breaths per minute such as [3, 4), [4, 5), [5, 7), [7, 9), [9, 12), [12, 15), [15, 20), [20, 26), [26, 34), [34, 45]. To find the best (optimal) model from the series of 130 indexed models, 130 optimization problems are solved, where each optimization problem determines the optimal weights, heart rate, and respiration rate values that best fit the specified data set for a given heart rate and respiration rate two-dimensional sub-range (e.g., [25, 30)×[3, 4), [25, 30)×[4, 5), . . . , [25, 30)×[34, 45], . . . , [209, 250)×[3, 4), [209, 250)×[4, 5), . . . , [209, 250]×[34, 45]). In the case of the two-dimensional sub-range [25, 30)×[3, 4), for instance, the optimization problem efficiently calculates the weights, heart rate, and respiration rate values that best fit the model for heart rate values between 25 BPM and 30 BPM, and respiration rate between 3 breaths per minute and 4 breaths per minute. The same process is applied to the remaining 129 two-dimensional sub-ranges in order to obtain the optimal models from the series of 130 indexed models.
Next, as shown in block 4004, the parameter constants for a series of indexed reference models are then initialized. The parameter constants for the series of indexed reference models can define dimensions, number of equations, type of equations, equation parameters, operating regions, variable sizes and types, limits, thresholds, topology, architecture, algorithm configurations, and/or constants from the mathematical operator(s) in the reference models that is used for initialization and calculation of the series of indexed reference models. In block 4006, one or more parameter constants for a current reference model is initialized. The parameter constants for the current reference model can define dimensions, number of equations, type of equations, equation parameters, operating regions, variable sizes and types, limits, thresholds, topology, architecture, and algorithm configurations, and/or constants from the mathematical operators in the current reference model that is used for initialization and calculation of the series of current reference models.
Element 4102 represents “i” sequences of “m” real or complex functions that are used by the indexed models to span a series of dynamics or behaviors in the form of data streams or data sets that are suitable for a particular application. The functions in the element 4102 can be transcendental, polynomial, outputs of recursive filters and systems, outputs of FIR and IIR filters, outputs of Neural Networks, and/or the like.
Element 4104 represents the data set or a sequence of “n” data streams, which can be real or complex valued. The data set of the sequence of “n” data streams represent the real-time data collected by the application and available for data processing and analysis. For instance, a sequence of “n” discrete-time photoplethysmographs can be represented by the element 4104.
Element 4106 represents the behavior simulated by the element 4100 (e.g., the indexed model). The element 4106 represents “i” data sets or “i” sequences of “n” real or complex data streams produced by the series of indexed models. The elements 4102, 4104, and 4106 are indexed by the exogenous variable “t”, which can represent time, space, velocity, location, etc. For instance, data streams that are a function of time are assumed to be indexed by time, such as in a discrete-time system. Data streams that are a function of space are assumed to be indexed by space. Depending on the application, data sets or data streams can be indexed by quantities that have physical meaning or that are abstract in nature. As used herein, the term data streams or data set refer to data sequentially indexed by “t”.
Element 4108 is the optimization problem solver. For a given “i”, the element 4108 calculates the values for the model parameters (e.g., the optimization variables) that best reproduce in the element 4106 the behavior observed in the element 4104 for a given element 4102. The process of varying the optimization variables until the behavior of the element 4100 is optimal is represented by the element 4110. In some applications, the indexed models can have different operating regions that are defined by processing the element 4104 (e.g., the data streams). The different operating regions are represented by the element 4114, which feeds the element 4104 into the element 4100 for processing, classification, and/or selection of an operating region.
The overall behavior of the embodiment shown in
1. A monitoring device collects and processes real-time data through the device firmware in the monitoring device to produce data streams that are sent to the host device.
2. The host device receives the data streams and the host software in the host device produces the element 4104 (e.g., the data streams or data set). In some embodiments, the host device, via the host software, processes the data streams received from the host device using non-linear (such as a log, hyperbolic, exponential, polynomial function, etc.), linear, or affine functions, and then feeds the results into linear or non-linear low-pass, band-pass, or high-pass filter(s) in order to obtain normalized data streams or data sets.
3. The element 4108 (e.g., the optimization problem solver) is implemented in the host software. The element 4108 calculates, for each indexed model “i” (e.g., element 4100), the optimal values for the optimization variables that best reproduce in the element 4106 the behavior observed in the element 4104 for a given element 4102. The functions or data streams represented by the element 4102 are generated internally by the host software in the host device.
4. Each indexed model “i” represented by the element 4100 produces an indexed optimal model “i” that is represented by element 4116 in
5. The optimization problem solver 4108, after numerical convergence, also outputs the optimal parameters (optimal values for the optimization variables) for each optimal model “i” represented by element 4116, and depending on the application, series of metrics, parameters, and results in scalar, array, n-tuple, range, sub-range, grid, vector, matrix, list, structure, and/or class forms that are all represented by the element 4122.
Element 4100 can be any topology, system, or circuitry with parameters to be determined via optimization problem solver 4108. Element 4100 can be a multi-layer neural network, a radial basis network, a rule-based or Bayesian network expert system, a Fuzzy Logic expert system, a hybrid system with discrete and continuous variables, parameters, weights, and/or internal memory, and any fusion or combination thereof. In all these possible embodiments, the inputs are represented by elements 4102 and 4104, and the outputs by element 4106. The process of calculating the network's or system's optimal parameters (i.e., optimization variables, parameters, weights, etc.) via the optimization problem solver 4108 (to determine indexed optimal models 4116) is represented by element 4110.
The overall behavior of the embodiment shown in
1. A monitoring device collects and processes real-time data through the device firmware in the monitoring device to produce data streams that are sent to the host device.
2. The host device receives the data streams and the host software in the host device produces the element 4104 (e.g., the data streams or data set). In some embodiments, the host device, via the host software, processes the data streams received from the host device using non-linear (such as a log, hyperbolic, exponential, polynomial function, etc.), linear, or affine functions, and then feeds the results into linear or non-linear low-pass, band-pass, or high-pass filter(s) in order to obtain normalized data streams or data sets.
3. The host device, via the host software, calculates, for each indexed model “i” represented by the element 4100, the optimal values for the optimization variables represented by the adjustable weights 4124, 4126 that best reproduce in the element 4106 the behavior observed in the element 4104 for a given element 4102. Each indexed model “i” represented by the element 4100 is represented by the adjustable weights 4124, 4126 and the elements 4128, 4130. The element 4128 sums the signals from the element 4102 after the signals are multiplied by the adjustable weights 4124 to produce a waveform represented by the element 4130. The waveform represented by the element 4130 is then multiplied by the adjustable weights 4126 to produce the signals represented by the element 4106, which are scaled waveforms that can reproduce to a certain degree the signals in the data streams represented by 4104 that are corrupted by noise, motion artifacts, and/or interferences. The optimization problem solver 4108 calculates the adjustable weights 4124, 4126 through the element 4132. Element 4132 represents the process of calculating optimal values (solutions) for optimization variables and parameters in element 4100 via the optimization problem solver 4108 so as to produce a series of indexed optimal models (indexed by “i”) in
4. Each indexed model “i” represented by the element 4100 produces an indexed optimal model “i” represented by the element 4116 depicted in
5. The optimization problem solver 4108, after numerical convergence, outputs for each optimal model “i” represented by the element 4116 the optimal parameters (optimal values for the optimization variables) and depending on the application, one or more series of metrics, parameters, and results in scalar, array, n-tuple, range, sub-range, grid, vector, matrix, list, structure, and/or class forms that are all represented by the element 4122 (e.g., correlation, cross correlation, covariances, standard deviations, histograms, probability density functions, probability mass functions, joint probability density functions, joint probability mass functions, root mean square accuracies, maxima, minima, means, medians, modes, phases, amplitudes, frequencies, spectral, temporal, and morphological measurements, etc.). The optimization problem solver 4108, after numerical convergence, produces a series of indexed optimal models represented by the element 4116 (indexed by “i”) with the data set or data streams represented by the element 4118, and the 4120 that represents all parameters (e.g., optimal values for the optimization variables or model's parameters, etc.) and internal/intermediate signals and variables other than the data set or data streams represented by the element 4118.
In
Block 4004 in
In a non-limiting example, consider the reference model 4140 for photoplethysmographs measured by a pulse oximeter, pulse co-oximeter, optical-based fitness tracker, or non-invasive optical-based glucometer. The idealized behavior of the photoplethysmographs is not dependent on the heart rate values. For two different heart rates from the same user, if the photoplethysmographs are normalized in time or frequency (domain) and amplitude or power (range), then the photoplethysmographs should become very similar to each other. If “i” represents the indexing of model “i” 4100 (
The overall behavior of the embodiment depicted in
1. The element 4152 takes the data set or data streams represented by the element 4118 from the indexed optimal model “i” 4116 and normalizes the data set or the data streams in the domain and the range to obtain a set of parameters represented by the element 4144. In some embodiments, the set of parameters represented by the element 4144 can be obtained more efficiently or directly from the optimal values (model optimal parameters) of the optimization variables that comprise each indexed optimal model “i” 4116. The model optimal parameters can be obtained from the element 4120.
2. For each indexed model “i” 4100, the search process 4148 determines the reference model “j” 4140 that best reproduces the indexed optimal model “i” 4116 through metrics that compare the parameter set in element 4144 with the parameter set in element 4142.
3. After numerical convergence, the search process 4148 outputs the index pair “(i,j(i))” that indexes the reference model “j(i)” that best reproduces the indexed optimal model “i” 4116.
Element 4140 can be any topology, system, or circuitry with search process defined by element 4148. Element 4140 can be a multi-layer neural network, a radial basis network, a rule-based or Bayesian network expert system, a Fuzzy Logic expert system, a hybrid system with discrete and continuous variables, exogenous functions and signals, parameters, weights, and/or internal memory, and any fusion or combination thereof. In all these possible embodiments, the outputs are represented by element 4142. The process of searching for indexed optimal reference models 4154 via search process 4148 is represented by element 4150.
1. The indexed reference model (j) 4140 is a series of forty-one indexed reference models “j” 4140. Indexed reference model 4158 (j=1), the indexed reference model 4160 (j=20), and the indexed reference model 4162 (j=41) represent three instances of the forty-one indexed reference models 4140. Each reference model “j” has waveform defined by the following equation parametrized by the set of normalized parameters represented by the element 4142,
Σk=1q/2rk,j sin kθ+Σk=1+q/2qrk,j cos(k−q/2)θ Equation 14
where θ represents normalized time, and q is even. For q=6 (as depicted in
2. The element 4152 performs a domain and range normalization on the optimal models (i) 4116 to perform parameter extractions. Assuming that the series of indexed optimal models “i” 4116 is implemented as shown in the example embodiment of
ƒk,i(t)=sin(2(i+24)(1/60)(1/Fs)kt) Equation 15
for k=1, 2, . . . , m/2
ƒk,i(t)=cos(2π(i+24)(1/60)(1/Fs)(k−m/2)t) Equation 16
for k=m/2+1, m/2+2 . . . , m, with m even, and for i=1, 2, . . . , 226. The constant Fs is the sampling frequency in Hertz (e.g., 50, 60, 100 Hz, etc.). The variable t is the normalized time (t=1, 2, 3, . . . ). For q=6 (as depicted in
h
i(t)*=Σk=1m/2wk,i*sin(2π(i+24)(1/60)(1/Fs)kt)+Σk=1+m/2mwk,i*cos(2π(i+24)(1/60)(1/Fs)(k−m/2)t) Equation 17
into a normalized signal,
P
k=1
q/2
p
k,i*sin(kθ)+Σk=1+q/2qpk,i*cos((k−q/2)θ) Equation 18
3. The search process 4148 selects the best indexed reference model “j” 4140 for each indexed optimal model “i” 4116. In one embodiment, the selection can be accomplished by computing metrics that relate to the parameters in the elements 4142, 4144. For instance, for each indexed model “i” 4116, the indexed reference model “j” 4140 that produces the smallest covariance (Cov),
or the smallest root mean square accuracy (Arms),
Arms(j,i)=√{square root over (Cov(j,i))} Equation 20
can be selected to be the indexed optimal reference model for “i”
Alternatively, for each indexed model “i” 4100, the indexed reference model “j” 4140 that produces the largest correlation (Corr),
can be selected to be the indexed optimal reference model for “i”
For this particular example, q in Equations 19 and 21 is equal to 6. Larger or
smaller values for q can be adopted depending on the number of sinusoidal functions being used. It is also possible to select the indexed reference model “j(i)” 4140 for “i” that produces the smallest ratio Arms/Corr, the largest ratio Corr/Arms, the smallest specified weighted sum of cos−1(Corr) and Arms, or any other expression or composition of expressions that compute a particular metric or metrics of interest.
Block 4006 in
1. The element 4122 is calculated in the embodiments shown in
Power(i)=√{square root over ((w1,i*)2+(w2,i*)2+ . . . +(wm,i*))} Equation 22
Similarly, the corresponding entry “i” of the sampled correlation array and the corresponding entry “i” of the sampled root mean square accuracy array can be computed from the data streams or data set in the optimal waveform 4136, the element 4118, and the element 4104 using the following equations:
for k=1, 2, . . . , n. In Equation 23, Corrk(i) is the sampled correlation computed between the waveform 4136 and each data stream “k” in the element 4104, and in Equation 24, Armsk (i) is the sampled root mean square accuracy computed between each data stream “k” in the element 4104 and each data stream “k” in the element 4118. The sampled means are taken over the finite discrete-time data sets in the elements 4104, 4118, and the waveform 4136 (e.g., 250 samples) indexed by variable “t”. In this example, for a given “i”, Corr(i) is the maximum in k over all Corrk(i) values (n values), and Arms(i) is the sampled mean in kover all Armsk(i) values (n values). The power, sampled correlation, and sampled root mean square accuracy arrays are computed for each epoch, comprised of a finite and sequential number of samples in “t”, according to the expressions in Equations 22, 23, and 24, where the elements 4104, 4118, and the waveform 4136 are calculated and/or updated at each epoch according to the embodiments described in conjunction with
2. The parameters in the element 4182 are a set of parameters from the current reference model 4172. Because the current reference model 4172 is an instance from the series of indexed optimal reference models 4154, the parameters in the element 4182 have the same description and size as the parameters in the elements 4144 and 4156. The parameters in the elements 4144 and 4182 are used in the classification process 4176 to compute the metric arrays that relate to each indexed optimal model “i” 4116 with the current reference model 4172. The parameters in the element 4144 can be obtained from the embodiment shown in
In this example, the parameters in the elements 4144 and 4182 can be obtained from weighted sinusoidal models, such as the weighted sinusoidal models in the element 4116 and the indexed reference model 4140 (e.g., for q=6).
3. The current search limits 4174 are provided by the current reference model 4172. The current search limits 4174 are sub-ranges where the classification process 4176 is most likely to find the best estimates for the measurements (e.g., heart rate, respiration rate, body and/or skin temperature, blood pressure, oxygen saturation, pulse amplitude, perfusion index, glucose concentration in blood, water in blood, etc.) and parameters (e.g., relation and functional relation values used in the computation of measurements such as optical ratios, higher-order fractional and other normalized values) based on prior information acquired and computed in past epochs. Consider the example embodiment where a pulse oximeter measures pulse rate (PR), pulse amplitude (PA), oxygen saturation (SpO2), and/or perfusion index (PI). If the current PR, SpO2, PA, and/or PI of the user have current values of 100 BPM, 95%, and 1% respectively, then most likely within a short period of time thereafter the PR, SpO2, and the PI measurement values do not change by more than certain upper and lower bounds defined by relative or absolute threshold values. For instance, the PR of the user typically does not change more than +/−25% from the current PR baseline within the next few seconds. This has to do with the fact that the human heart has a maximum frequency bandwidth defined by its size and constitution that prevents the human heart from changing frequency abruptly under typical clinical, fitness, and wellness scenarios. In the case of SpO2 measurements, the current SpO2 baseline typically does not change more than +25% and −35% within the next few seconds. The human body requires a specific balance of oxygen in the blood, and as a result, the human body has mechanisms in place that prevent the oxygen levels in the blood from abruptly dropping or increasing. This implies that SpO2 as a measurement signal has a maximum bandwidth that prevents instantaneous or abrupt changes under typical clinical, fitness, and wellness scenarios. Similar rationale can be applied to the PI as a measurement signal. Typically, given the governing dynamics of peripheral blood circulation and perfusion, the current PI baseline does not change more than +1000% and −90% within the next few seconds. The perfusion index signal typically has a frequency bandwidth that is larger than the oxygen saturation and pulse rate measurement signals. However, the PI is still bounded by the intrinsic dynamics of the peripheral blood circulation. The concept of search limits in the context of biosensing measurements, parameters, and functionalities can be usefully applied to any clinical, fitness, and wellness setting given that physiology is intertwined with biofeedback systems that stimulate, regulate, and control parameter dynamics around equilibria. In this example embodiment of the pulse oximeter, the current search limits 4174 can be employed by the classification process 4176 using the following inequalities,
m
1
PR(t)<PR(i)<M1PR(t), Equation 28
m
2
SpO2(t)<SpO2(i)<M2SpO2(t), Equation 29
m
3
PI(t)<PI(i)<M3PI(t), Equation 30
where M1, M2, and M3 are greater than one, and m1, m2, and m3 are less than one. The values of M1, M2, M3, m1, m2, and m3 are defined by the application. In the pulse oximeter example, M1=1.25, M2=1.25, M3=10, m1=0.75, m2=0.65, and m3=0.1. The interpretation of the inequalities in the Equations 27, 28, and 29 is the candidate measurements of SpO2(i), PR(i), and PI(i) in the next epoch “(t+1)” and are obtained from a series of indexed optimal models 4116. The inequalities in the Equations 27, 28, and 29 can be bounded by the upper and lower relative limits defined by the current epoch “t” measurements of SpO2(t), PR(t), and PI(t).
4. The classification process 4176 can be implemented through multi-criteria and multi-variate techniques that estimate the measurements and the parameters that best fit the performance criteria. In an example embodiment, the performance criteria can be defined by Equations 22, 23, 24, and 27 when tested against thresholds during the classification process 4176. Measurements can be obtained from the information input into the classification process 4176. For instance, if the series of indexed optimal models “i” 4116 are indexed by PR values, then the index “i” can be directly mapped into PR values via an affine transformation,
PR(i)=PRMIN+ci Equation 31
where PRMIN and c are constants defined by the application. For example, if “i” varies from 1 to 226 in unit steps, PRMIN=24 BPM, and c=1, then PR will vary from 25 BPM to 250 BPM in steps of 1 BPM. SpO2 values can be estimated from the amplitudes of the photoplethysmographs expressed in a functional ratiometric form. The optimal weights represented by the element 4138 are input into the classification process 4176 through the element 4120 and can be used to compute the SpO2 value for each “i” in the following manner,
where al,k, bl,k, αl, βl, αl,0, bl,0 (for k=1, 2, . . . , n, and l=1, 2, . . . , L), α0, and β0 are constants obtained experimentally from clinical data and fitting techniques, through optical modeling techniques such as Boltzmann's Transport Equations (or photon diffusion modeling approximations), or a combination of data fitting and simulation techniques. The function “cal” maps (i.e., translates) the optical data lumped together in a ratiometric quantity into measurement units (e.g., % for SpO2). The function “cal” can also be a polynomial, linear or affine, piecewise linear, piecewise nonlinear, transcendental, or discrete mapping through a table of values, or a combination thereof. Equation 32 can also be used to calculate (estimate) the measurement values of other blood or body constituents and rates, such as glucose, total hemoglobin, dyshemoglobins, water, proteins, cholesterol, bone density, body fat, calorie consumption, calorie intake, calorie balance over a period of time, etc., depending on the number of optical wavelength signals probing a measurement site and collected by means of the data streams in the element 4104. The PI values can be computed by a weighted sum of the amplitudes of the photoplethysmographs. The optimal waveform 4136 and the optimal weights in element 4138 are input into the classification process 4176 through the element 4120 and can be used to compute the PI value for each “i” in the following manner,
dk are constants obtained experimentally from the clinical data an fitting techniques, through optical modeling techniques such as Boltzmann's Transport Equations (or photon diffusion modeling approximations), or a combination of data fitting and simulation techniques. Equation 33 computes the peak-to-peak amplitude of Ampi(t), a weighted sum of the data streams in the element 4118 (obtained from the optimal waveform 4136 and the optimal weights 4138 and the dk constants), over a certain period of time capable of capturing at least one heart rate cycle.
5. The measurement and parameter selection that occurs in the classification process 4176 aims at applying classification techniques such as Linear, Nonlinear, Radial Basis, Bayes, Decision Tree, Neural Networks, k-Nearest Neighbor, Ruled-Based and Experts Systems in general to estimate the measurement and parameter values that best reflect the real-time data and information collected and processed by the monitoring device and the host device. In an example embodiment, using Equations 21, 26, 27, 28, and 29 can be described by the following ruled-based description,
where ϕ represents the set of allowed values for index “i”, “&” is the AND logical operator, PowerMIN corresponds to the minimum normalized power threshold level, and ArmSMAX corresponds to the maximum allowed root mean square error between the optimal model 4116 and the current reference model 4172. The optimal model 4116 has a normalized energy or power level (Equation 37) that is greater than a certain value (i.e., PowerMIN), and a root mean square accuracy (Equation 27) when compared to the current reference model 4172, less than a certain value (i.e., ArmsMAX) to be considered valid. The result of the ruled-based classification process 4176 defined by Equations 35, 36, and 37 is the determination of an index i=i+∈ϕ, where Power(i+) is maximum. This enables the selection or computation of the measurement values (e.g., SpO2(i+), PR(i+), PI(i+)), the selection index “j(i*)”, and the selection of indexed parameters and metrics, which are all represented by the outputs 4184, 4186, 4188 of the classification process 4176. Signals and/or values in the output 4184 are used in the computation of the output measurements 4170. Signals and/or values in the output 4188 are used in the computation of a new reference model, and signals and/or values in the output 4186 are used in the computation of new search limits. Depending on the application, some of the signals and/or values in the output 4184 can also be part of elements 4186 and 4188. The classification result “i+” indexes the optimal model 4116, the optimal reference model 4154, and all of the indexed measurements and parameters computed from the optimal model 4116 and the optimal reference model 4154. The measurement values SpO2(i+), PR(i+), and PI(i+) can be used, for instance, to update the search limits 4180 at block 4190, to update the measurements SpO2(t+1), PR(t+1), PI(t+1) in the next epoch “(t+1)” at block 4192, to calculate a new reference model at block 4194, and to update the “j(i+)” index that can be used to update the current reference model for the next epoch “(t+1)” at block 4196.
6. The output 4184 of the classification process 4176 can be used to calculate or to update new output measurements 4170. This is done in an outlier removal and averaging process shown in block 4178. Block 4178 receives the output 4184 (e.g., SpO2(i+), PR(i+), and PI(i+)) and calculates the next epoch “(t+1)” output measurements 4170 (e.g., SpO2(t+1), PR(t+1), PI(t+1)). Block 4178 uses the current and the past outputs 4184 to compute the next epoch output measurements 4170. The current and the past outputs 4184 can be stored in arrays or matrices that can be used by the outlier removal and averaging process 4178 to extract the best estimates for next epoch output measurements 4170. In one embodiment, the technique and/or system disclosed in U.S. patent application Ser. No. ______, entitled “Method and System for Processing Data Streams” can be used to remove outliers and perform averaging in block 4178 to calculate the next epoch output measurements 4170. This technique produces by design the efficient numerical calculation of the global optimal solutions for the next epoch output measurements 4170 using the current and the past outputs 4184.
7. The calculation of the new search limits occurs in block 4190. Block 4190 uses the outputs 4186 from the classification process 4176, the outputs from block 4178 to calculate the new search limits. In the example embodiment defined by Equations 28, 29, and 30, the calculation of the new search limits occur by using current and past epoch measurements 4198 and relative limits. Depending on the application, other information 4199 (e.g., model parameters, metrics, etc.) from block 4178 can be used to define the search limits that are a function of the current and past selected optimal models' parameters and metrics and the current and past selected optimal reference models' parameters and metrics obtained from the classification process 4176. It is also possible to have multiple search intervals for a particular candidate measurement or parameter. In an example embodiment, Equation 28 for the measurement values of PR can be generalized as,
m
1,k
PR(t)<PR(i)<M1,kPR(t) Equation 38
where each pair, m1,k, and M1,k, for k=1, 2, . . . , define a search limit interval. The search limit intervals can be disjointed or not, depending on the application. The search limit intervals can also be multi-dimensional where the search limits become multi-dimensional regions such as,
(x(i)=x0(t))TAk(x(i)−x0(t))<1 Equation 39,
where the variable x is a vector representing the candidate measurements and/or the parameters (e.g., x(i)=[PR(i) SpO2(i) PI(i) . . . ]T), the variable x0 is a vector representing the current epoch t measurements and or/parameters (e.g., x0(t)=[PR(t) SpO2(t) PI(t) . . . ]T) and Ak for k=1, 2, . . . , are positive definite matrices that have dimensions implied by the context (i.e., vector×dimension). Each matrix Ak defines a search region. Equation 39 represents multi-dimensional search regions that are enclosed by ellipsoids defined by x0(t) and Ak pairs. The search regions can also be defined by Voronoi diagrams, or a set of non-overlapping multi-dimensional regions that form a partition of the entire search regions. In this context, each non-overlapping multi-dimensional region is a search region that can be used as the current search limits (region) 4174 (with realization 4180) by the classification process 4176 in a particular epoch. Once the new search limits are obtained in block 4190, the current search limits 4174 that will be used in the next epoch by the classification process 4176 are updated at block 4192. The current search limits 4174 can be stored in a particular configuration to save memory and/or improve data retrieving. The current search limits represented by the element 4174 outputs the current search limits in a realization represented by element 4180 that can be more efficiently used by the classification process 4176. For instance, each non-overlapping multi-dimensional region of a Voronoi diagram can be stored in the element 4174 as a set of points (seeds, generators, sites). Depending on the current search limits (region), the element 4174 can map the non-overlapping multi-dimensional region computed from a seed into a set of inequalities available through the element 4180 that can be more easily evaluated by the classification process 4176.
8. The calculation of the reference model occurs in block 4194. Block 4194 uses the output 4188 from the classification process 4176 and the current and past epoch measurements and relative limits 4198 from block 4178 to calculate the new reference model. In an example embodiment, a new reference model can be calculated by using the current and past epoch values 4198 for “j(i+)”, where each optimal model index “i*” is selected by the classification process 4176 as shown in Equations 35, 36, and 37, and “j(i+)” indexes the corresponding optimal reference model 4154. The current and past epoch values 4198 for “j(i+)” determine (e.g., select) instances of reference models. As a result, in some embodiments, the current and past epoch values 4198 can be fed back into block 4178 to calculate an optimal average index for the new reference model. The new reference model can be fed into block 4194 via the other information 4199 for the determination of the new reference model. Optionally, the current and past epoch instances of the reference models selected from the current and past epoch values for “j(i+)” can be fed into block 4194 via the output 4188 to provide additional information for the determination of the new reference model. Depending on the application, the output 4188 can be used in the determination or calculation of a new reference model at each epoch, such as the current and past selected optimal models' parameters and metrics, and the current and past selected optimal reference models' parameters and metrics obtained from the classification process 4176. Once the new reference model is obtained at block 4194, the current reference model 4172 that will be used in the next epoch by the classification process 4176 is updated at block 4198. The current reference model 4172 can be stored in a particular configuration to save memory and/or improve data retrieving. The current reference model 4172 outputs the parameters in the element 4182 in a realization that can be more efficiently used by the classification process 4176. For instance, the parameters in the element 4182 can be output in a format that enables a direct comparison with the set of normalized parameters in the element 4144 as shown in Equation 27.
For each epoch, the element 4204 represents the process of applying the optimization problem solver 4108 “I” times over the series of indexed models 4100 to obtain the series of indexed optimal models 4202. The optimization problem solver 4108 outputs the element 4206, which comprises “I” instances of the element 4122, one for each value of index “i”. As discussed previously, in an example embodiment, the element 4122 can be a structure or a container that stores, for each indexed optimal model “i” 4116, the power, sampled correlation, and sampled root mean square accuracy arrays.
The elements 4208 and 4210 are produced by the element 4202 and comprise of “I” instances of the elements 4118 (e.g., the data set or data streams) and the element 4120, one for each value of index “i”. As discussed earlier, the element 4120 represents all parameters (e.g., optimal values for the optimization variables or the model's parameters, etc.) and internal/intermediate signals and variables other than the “i” data sets or “i” sequences of “n” real or complex data streams represented by the element 4118. The elements 4118 and 4120 are input into the element 4152 for domain and range normalization with parameter extractions. Element 4152 outputs the element 4212, which comprises “I” instances of the set of normalized parameters represented by the element 4144, one for each value of index “i”.
A series of indexed optimal reference models 4214 is determined for each epoch by the search process 4148. In one embodiment, the series of indexed optimal reference models 4214 is calculated according to the embodiments shown in
The series of indexed optimal reference models 4214 outputs the element 4218, which comprise “I” instances of the optimal set of parameters represented by the element 4156. The search process 4148 outputs the element 4220, which comprises “I” instances of an index pair “(i, j(i))” represented by the element 4146, one for each value of index “i”.
The elements 4180, 4182, 4206, 4210, 4212, 4218, and 4220 are input into the classification process 4176, which in turn determines the outputs 4184, 4186, and 4188. In one embodiment, the outputs 4184, 4186, 4188 are computed according to the embodiment depicted in
In the initial or first epochs, the number of instances can be equal to “I”. As data from more epochs are processed, and output measurements and related information are known or stabilized, the search limits can be narrowed along with the number of model instances “IR”. If the output measurements and the related information are subject to discontinuity, such as the removal of the monitoring device from a user or an interrupt and a restart in the wired or wireless connection, or if noise, interference, and/or motion artifacts present in the data streams or data set 4104 increase to higher levels, leading to measurement trends and related information that have statistically less confidence, then the search limits can be increased along with the number of model instances “IR”.
In general, the number of model instances “IR” are updated at each epoch depending on the current search limits 4180. For example, the following equation,
I
R−|ϕ| =Equation 40
where
ϕ{iALLOWED: (m1PR(t)−PRMIN)≤ciALLOWED≤(M1PR(t)−PRMIN),1≤iALLOWED≤I} Equation 41
can be adopted by the optimization problem solver 4108 to select model instances at each epoch. Operator |ϕ| is the cardinality of set ϕ, and PRMIN, c, m1, and M1 are constants defined by the application. In one example, m1PR(t) and M1PR(t) represent the current search limits (i.e., lower and upper limits) from pulse rate measurements available from the elements 4174, 4180. Argument “t” represents the time epoch when the current search limits 4180 were calculated, and hence are available for computing measurements and related information in the next time epoch “(t+1)”.
The input 4300 in
For each epoch, the element 4304 represents the process of applying the optimization problem solver 4108 “IR” times over a series of indexed models to obtain the series of indexed optimal models 4302. The optimization problem solver 4108 outputs the element 4306. The element 4306 comprises of “IR” instances of the element 4122, one for each value of index “iALLOWED”. As discussed previously, in an example embodiment, the element 4122 can be a structure or a container that stores, for each indexed optimal model “i” 4116, the power, sampled correlation, and sampled root mean square accuracy arrays.
The elements 4308, 4310 are produced by the element 4302 and comprise “IR” instances of elements 4118 (e.g., the data set or data streams) and the element 4120, one for each value of index “iALLOWED”. As discussed earlier, the element 4120 represents all parameters (e.g., optimal values for the optimization variables or the model's parameters, etc.) and internal/intermediate signals and variables other than the “i” data sets or “i” sequences of “n” real or complex data streams represented by the element 4118. The elements 4118, 4120 are input into the element 4152 for domain and range normalization with parameter extractions. Element 4152 outputs the element 4312. The element 4312 comprises “IR” instances of the set of normalized parameters represented by the element 4144, one for each value of index “iALLOWED”.
The series of indexed optimal reference models 4314 is determined for each epoch by the search process 4148. In one embodiment, the series of indexed optimal reference models 4314 is computed according to the example embodiments depicted in
The element 4320 is output by the search process 4148. The element 4320 comprises “IR” instances of the index pair “(i, j(i))”, one for each value of index “iALLOWED”. The elements 4180, 4182, 4306, 4310, 4312, 4318, and 4320 are input into the classification process 4176, which in turn determines the outputs 4184, 4186, 4188. In one embodiment, the outputs 4184, 4186, 4188 are computed according to the example embodiment depicted in
Next, as shown in block 4402, the host device calculates a series of indexed optimal reference models at each epoch. In one embodiment, the series of indexed optimal reference models are determined by a search process according to the example embodiments shown in
A determination is made at block 4406 as to whether a sufficient amount of data history exists to calculate average measurements. Block 4406 ensures that enough instantaneous measurements, reference models, and related information (i.e., data history) have been successfully calculated by a classification process prior to the calculation of the average measurements. If a determination is made that a sufficient amount of data does not exist, the process passes to block 4408 where the next state variables in software 120 are updated using the results from blocks 4400, 4402, and 4404 (e.g., the results from the optimization problem solver, the search process, the classification process, and the related information).
When a determination is made at block 4406 that a sufficient amount of data exists, the method continues at block 4410 where the average measurements are calculated from the instantaneous measurement data history. In one embodiment, the calculation of the average measurements is performed via block 4178 shown in
Next, as shown in block 4412, the new reference model is calculated. In one embodiment, calculation of the new reference model occurs in block 4194 and is discussed in conjunction with the example embodiments depicted in
Block 4414 calculates the new search limits using the results from blocks 4400, 4402, and 4404. In one embodiment, calculation of the new search limits is performed by block 4190 as shown in
Block 4416 updates the next state and the output variables using the results from blocks 4400, 4402, and 4404. In one embodiment, the results that are used to update the next state and the output variables include the results from the optimization problem solver, the search process, the classification process 766, the average measurements from block 4410, the new reference model from block 4412, the new search limits from block 4414, and related information.
Next, as shown in block 4504, a series of indexed parameters is calculated from the indexed optimal values for optimization variables. The series of indexed parameters and the series of optimal values for the optimization variables are used to calculate a series of indexed morphological and time-frequency measures (e.g., amplitudes, phases, power, energy, distributions, harmonic content, etc.) that characterize the normalized data streams represented in element 4104 at each epoch. In block 4506, the resulting series of indexed optimal models are calculated from a series of indexed parameters and the series of optimal values for the optimization variables. In one embodiment, the series of indexed optimal models (e.g., series of indexed optimal models 4116 in
A series of indexed metrics (e.g., root mean square accuracies, correlations, variances, absolute errors, minimum-, maximum-, mean-, and median-based metrics, etc.) is then calculated by comparing the series of indexed optimal models with the normalized data streams represented in element 4104 in
Referring to
A series of indexed metrics that compare a series of indexed reference models with the series of (normalized) indexed optimal models are determined at block 4606. Non-limiting examples of the indexed metrics include root mean square accuracies, correlations, variances, absolute errors, minimum-based metrics, maximum-based metrics, mean-based metrics, and median-based metrics. A series of indexed optimal reference models is then computed at block 4608 using the series of indexed metrics calculated in block 4606. In one embodiment, the calculations of the series of indexed metrics and optimal reference models are performed by the search process 4148 (
Blocks 4610, 4612, 4614, 4616, and 4618 describe example operations that are performed by the classification process 4176 to calculate the (optimal) instantaneous measurements and the reference model at each epoch to assemble the data history. In block 4610, the parameters of the current reference model (e.g., parameters 4182 of the current reference model 4172) are retrieved from the state variables in the host device (e.g., the host software). An additional series of indexed metrics that enable a comparison of the series of (normalized) indexed optimal models with the current reference model is computed at block 4612. In one embodiment, the series of (normalized) indexed optimal models are represented by elements 4116, 4242, and 4302 in
Next, as shown in block 4614, a series of indexed instantaneous measurements (e.g., SpO2, PR, PI, etc.) are calculated from the series of indexed optimal parameters and metrics. A selection of instantaneous measurements from the series of indexed instantaneous measurements, parameters, and metrics is performed in block 4616. In one embodiment, the selection of the instantaneous measurements is performed by the classification process 4176 in
A reference model (i.e., index “j(i+)”) is selected from a series of indexed optimal reference models, parameters and metrics at block 4618. In one embodiment, the selection of the reference model (i.e., index “j(i+)”) is performed by the classification process 4176 in
In some embodiments, the host software in the host device and the device firmware in the monitoring device are operable to implement a distributed fuel gauge system to measure the battery life of the monitoring device. The distributed fuel gauge system can reduce the number of components, the hardware complexity, and/or the manufacturing costs of the monitoring device. The distributed fuel gauge system relies on measurements of the battery and circuitry (e.g., temperatures, clock frequencies, currents, voltages, loads, etc.) that are taken by the monitoring device and transmitted to the host device. In addition, the monitoring device can maintain one or more non-volatile counters that log the energy consumed by the monitoring device in each of the states of the monitoring device (e.g., the states shown in
Additionally or alternatively, the monitoring device may have a usage counter that is active whenever the monitoring device (not in state 0 in
The rate of change for the standby counter may be constant (assuming standby power consumption is always the same) or variable (assuming standby power consumption changes depending on observable variables, such as temperatures, clock frequencies, currents, voltages, loads, etc.). The same rational can be applied to the usage counter. The rate of change for the usage counter may be constant (assuming running power consumption is always the same) or variable (assuming running power consumption changes depending on observable variables, such as temperatures, clock frequencies, currents, voltages, loads, etc.). In one embodiment, the rate of change for both the standby counter and the usage counter is increments or decrements in discrete-time intervals.
1. The first region is associated with battery voltages that are greater than a pre-defined upper threshold. In the first region, the battery is charged fully and changes (decreases) in the battery energy cause the battery voltage to change (decrease). As a result of the battery voltage decreases in the first region, the battery voltage can be mapped into the energy remaining in the battery (i.e., the battery energy that is left).
2. The second region is associated with battery voltages that are less than or equal to the upper threshold and greater than a predefined intermediate threshold. In the second region, changes (decreases) in the battery energy do not cause the battery voltage to change. This lack of change in the battery voltage enables the battery voltage to be mapped into the energy remaining in the battery. In the second region, the battery energy consumption is accounted for by one or more non-volatile counters implemented in the monitoring device that log the energy spent by the monitoring device.
3. The third region is associated with battery voltages that are less than or equal to the intermediate threshold and greater than a pre-defined lower threshold. In the third region, the battery is low in charge and changes (decreases) in the battery energy cause the battery voltage to change (decrease). As a result of the decreases in the battery voltage, the battery voltage can be mapped into the energy remaining in the battery.
4. The fourth region is associated with battery values that are less than the lower threshold. In the fourth region, the energy left in the battery is considered to have reached a level where the battery is considered fully discharged (empty).
Referring to block 4700 in
E=min(100,e0+e1VBAT)VBAT>VH Equation 42
where E is the battery's normalized energy from 0 to 100%, e0 and e1 are constants, VH is the battery voltage's upper threshold, and VBAT is the device's battery voltage read by the monitoring device and sent to the host device. The “min” function and number “100” in Equation 42 are to prevent the computation of normalized energy values that are higher than 100%. Equation 42 can also be a higher order polynomial function of VBAT, or some other function that maps VBAT and optionally other measurable parameters (e.g., battery's temperature, environmental pressure, temperature and humidity, device's circuitry current consumptions, etc.) into the normalized energy value E.
If a determination is made at block 4700 that the battery voltage is not greater than the upper threshold, the method continues at block 4704 where a determination is made as to whether the battery voltage is less than or equal to the upper threshold and greater than an intermediate threshold. If so, the process passes to block 4706 where the battery's normalized energy can be computed by an equation such as,
E=max(EL,100−e2CSTANDBY−e3CUSAGE),VH≥VBAT>VI Equation 43
where e2 and e3 are constants, VI is the intermediate threshold of the battery voltage, CSTANDBY and CUSAGE are the standby and the usage counter values read by the monitoring device and sent to the host device. Constant EL is the minimum normalized energy threshold (e.g., 8%, 10%, 15%, etc.) value calculated by Equation 43. Equation 43 can also be a higher order polynomial function of CSTANDBY and CUSAGE, or some other function that maps CSTANDBY andCUSAGE and optionally other measurable parameters (e.g., battery's temperature, environmental pressure, temperature and humidity, device's circuitry current consumptions, etc.) into the normalized energy value E.
If a determination is made at block 4704 that the battery voltage is less than or equal to the upper threshold but is not greater than the intermediate threshold, the process continues at block 4708 where a determination is made as to whether the battery voltage is less than or equal to the intermediate threshold and greater than a lower threshold. If so, the method passes to block 4702 and the normalized energy of the battery can be computed by an equation such as,
E=max(0,e4+e5VBAT),VI≥VBAT>VL Equation 44
where e4 and e5 are constants and VL is the lower threshold of the battery voltage. The “max” function and number “0” in Equation 44 is to prevent the computation of normalized energy values that are lower than 0%. Equation 44 can also be a higher order polynomial function of VBAT, or some other function that maps VBAT and optionally other measurable parameters (e.g., battery's temperature, environmental pressure, temperature and humidity, device's circuitry current consumptions, etc.) into the normalized energy value E.
If a determination is made at block 4704 that the battery voltage is less than or equal to the intermediate threshold and is less than the lower threshold, the process continues at block 4710 where the normalized energy is set to zero to signifies the battery is discharged fully (e.g., is empty).
In
The fuel gauge indicator begins at state 4800 with the battery charged fully. When the battery's normalized energy is less than 75%, the fuel gauge indicator transitions to state 4802 where battery energy is ¾ full. In the illustrated embodiment, the state 4802 only returns to the state 4800 when the battery's normalized energy is greater than 87.5%. The hysteresis in 75%-87.5% prevents jittering when the fuel gauge indicator transitions from the state 4800 to the state 4802.
When the battery's normalized energy is less than 50%, the fuel gauge indicator transitions from state 4802 to state 4804 where the battery energy is ½ full. In the example embodiment, the state 4804 only returns to the state 4802 if the battery's normalized energy is greater than 62.5%. The hysteresis in 50%-62.5% prevents jittering when the fuel gauge indicator transitions from state 4802 to state 4804.
When the battery's normalized energy is less than 25%, the fuel gauge indicator transitions from state 4804 to state 4806 where the battery energy is ¼ full. In the illustrated embodiment, the state 4806 only returns to the state 4804 if the battery's normalized energy is greater than 37.5%. The hysteresis in 25%-37.5% prevents jittering when the fuel gauge indicator transitions from the state 4804 to the state 4806.
When the battery's normalized energy is less than 8%, the fuel gauge indicator transitions from the state 4806 to the state 4808 where the battery energy is low. In the example embodiment, the state 4808 only returns to the state 4806 if the battery's normalized energy is greater than 16.5%. The hysteresis in 8%-16.5% prevents jittering when the fuel gauge indicator transitions from state 4806 to the state 4808.
When the battery's normalized energy is equal or substantially equal to 0%, the fuel gauge indicator transitions from the state 4808 to the state 4810 where the battery is empty. In the illustrated embodiment, the state 4810 only returns to the state 4808 if the battery's normalized energy is greater than 4%. The hysteresis in 0%-4% prevents jittering when the fuel gauge indicator transitions from the state 4808 to the state 4810.
If a determination is made at block 4900 that the count of the standby counter is not at a maximum count, the method continues at block 4904 where a determination is made as to whether a count of a usage counter is at a maximum count. If so, the process transitions to block 4902. When the standby counter or the usage counter reach a maximum count, the monitoring device shuts down and is restarted at block 4902. Once the count on the standby counter or on the usage counter has maxed out, the monitoring device is no longer connected to the host device and does not perform any biosensing functionalities. In one embodiment, the standby counter and the usage counter are non-volatile and cannot be reset once the standby counter or the usage counter reaches the maximum count. Thus, the standby and the usage counters can prevent unauthorized users from extending the use of the monitoring device. Preventing the extension of the use of the monitoring device is especially useful in single-use applications where the monitoring device is disposable and has a non-rechargeable battery that cannot be replaced. For example, in some situations the battery cannot be replaced due to safety and/or regulatory reasons after the battery has been discharged fully.
If a determination is made at block 4904 that the count of the usage counter is not at a maximum count, the method continues at block 4906 where the standby counter data structure is updated with an increment to reflect a decrease in the battery's energy. In block 4908, the firmware data structures in the device firmware in the monitoring device are initialized. The initialization includes, but is not limited to, data pointers, structures, unions, arrays, and/or multi-dimensional arrays.
Next, as shown in block 4910, one or more wireless and/or communication services are initialized. In an example embodiment, the wireless service for a Bluetooth Low Energy (BLE) connection can be a collection of data and associated behaviors and functions to enable wireless functionalities (pairing and connection management, data transfer, interruptions, error handling, etc.) used by the device firmware via a BLE software stack and main application. In block 4912, a data collection interruption service is initialized. The data collection interruption service enables the device firmware to store and process real-time data acquired periodically by the frontend circuitry in the monitoring device. The data collection service managed by interruption, which can be trigged by a number of data samples collected or by an elapsed time, reduces power consumption in the monitoring device and frees up resources that can be used by other services (e.g., supervisory, communication, etc.).
In block 4914, a supervisory interruption service is initialized. The supervisory interruption function is activated periodically to monitor and control the states of the monitoring device. For example, the states of the device firmware are the states depicted in
When a determination is made at block 4918 that the watchdog timer has not timed out, the method waits at block 4918. The watchdog timer ensures that faults are detected and handled while the monitoring device is connected to the host device. Additionally, the watchdog timer also ensures that the monitoring device is always ready for operation and fault-free (whenever possible) when the monitoring device is disconnected from the host device.
In some embodiments, the battery is a non-rechargeable battery. Information about the charge on the non-rechargeable battery and/or the usage of the monitoring device is provided to the user at select times or continuously to enable the user to predict when the monitoring device is to be replaced.
In one embodiment, the usage counter is implemented in non-volatile memory (e.g., a flash memory) so as not to lose the counter value in the event of a power transient. The usage counter is decremented periodically by the processing device at block 5104 based on the electrical loads in the circuitry of the monitoring device. The higher the power consumption of a particular load, the larger the corresponding decrement (ΔTi). Some loads are constant over time, and some tend to vary depending on known factors. For instance, the required current of a light source (LED) may vary depending on the measurement site's optical opaqueness. As a result, the corresponding ΔTi of a particular LED should be adjusted by its set current. The higher the current, the higher the ΔTi value.
When the battery voltage Vbat is less than Vb and greater than or equal to Vc (
The usage counter implemented in block 5102 of
Another safety feature can be implemented by starting a voltage timer or counter (“voltage timer”) whenever the voltage of the battery drops below a certain threshold. If the battery voltage stays below the threshold until the voltage timer reaches a pre-defined value, the battery voltage cannot increase past the threshold given that the battery is non-rechargeable, and a flag is set in the non-volatile memory indicating the battery is fully discharged. Later, in the event the battery voltage becomes greater than the threshold, with the usage and/or the standby counters expired, an inference can be made that an unauthorized user (or third-party) has tempered with monitoring device. In this case, the device firmware of the monitoring device may reset the processing device (e.g., processing device 102 in
Returning to block 5200, if a determination is made that the monitoring device is not in use, it is assumed the monitoring device is in standby mode and the standby counter is incremented at block 5208. A determination is made at block 5210 as to whether the standby counter has reached its maximum value. If so, the process passes to block 5212 where the monitoring device stops operating and cannot be used. Again, in an alternate embodiment, if the standby counter reaches its maximum value, then block 5212 can be executed only after the connection (e.g., wireless connection) between the monitoring device and the host device is lost to stop operation. This ensures that the user is not put at risk due to the lack of operation of the monitoring device because the standby counter has reached its limit (maximum value).
When the standby counter and the usage counter have not reached the maximum values, the method continues at block 5214 where a determination is made as to whether the battery voltage is below a pre-defined voltage threshold. If so, a threshold counter is incremented at block 5216. Otherwise, the threshold counter is reset at block 5218.
A determination is made at block 5220 as to whether the threshold counter has reached its maximum value. If so, the method passes to block 5222 where the monitoring device either stops operation (e.g., immediately), continues normal operation until the standby or usage counters expire, or stops operation after the battery voltage increases higher than the pre-defined voltage threshold. The method returns to block 5200 when a determination is made at block 5220 that the threshold counter has not reached its maximum value.
In some embodiments, the standby, usage and threshold counters are implemented in the non-volatile memory in the monitoring device. Alternatively, the threshold counter can be implemented in the volatile memory in the monitoring device, or in the volatile memory of the host device, given that the threshold counter is typically used to measure time intervals much smaller than typical usage or standby time intervals. Implementing the counters in the non-volatile memory decreases the chances of an occurrence of power outage, failure, or reset that may cause the counters to lose their current values
In the second charge-voltage region 5302, changes in battery charge do not affect (or substantially affect) the battery voltage. As a result, in the second charge-voltage region 5302, the battery charge is accounted for via one or more counters (or timers). In other words, region 5302 does not include observable or measurable parameters that can be used to estimate the battery charge directly. Thus, the one or more counters and/or information about other available parameters of interest (e.g., ambient temperature, circuitry loads, etc.) is used to estimate the battery charge.
As the battery discharges, the battery enters the third charge-voltage region 5304 where the battery charge can again be estimated from the observable battery voltage and/or other available parameters of interest (e.g., ambient temperature, circuitry loads, etc.). In an alternate embodiment, the first and the second regions 5300, 5302 can be combined into a single first/second non-observable charge-voltage region 5306 and the calculations are performed as described for region 5302.
In
In block 5402, the battery charge reaches the second charge-voltage region (e.g., 5302 in
Next, as shown in block 5404, the battery is operating in the third charge-voltage region (e.g., region 5304 in
Initially, as shown in block 5500, the battery in the monitoring device is in the combined (e.g., first+second) charge-voltage region and the battery charge is estimated using the one or more counters that are implemented in the monitoring device. The counter value(s) are transmitted to the host device for processing. The host device decreases the battery charge over time as a function of the counter value(s). In a non-limiting embodiment, the counter(s) are implemented as the usage and the standby counters. The values of the standby and usage counters are mapped by the host device into normalized battery energy values whenever the battery is operating in the combined region.
Next, as shown in block 5404, the battery is operating in the third charge-voltage region (e.g., 5304 in
When the user selects the selectable element 6002 (e.g., the scan button), an optional notification 6004 is presented stating the host application is requesting access to an imaging device (e.g., the camera) on the host device (
As shown in
The reports 6602 can be a combination of analyses and charts shared as a file (i.e., PDF, PS, HTML, etc.) or designed to be interactive with the user. The trends 6604 may be a spreadsheet or database (interactive or shared as a file) with data trend measurements over time. The waveforms 6606 can be a database or spreadsheet file that logs the waveforms collected, or the raw data from where the waveforms and other variables of interest can be extracted.
In
In one embodiment, after the monitoring device is connected to the host device and the host device is displaying one or more measurement gauges, one or more waveforms and/or one or more trends (e.g., SpO2, PR, PA, and/or PI, and temperature measurements, photoplethysmograph and/or ECG waveforms) received over a given period of time, the user can share the data via the Reports 6602.
1. SpO2 Measurements Over Time—The report 6622 in
2. PR Measurements Over Time—The report 6632 in
3. PI Measurements Over Time—The report 6640 in
4. SpO2 Distribution—The report 6646 in
5. PI Distribution—The report 6652 in
6. PI Distribution—The report 6658 in
7. SpO2 Desaturations per Hour—The report 6664 in
8. Cumulative Time Percentage with SpO2 Less than Threshold—The report 6668 in
9. PR Volatility Distribution—The PR Volatility expresses the heart rate short-term variability. In one embodiment, the PR volatility is calculated following the example operations described in conjunction with
10. PI Log-Volatility Distribution—The PI Log-Volatility expresses the perfusion short-term variability. In one embodiment, the PI Log-Volatility is calculated following the example operations described in the embodiment depicted in
Additionally or alternatively, a user may share trends in SpO2, PR, PA, PI, and/or temperature measurements in a file at any time through the host application on the host device (e.g., Trends 6604 in
1. Date/Time—The column 6682 stores the date and the time of each measurement taken. Measurements can be stored once a second (for 12 h trend storage), once every 2 seconds (for 24 h trend storage), once every 3 seconds (for 36 h trend storage), and once every 4 seconds (for 48 h trend storage). Other embodiments can store the measurements at different times.
2. Product Label Barcode. The column 6684 stores the 8-digit hexadecimal number that identifies the monitoring device that is used at the corresponding time and date.
3. SpO2(%)—The column 6686 records the SpO2 measurements.
4. PR (BPM)—The column 6688 stores the PR measurements.
5. PI (%)—The column 6690 records the PI measurements.
6. Temperature (C)—The column 6692 stores the core body (or skin) temperature measurements.
In some instances, the user may share waveforms (e.g., using Waveforms 6606 in
The Data column 6698 is the actual data saved to the file 6694. In
In some embodiments, to increase the battery life of the host device (e.g., a smart watch or smart phone), the waveforms (e.g., Waveforms 6606 in
There are situations where it is desirable to take screenshots of the measurement gauges and the trend data for the user's records or for sharing with third parties. Typically, the host device offers this functionality as a standard feature. For instance, in the case of an iOS device from Apple, Inc., the user presses and holds the top (or side) button and one of the volume buttons concurrently to capture a screenshot of the display. The user interface screenshot can be displayed on the display of the iOS device and/or shared by the iOS device.
1. Serial Num 6702—When the monitoring device is connected to the host device, the host device can display an M-digit hexadecimal number in the screen 6700, where M is a number greater than zero. For example, the M-digit hexadecimal number is a 16-digit hexadecimal number. In one embodiment, the M-digit hexadecimal number is the serial number of the monitoring device.
2. Barcode 6704—When the monitoring device is connected to the host device, the host device may display a P-digit hexadecimal number that identifies the monitoring device in the screen 6700, where P is a number greater than zero. For example, the P-digit hexadecimal number is the barcode from the product label (e.g., product label 7704 in
3. Lot Num 6706—When the monitoring device is connected to the host device, the host device can display the manufacturing lot number of the monitoring device in the screen 6700.
4. Exp Date 6708—When the monitoring device is connected to the host device, the host device may display a date after which the monitoring device should not be sold or used in the screen 6700.
5. Model 6710—When the monitoring device is connected to the host device, the host device can display a Q-digit hexadecimal number of the model number of the monitoring device in the screen 6700. Q is a number greater than zero. For example, the Q-digit hexadecimal number is a 4-digit hexadecimal number.
6. Version 6712—When the monitoring device is connected to the host device, the host device may display an R-digit hexadecimal number of the version number of the monitoring device. For example, the R-digit hexadecimal number is a 4-digit hexadecimal number.
7. App Version 6714—When the monitoring device is connected to the host device, the host device can display an S-digit number of the software version. In a non-limiting example, the S-digit number is a three digit number.
1. LED Power 6802—The LED power parameter in the screen 6800 displays the power levels (reported at a Time Stamp) for each light source of the optical sensor in the monitoring device. For example, the power levels of light source one (LED1) and light source two (LED2) are presented. The power level of each light source varies between 0 and 100%.
2. Electronic Gain 6804—The electronic gain parameter in the screen 6800 represents the analog frontend electronic gain (reported at Time Stamp) of the monitoring device. The electronic gain varies between 0 and 40 dB.
3. Ambient Light 6806—The ambient light parameter in the screen 6800 represents the ambient light intensity detected by the one or more photodetectors in the optical sensor in the monitoring device (reported at Time Stamp). It varies between 0 and 100%.
4. SoC Temperature 6808—The SoC parameter in the screen 6800 represents the System on Chip (SoC) temperature in the monitoring device. The SoC temperature can be displayed in Celsius (reported at Time Stamp) or Fahrenheit.
5. Battery Voltage 6810—The battery voltage parameter in the screen 6800 represents the battery voltage in Volts (reported at Time Stamp) of the battery in the monitoring device.
6. Standby Time 6812—The standby time parameter in the screen 6800 represents the amount of time the monitoring device has been activate and disconnected from the host device (reported at Time Stamp).
7. Usage Time 6814—The usage time parameter in the screen 6800 represents the amount of time the monitoring device has been activate and connected to the host device (reported at Time Stamp).
8. Time Stamp 6816—The time stamp parameter in the screen 6800 is the date and time when the one or more hardware diagnostic parameters are reported.
In some applications, the system that includes the monitoring device, the host device, and the host application can include a built-in an alarm/warning system to keep the user (e.g., a patient) informed and/or safe.
Example alarm/warning are now described. The example alarms are listed in descending order of priority, although other embodiments are not limited to the illustrated priority order.
1. Monitoring device is not connected to host device—This alarm is issued whenever the monitoring device is not connected to host device. A visual warning can include causing one or more gauges to blink and/or be displayed in a dashed line. An audible warning may include a beep and/or an audible notification such as “Device not connected.” This alarm/warning has the highest priority in one embodiment, given that the warning indicates the monitoring device is not connected to the host device, may be out-of-range, defective, or turned off.
2. Battery is empty—The warning is issued whenever the battery in the monitoring device is low or empty. A visual warning can include causing a graphic representation (e.g., battery icon 7008) to blink and/or be displayed in a dashed line. An audible warning may include a beep and/or an audible notification such as “battery is empty or low.” This alarm/warning has the second highest priority in one embodiment. In some embodiments, the measurement gauges are no longer displayed on the host device when the battery on the monitoring device is low. When the battery on the monitoring device is empty, the measurements are not displayed on the host device.
3. Monitoring device is searching for a valid signal—The warning is issued whenever the monitoring device is connected to the host device but measurements are not yet displayed on the host device because the monitoring device is either not correctly placed on subject, or the data collected is within a transient time where there is not enough collected data to produce a reliable set of measurements. This alarm/warning has the third highest priority in one embodiment. A visual warning can include causing one or more measurement gauges to blink and/or be displayed in a dashed line. An audible warning may include a beep and/or an audible notification such as “searching for signal.”
4. Wireless connection with the host device is not reliable—This warning is issued whenever the monitoring device has an unreliable wireless or wired connection with the host device. In one embodiment, a visual warning causes all of the measurement gauges blink in a color, such as red. An audible warning may include a beep and/or an audible notification such as “poor connection.”
5. SpO2 measurement has crossed either upper or lower limits—This alarm is issued whenever the SpO2 value is outside the preset normal limits. In one embodiment, a visual warning causes the SpO2 measurement gauge to blink in a color, such as red and/or be displayed in a different color. An audible warning may include a beep and/or an audible notification such as “saturation warning.” In some instances, the upper and/or lower limits of the SpO2 measurements can be defined by the user in a settings screen, as will be described in more detail in conjunction with
6. PR measurement has crossed either upper or lower limits—This alarm is issued whenever the PR value is outside the preset normal limits. In one embodiment, a visual warning causes the PR measurement gauge to blink in a color, such as red and/or be displayed in a different color. An audible warning may include a beep and/or an audible notification such as “pulse rate warning.” In some instances, the upper and/or lower limits of the PR measurements can be defined by the user in a settings screen, as will be described in more detail in conjunction with
7. SpO2 and PR measurements have crossed either upper or lower limits—This alarm is issued whenever both the SpO2 and the PR values are outside the preset normal limits. In one embodiment, a visual warning causes the SpO2 and PR measurement gauges to blink in a color, such as red and/or be displayed in a different color. An audible warning may include a beep and/or an audible notification such as “saturation and pulse rate warning.”
8. Battery in host device is low—This warning is issued whenever the battery in the host device is low or empty. In one embodiment, a visual warning causes a message to be displayed, such as “charge host device.” An audible warning may include a beep and/or an audible notification such as “charge host device.” In a non-limiting example, the warning is issued when the charge on the battery in the host device is less than 23%, although other embodiments are not limited to this percentage value.
In
If the user does not want to hear the measurement values, then the option “never” in the selectable option 7110 disables the voice-based measurements. In some embodiments, it is possible to set the host device to provide only voice-based measurements whenever one or some of the measurement values change more than a certain threshold value (absolute or relative). For instance, the host device can audibly output the current measurements whenever the value of SpO2 changes more than +/−2 points, or the value of PR changes more than +/−5 bpm, or the value of PI changes more than +/−10%, or the value of temperature changes more than +/−0.3 Celsius, from their last spoken measurement values. Spoken measurements can also be triggered depending on how the rate of change (first derivative), or the rate of change of the rate of change (second derivative), etc. of a particular measurement variable varies over time.
Additionally or alternatively, the user is informed about the measurement tendency (or rate of change) over time since the last spoken measurement. For example, the host device could speak to the user messages such as “SpO2 is ninetyfour percent and decreasing”, “PR is one hundred beats per minute and stable”, “PI and/or PA is zero point two percent and increasing”, “Temperature is thirty six Celsius and stable”. The rate of change can also be specified numerically or qualitatively, such as “increasing slowly”, “increasingfast”, “decreasing slowly”, or “decreasingfast”, etc. The type and content of the measurement message, the triggering rule, and the information contained therein depends on the monitoring application and its particular requirements.
In one aspect, the host device is restricted to the application (a single application) with the hardware buttons and access to the host application menu are disabled and protected by a password (or some other form of authentication) to prevent unauthorized users from changing the settings or disabling the application program. In one example, the host application is compliant with the iOS Guided Access mode when the host device is an iOS device. The Guided Access mode temporarily restricts the iOS device to a single application and lets the user control which features of the application are available. The default behavior of the host application during a Guided Access section can be: (1) The application termination is disabled; (2) The application menu is disabled; (3) Portrait and landscape views are enabled; (4) Hardware buttons are disabled (e.g., volume, sleep/wake, etc.); and (5) The user can silence audible warnings (if enabled and active) for a period of time by taping on any measurement gauge. However, Audible warnings will resume automatically after the silence duration (i.e., 30, 60, 90, or 120 seconds) expires. If required, audible warnings can be permanently disabled before starting a Guided Access section.
The alarm/warning system described in
As discussed previously, the battery in the monitoring device is non-rechargeable battery. Information about the device usage and/or the charge on the battery are provided to the user at select times or continuously to enable the user to predict when monitoring device is to be replaced. The battery icon 7008 shown in
In some embodiments, the host device can compute SpO2 values higher than 100%, and/or other extended measurements of interest.
Initially, a determination is made as to whether the “SpO2 Out-of-Range Suppression” is disabled (see 7502 in
The non-extended (e.g., not extrapolated) curve(s) that are used to determine the SpO2 values that do not exceed one hundred percent are selected at block 7306. The SpO2 values are then computed and provided to an output device at block 7308. For example, the embodiments shown in
Returning to block 7300, when a determination is made that the “SpO2 Out-of-Range Suppression” is disabled (e.g., suppression disabled), the method continues at block 7310 where the computational range(s) for the optimization variables, parameters, and metrics in an optimization problem solver are set or extended to extended ranges to determine the SpO2 values that may exceed one hundred percent. Next, as shown in block 7312, the allowed search ranges for the current search limits (e.g., current search limits 4174 in
The extended (e.g., extrapolated) curve(s) that are used to determine the SpO2 values that exceed one hundred percent are selected at block 7314. An example extrapolated curve is shown in
For example, the embodiments shown in
Another section of the user interface screen 7600 (e.g., the right side) shows a SpO2 data trend 7612. In one embodiment, other data trends (e.g., PR, PI, etc.) are displayed whenever the user selects the corresponding measurement gauge on a display device (e.g., a touchscreen) in the host device. The SpO2 data trend 7612 has an upper limit scale 7614 of 105% because the SpO2 values reached levels higher than 100%.
The SpO2 data trend 7612 contains three labels (A, B, and C) which tag events/actions that happened during the continuous monitoring of SpO2, PR, and PI (or PA in an alternate embodiment). Label A indicates a point in time (with SpO2 around 99%) where a user was asked to inhale and exhale at a higher frequency so as to hyperventilate. This caused the SpO2 levels of the user to increase at a rate defined by the dashed line 7616. Label B indicates the point in time (with SpO2 around 101.5%) where the user was asked to return to a normal breathing pattern. The SpO2 levels of the user returned gradually to the previous baseline at a rate defined by dashed line 7618. Label C indicates a point in time (with SpO2 around 100.3%) where the user was given oxygen via an oxygen mask. As a result, the SpO2 levels of the user started increasing again at a rate defined by dashed line 7620. The last value 7622 displayed in the SpO2 data trend 7612 is around 102.5% after about 1 and ½ minutes of giving oxygen to the user.
The graphic element 7624 is a gauge with an arrow pointing upwards. An indicator 7626 displays the current SpO2 rate of change (i.e. 1.5%/min), which is defined by the slope of the dashed line 7620. The graphic element 7624 has a length that is proportional to the SpO2 rate of change displayed in the indicator 7626. The graphic element 7624 will point downwards whenever the rate of change is negative, as it is depicted in the graphic element 7628 (i.e.,−3 bpm/min) for the PR rate of change (as indicated by the indicator 7630).
The slopes of the dashed lines 7616, 7618, and 7620 can be calculated in real-time using the estimation technique and/or system disclosed in U.S. patent application Ser. No. ______, entitled “Method and System for Processing Data Streams”. This estimation technique and/or system can be used to efficiently calculate global, optimal, numerical solutions for the slopes that are insensitive to outliers that can be present in the SpO2 data trend due to physiological changes, motion artifacts, interferences, and noise. The dashed lines 7616, 7618, and 7620 represent an affine (or linear) relationship between SpO2 and time. Depending on the application, the dashed lines 7616, 7618, and 7620 can be replaced with second-order or higher-order polynomial curves that reflect a non-linear relationship between SpO2 and time. The estimation technique can also be applied to second-order or higher-order polynomials. In one embodiment, the polynomial coefficients provide additional information related to the higher-order rate of changes (second, third, etc. derivatives) that can also be displayed to the user via the measurement gauges and/or the data trends in a user interface screen of a host application.
In
However, in embodiments where the monitoring device 100 includes the first and the second electrical contact sensors (e.g., 707, 708 in
In another embodiment, the tape 7708 with the conductive fibers can be made part of the monitoring device 100 so as to perform the functions of boosting the gain of the wireless antenna in the monitoring device 100. To boost the wireless efficiency, when using the conductive tape 7708 with the conductive fibers, the wrapping of the tape 907 around the measurement site 7800 can be done in a way to leave a cavity (or aperture, gap) 7802 at the fingertip extremity. The cavity 7802 can be created based on how the tape 7708 is wrapped around the monitoring device 100 and the measurement site 7800 (e.g., the fingertip) and/or by the way the tape 7708 is designed and/or attached to the monitoring device 100.
The conductive fibers in the tape 7708 can improve the optical, electrical and/or thermal coupling (contact) with the measurement site 7800 when pressure is applied to the monitoring device 100 at the measurement site 7800. Additionally or alternatively, the conductive fibers may serve as the second electrical contact sensor (e.g., 708 in
Although the measurement site in
In some embodiments, the use of the forehead as a measurement site 8000 can result in improved measurements for SpO2, PR, PA, and/or PI. The perfused tissue in the forehead region is a few millimeters thick and is suitable for a reflective pulse oximeter that has a relatively small separation (gap) between the one or more light sources and the one or more photodetectors (e.g., light source(s) 113 and photodetector(s) 114 in
The forehead as a measurement site 8000 may also be advantageous during physical activity. The measurement site 8000 is less prone to motion artifacts given that it is located on the subject's head. As a mechanism of self-protection against brain injuries, the body's motion effects are always minimized at the subject's head, through motion dumping enabled by the skeleton and muscles. In addition, the forehead is subjected to shorter transport delays to physiological changes (i.e., SpO2, PR, PA, and/or PI changes. etc.), and also shows less vasoconstrictor response to cold, given its proximity to the brain. Optionally, a headband 8002 (e.g., headband 7708 in
However, in embodiments where the monitoring device 100 includes the first and the second electrical contact sensors (e.g., 707, 708 in
To enable the monitoring device 100 to communicate wirelessly with the host device (e.g., host device 105 in
However, in embodiments where the monitoring device 100 includes the first and the second electrical contact sensors (e.g., 707, 708 in
To enable the monitoring device 100 to communicate wirelessly with a host device (e.g., host device 105 in
However, in embodiments where the monitoring device 100 includes the first and the second electrical contact sensors (e.g., 707, 708 in
To enable the monitoring device 100 to communicate wirelessly with a host device (e.g., host device 105 in
In one aspect, the use of the posterior auricle as a measurement site 8300 can result in improved measurements for SpO2, PR and PI. The thickness of the ear cartilage in this region of the ear is typically only a few millimeters thick. Thus, the measurement site 8300 is suitable for a reflective pulse oximeter that has a small separation (gap) between the one or more light sources and the one or more photodetectors of the optical sensor (e.g., 113, 114 in
The measurement site 8300 enables the monitoring device 100 to probe the shallow and perfused blood tissue from the posterior auricle, providing waveforms with high signal-to-noise ratio and enabling the accurate detection of SpO2, PR, PA, and/or PI, even at very low perfusion levels. The posterior auricle as a measurement site 8300 is also advantageous during physical activity. The measurement site 8300 is less prone to motion artifacts given that it is located on the user's head. As a mechanism of self-protection against brain injuries, the body's motion effects are always minimized at the user's head through motion dumping enabled by the skeleton and muscles. In addition, the posterior auricle is subjected to shorter transport delays to physiological changes (i.e., SpO2, PR, PA, and/or PI changes. etc.), and also shows less vasoconstrictor response to cold, given its proximity to the brain.
In some embodiments, an adhesive tape 8304 can be used to protect the monitoring device 100 against various events, including mechanical shocks, dislodging, and direct sunlight exposure. The adhesive tape 8304 may also improve optical, thermal and/or electrical coupling with the measurement site 8300 (posterior auricle). However, in embodiments where the monitoring device 100 includes the first and the second electrical contact sensors (e.g., 707, 708 in
To enable the monitoring device 100 to communicate wirelessly with a host device (e.g., host device 105 in
The hat circuitry 8402 may or may not include some or all of the circuitry in the monitoring device 100 shown in
The host device processes and analyzes the data, displays one or more measurements and trends, generates an alarm or warning, stores the data, shares the data, and the like. In the illustrated embodiment, the hat circuitry 8402 has the following functionalities:
1. Sensing Circuitry—The hat circuitry 8402 includes sensing circuitry 8406 such as electronics and sensors, as discrete and/or distributed components, standard integrated circuits, and/or Application-Specific Integrated Circuit (ASIC), to sense continuously or at select times the body temperature, environmental temperature, environmental pressure, environmental ultraviolet (A, B, and/or C bands), body hydration, non-invasive blood total hemoglobin, carboxyhemoglobin and methemoglobin, SpO2, PR, PA, and/or PI, plethysmographs, non-invasive blood glucose levels, respiration rate, user's activity and calorie consumption, EEG, etc., and spot-check measurements of ECG waveforms.
2. Processing Device—A processing device 8408, such as a low-power processing device (e.g., ARM-based, ASIC, etc.) receives the data from the sensing circuitry 8406, processes the data, and transmits (e.g., wirelessly) the data to a host device using the communication device 8410. In some embodiments, a processing device, such as ASIC circuitry, performs specialized signal processing functions to reduce overall power consumption and the footprint of the hat circuitry 8402. In a non-limiting example, the processing device 8408 performs functions having a low complexity and low latency (i.e., hard real-time processing) and the host device processes data having a higher complexity and latency (i.e., soft real-time processing). The processing device 8408 can be part of the hat circuitry 8402 or can be distributed around the hat layout and/or part of the hat's fabric, depending on the application.
3. Power Management Circuitry—The power management circuitry 8412 includes a battery and manages the voltages and loads, battery life, and charging of the battery. In one embodiment, the battery in the hat 8400 is charged through a wireless charger 8414. The wireless charger 8414 minimizes circuitry isolation requirements and eliminates the need for cables and/or connectors. It may also be more convenient for the user given that to charge the battery in the hat 8400, the user can place the hat on top or near the wireless charger 8414. The voltages can be regulated through boost and buck converters that can be designed to provide voltage levels with maximum noise levels that match the requirements of the battery. The power management unit can be part of the hat circuitry 8402 or can be distributed around the hat layout and/or part of the fabric of the hat, depending on the application.
4. Energy Harvesting Circuitry—The energy harvesting circuitry 8416 can be composed of pyroelectric, piezoelectric, thermoelectric, photovoltaic, ambient-radiation, transducers and electronics that convert some or all forms of energy in the environment into electric power that can power the hart circuitry 8402 directly, or that can be used to recharge the battery in the power management circuitry 8412 to recharge or increase the battery life. The transducers and electronics can be part of the hat circuitry 8402 or can be distributed around the hat layout and/or part of the fabric of the hat, depending on the application.
5. Communication Device—Any suitable wireless communication device 8410 can be used. In one embodiment, the communication device 8410 is a wireless radio unit for receiving and sending data to a host device or to a network (e.g., network 120 in
Configuration 8502 includes the hat 8400, the monitoring device 100, and a removable battery 8504. Configuration 8502 can be used on multi-use disposable applications, where the hat 8400 and the hat circuitry 8402 are used multiple times. In this embodiment, whenever the amount of charge on the removable battery 8504 is low or empty, the removable battery 8504 is replaced with a new removable battery. The removable battery 8504 can be composed of standard non-rechargeable battery or can be a custom module with an anti-temper memory that prevents a user from using a battery that is not provided by the manufacturer of the hat 8400.
Configuration 8506 is similar to the configuration 8502, with the addition of the energy harvesting circuitry 8416. The energy harvesting circuitry 8416 can be used to increase the amount of charge on the removable battery 8504 and extend the amount of time the removable battery 8504 is used before replacement or recharging.
Configuration 8508 includes the hat 8400, the monitoring device 100, and a charger 8510 (e.g., wireless charger 8414). Configuration 8508 is used in reusable applications where the battery is rechargeable and the charger 8510 is used to charge the battery. In one embodiment, the rechargeable battery, fuel gauge, protection, and wireless charging receiver circuitries can be part of the monitoring device 100.
The host device processes and analyzes the data, displays one or more measurements and/or trends, generates one or more alarms or warnings, stores the data, and/or shares the data with another computing device. In one embodiment, the patch circuitry 8602 has similar functionalities as the hat circuitry 8402 shown in
The wearable patch 8600 may be a disposable, single-use patch, a multi-use patch, or a reusable patch. In the illustrated embodiment, instead of a headband or an adhesive tape, a monofilament 8604 is used to attach the wearable patch 8600 to the measurement site (e.g., the forehead). In one embodiment, the monofilament 8604 is a transparent or semi-transparent monofilament. The monofilament 8604 can be attached to a case 8606 with a cavity that fits the wearable patch 8600. The case 8606 can be made to match the user's skin color to create a discreet monitoring solution that works on the measurement site. The case 8606 with the monofilament 8604 can make the monitoring solution more discreet and improve the optical, electrical, and/or thermal coupling between the wearable patch 8600 and the measurement site. The monofilament 8604 may protect the wearable patch 8600 against various events, such as mechanical shocks, dislodging, and direct sunlight exposure.
In a reusable embodiment, the battery in the patch 8600 can be a rechargeable battery that is charged through a wireless charger 8414. The wireless charger 8414 can reduce or minimize the circuitry isolation requirements and/or reduce or eliminate the need for cables and/or connectors. Wireless charging can also be more convenient for the user given that to charge the battery in the wearable patch 8600, the user simply places the wearable patch 8600 on top or near the wireless charger 8414. The monitoring solution with the wearable patch 8600, the case 8606, and the monofilament 8604 can be applied to measurement sites other than the forehead. For example, measurement sites such as the arm, the leg, the wrist, the foot, the chest, and the neck, can be used. In addition, in some applications, the reusable monitoring solution with the wearable patch 8600, the case 8606, and the monofilament 8604 can be integrated into a single device to reduce costs and simplify usage workflow to make it more convenient for daily use.
In some non-invasive, continuous monitoring embodiments for veterinary applications, the large variety of the types of animals, the characteristics, and the measurement sites may require different algorithms and/or calcurves to account for the wider range of physical (optical, mechanical, etc.) and physiological properties at the measurement site. The example flowcharts depicted in
Initially, as shown in block 8900, information about the type of animal (e.g., cattle, dog, cat, etc.), the animal's characteristics (including age, gender, body weight, height, etc.), and/or the measurement site location are obtained to determine and select one or more curves for SpO2 measurement values up to 100% and above 100% that best match the type of animal, the animal's characteristics, and/or the chosen measurement site location. Blocks 3200, 3202, 3204, 3206, 3208, 3210 are then performed using the selected curves.
Initially, as shown in block 9000, information about the type of animal, the animal's characteristics (including age, gender, body weight, height, etc.), and/or the measurement site location are obtained to determine and select one or more algorithm settings (e.g., non-extended and extended ranges, curves, search limits, etc.) for SpO2 measurement values that best match the type of animal, the animal's characteristics, and/or the chosen measurement site location. Blocks 7300, 7302, 7304, 7306, 7308, 7310, 7312, 7314, and 7316 are then performed using the selected algorithm settings.
A wireless monitoring device that is small, lightweight, disposable (or reusable), with self-adhering adhesive tape that facilitates attachment to a measurement site can be very advantageous in veterinary applications. Site pigmentations, fur, and other non-ideal skin characteristics found in animal patients can restrict the available measurement site locations and areas where perfusion and optical properties provide continuous, intense, stable, and repeatable signals. A small, lightweight, wireless monitoring device with reflectance-based optical sensor can be easily attached to any part of the animal body without the need for transmittance-based signals applied and collected in opposite sides of a measurement site. Optical power is reduced in reflectance-based optical sensors given that the separation between the one or more light sources (e.g., 113 in
A monitoring device for veterinary use can also include a temperature sensor 705 (
The host device 105 transfers information to the computing system 1202 in a spacecraft 9102 for analysis, display, warnings, storage, etc. The computing system 1202 transmits information to the cloud computing system 1204 for analysis, display, warnings, storage, etc. located on a planet (e.g., earth), a moon, or another location 9104 where the astronaut's physiological information is accessed by others (e.g., a mission control center). In
The embodiment in
The monitoring device 100 collects optical and/or electrical and/or thermal and/or acoustic (including sound and ultrasound) data from the user and data from the environment where the user is located (i.e., environment temperature, pressure, humidity, ambient light, audio, etc.) as continuous and/or intermittent data streams. The monitoring device 100 optionally processes the collected data (i.e., demodulation, filtering, down-sampling, up-sampling, etc.) in real-time before storing the processed data streams 9202 in the memory 9200. The processed data streams 9202 are then processed by a data processing laboratory 9204. Several example techniques can be used for collecting, processing, storing, and transferring the processed data streams 9202 to the data processing laboratory 9204. In one example embodiment, the following workflow can be used:
1. The monitoring device 100 with the memory 9200 is placed on a measurement site of the user. View 9206 shows the monitoring device 100 placed on the forehead, although other embodiments are not limited to this implementation. Placement of the monitoring device 100 can be done by the user or by a caregiver, depending on the application. In a setting such as a hospital, a clinic, and a doctor's office, for instance, the monitoring device 100 is typically placed on the user by a caregiver. In home settings, the monitoring device 100 can be attached to a measurement site by the user, a family member, or an attending caregiver. Alternatively, the user can have an appointment in a doctor's office, outpatient clinic, or pharmacy where the monitoring device 100 with the memory 9200 can be placed on the user.
2. The monitoring device 100 with the memory 9200 operates for a period of time collecting, processing, and storing continuous or intermittent data streams from the user. View 9208 shows an example where data is being collected while the user is asleep, although other embodiments are not limited to this implementation. In one embodiment, the period of time can range from a few hours to several weeks depending on the application. For sleep disorders (e.g., insomnia, apnea, sleep movement disorder, etc.), for instance, an overnight data collection may suffice. For cardiovascular diagnosis (abnormal heart rhythms or arrhythmias, cardiomyopathy, etc.), one or more weeks of data collection may be required to provide assessment of the user's cardiovascular state with acceptable specificities and sensitivities.
3. The monitoring device 100 is then mailed to the data processing laboratory 9204 (view 9210), where the data collected and stored in the monitoring device 100 is read and processed by a computer system 9212 to produce a report 9214 with measurements, analysis, metrics, distributions, charts, and ranges used in the diagnosis of diseases for diagnostic care, prediction of potential future diseases for preventive care, and or general survey on the user's wellbeing (i.e., life style, mental stress, work environment condition and associated physical and/or metal stress, etc.).
4. The generated report 9214 can then be transmitted (e.g., mailed) to the user's caregiver (and optionally to the user) to aid in user assessment, diagnosis, and treatment.
In another embodiment, the manual data transfer 9210 is replaced by transmitting electronically 9216 the processed data streams 9202 to the computer system 9212 or a remote storage (e.g., a cloud-based storage) that is part of the data processing laboratory 9204 or is accessible by the data processing laboratory 9204 to enable the data processing laboratory 9204 to read, analyze, and process the data streams 9202.
In another embodiment, the data processing laboratory 9204 is replaced with the user's Electronic Health Record (EHR) 9218 and the generated report 9214 is transmitted electronically to the EHR 9218 via the computing system 9212, which can be a (distributed or centralized) cloud computing system without a specific physical location such as the data processing laboratory, and optionally mailed to the user and/or the user's caregiver 9220. In one embodiment, the electronic transmission of the processed data streams 9202 and/or the electronic transmission of the report 9214 is automatic (does not require any user input).
One advantage to the embodiment depicted in
In some applications, a host device can be used to aid in the transfer of the processed data streams 9202 to the computer system 9212 of the data processing laboratory 9204. The processed data streams 9202 can be transferred after data collection is complete or while data collection is occurring. The host device can be a mobile device, a wall appliance, a desktop or laptop computer that can establish a wireless or wired connection with the monitoring device 100 for the purpose of transferring the processed data streams 9202 to the computer system 9212.
The types of algorithms that are run by the computer system 9212 are similar to the algorithms executed by the host device and described herein. However, because the processed data streams 9202 can be processed in batch mode by the computer system 9212 to produce the report 9214. Additionally or alternatively, non-causal algorithms with a higher complexity can be employed considering that the processing time and the power consumption requirements may not be impediments.
In another alternate embodiment, the monitoring device 100 does not include a communication device (e.g., communication device 103 in
The monitoring device 100 can be a single-user use device or a reusable device. The advantage of single-use implementations is that the monitoring device 100 can be recycled after the processed data streams 9202 are transferred to the computer system 9212 or to the EHR 9218. The single-use implementation can minimize the costs associated with shipping, handling, and sterilization, simplify the workflow and/or minimize the risks of cross contamination among users.
In reusable implementations, the overall cost of the monitoring device 100 can be reduced because the monitoring device 100 can be used multiple times. Hybrid implementations that include reusable, disposable, and/or removable parts or assemblies for the monitoring device 100 can be adopted to minimize the risks and maximize the benefits of such data collection process. In an example embodiment, the monitoring device 100 can be reusable with the one or more tapes that adhere the monitoring device 100 to the user being single-use and disposable tape(s). In another example embodiment, to eliminate the need for battery charging, the monitoring device 100 may use a non-rechargeable battery that is assembled together with the disposable tape(s), and together the battery and the tape(s) form a single disposable assembly. In such embodiments, the monitoring device 100 is reused multiple times and the tapes and non-rechargeable battery are replaced before each use. Several hybrid configurations with reusable, disposable and/or removable parts or assemblies can be designed to make the monitoring device 100 suitable for a particular clinical, fitness, or wellness application.
Initially, as shown in block 9300, data collection is performed on a user to aid in diagnosis and/or screening. In a non-limiting example, the data collection is performed according to some or all of the embodiments depicted in
The collected data is then transmitted to a data processing laboratory to create a report (block 9302). The caregiver, and optionally the user, receives the report at block 9304. The report is received at block 3312. For example, a caregiver receives the report and proceeds in block 9306 to perform disease diagnosis on the user. If the user is diagnosed with a disease, treatment is proscribed in block 9308. For example, if a user is diagnosed with sleep apnea after a sleep study, the caregiver may prescribe a Continuous Positive Air Pressure (CPAP) machine be worn during sleep, or an advanced home ventilator for users with neuromuscular diseases. An oxygen delivery system can also be prescribed for users (e.g., lung diseases, etc.) that need oxygen supplement. These types of machines are represented by machine 9400 and unit 9402 (e.g., a face mask) in
Once the diagnosed user begins treatment or therapy, the caregiver may prescribe data collections periodically or at select times to evaluate the efficacy of the treatment. Blocks 9310, 9312, 9314, 9316, 9318, and 9320 describe an example process for evaluating (periodically or at select times) the efficacy of the treatment. In block 9310, another data collection is performed on the user. The collected data is then transmitted to a data processing laboratory to create a report (block 9312). The report is received in block 9314 and the treatment efficacy is evaluated at block 9316. If needed, treatment adjustments are performed at block 9318. In block 9320, the user and/or the caregiver can be alerted periodically or nonperiodically (i.e., based on a schedule defined by the doctor as the treatment progresses) of upcoming or due data collections to evaluate the treatment efficacy. For example, a computer system, EHR system, or a third party can generate reminders and alerts for a caregiver.
In one embodiment, the reports created in blocks 9302 and 9312 in
In some situations, continuous thermometry can be an important feature in a medical and/or fitness wellness device (e.g., a monitoring device). Skin temperature closely correlates to core body temperature depending on the measurement site. As a result, sensors that measure directly or indirectly the skin temperature can be used to monitor the core body temperature. A continuous skin temperature measurement has several clinical and non-clinical applications. Example clinical applications include the monitoring of core body temperature, which can be accomplished if the temperature sensor(s) is placed on measurement sites such as, but not limited to, a user's forehead, head, ear, axilla, and near the axilla.
When a continuous temperature sensor measures the user's skin temperature at one or more extremities (e.g., wrist, arm, digit, leg, foot, etc.), the skin temperature can be used as a proxy for the user's “comfort level”. Other measurements can be used in combination with the continuous temperature measurements to determine the user's “comfort level”. For example, other physiological measurements such as heart rate, perfusion index, pulse amplitude, respiration rate, oxygen saturation, and the like can be combined with the continuous temperature measurements. For instance, when a user is exposed to low temperatures, the blood circulates mainly around the body's organs to ensure the temperatures of the organs are controlled and experience little changes. Maintaining the temperatures of the organs is possible because the blood circulation at the extremities is reduced, and as a result, the temperature at the extremities (e.g., wrist, arm, digit, leg, foot, etc.) tend to decrease.
The opposite happens when a user is exposed to high temperatures. Blood will circulate mainly at the body's extremities to improve heat exchange with the environment so as to control the temperatures of the organs such that the organs experience little changes. As a result, the temperature at the extremities tends to increase. The measure of the user's “comfort level” is obtained by comparing the temperature(s) from an extremity (or extremities) to the temperature from a measurement site that closely correlates to the core body temperature (e.g., head, forehead, ear, axilla, etc.), or to a certain predefined core body temperature value if the user is in normal health conditions (i.e., no fever or infections) and no significant change in core body temperature is observed. Depending on the difference between the temperature of an extremity and the core body temperature, it is possible to create a mapping that quantifies the user's “comfort level”.
Next, as shown in block 9506, the measurements obtained at blocks 9500 and 9502 (and optionally block 9504) are used to determine the “comfort level” of the user. In one example technique for determining the “comfort level”, the differences between the core body temperature and the temperatures at one or more extremities are mapped through a single- or multi-variate function (or calcurve) to values that indicate “comfort level”. The comfort level measurement and/or trend data is output in a suitable scale (block 9508). An example scale would be 0-100%, where 100% means very comfortable, and 0% indicates very uncomfortable. Optionally, a qualitative scale can be adopted such as LOW, MEDIUM, and HIGH “comfort levels”. In one embodiment, the comfort level measurement and/or trend data is displayed on a display device.
Initially, as shown in block 9600, a core body temperature baseline is determined. The skin temperature of at least one extremity is measured at block 9502. Measurements of other physiological parameters, such as heart rate, perfusion, oxygen saturation, ECG, and respiration rate, can optionally be measured at block 9504. Next, as shown in block 9602, the measurements obtained at blocks 9600 and 9502 (and optionally block 9504) are used to determine the “comfort level” of the user. The comfort level measurement and/or trend data is then output in a suitable scale (block 9508).
Another application for continuous temperature measurements at the extremities relates to corrections in calorie consumption calculations (e.g., calorie counting). Typical calorie counting meters rely on heart rate measurements, demographic data (e.g., height, weight, gender, age, body area, ethnicity, etc.), and motion sensors (e.g., accelerometers, optical sensors, etc.) to estimate the calorie consumption of a user during his or her daily activities. Calorie consumption, however, is highly dependent on the comfort level of the user. If one assumes that the core temperature is virtually unchanged when the user is in healthy conditions, then the temperature at the body's extremities can be used to correct calorie consumption calculations. A monitoring device, such as a wristwatch, can have a built-in temperature sensor that measures continuously or at select times the skin temperature at the wrist and corrects the calorie count (e.g., obtained from the heart rate and the motion sensor measurements) based on the temperature readings. For instance, assume that a temperature around 33 Celsius at the wrist is considered an equilibrium or baseline temperature for a particular user when the user is at rest and comfortable. A temperature increase or decrease can indicate that the body is expending more energy either by warming up or cooling down. The body warms up or cools down to substantially maintain the temperature of the internal organs at an almost constant temperature (e.g., 36.5-37.5 Celsius). The increase or decrease in the metabolism based on the temperature change may not be detected by changes in the heart rate, and thus, a calorie meter may not be able to detect or compensate for the change in metabolism if the calorie meter does not measure the extremity temperature. Not compensating for the changes in metabolism can produce errors in the estimates of the calorie consumption.
Next, as shown in block 9702, motion sensor data, physiological parameters (e.g., heart rate, respiration rate, perfusion index, pulse amplitude, etc.) and/or physiological data (i.e., optical, electrical, mechanical, sound, ultrasound, photoplethysmographs, ECG, EEG, etc.) are acquired or calculated for a given period of time. Again, depending on the type of equations selected to estimate the calorie count, all, some, or none of the motion sensor data, the physiological parameters, and/or the physiological data may be used to estimate the calorie count.
The temperature at one or more extremities of the user is measured during the given period of time (block 9704). An estimate of the energy consumption during the given period of time is then determined using the motion data, the physiological data, the physiological parameters, and/or the temperature measurements (block 9706). A correction to the energy consumption estimate is determined at block 9708 using the temperature measurements acquired in block 9704. In one embodiment, the correction is calculated by convolving data streams of temperature at one or more extremities with linear or nonlinear filter(s) or kernel(s) that weight(s), differentiate(s), and/or integrate(s) temperature functionals over time to produce the required correction to the energy consumption estimate determined in block 9706. The corrected calorie count for the given period of time is then output (block 9710). In anon-limiting example, the corrected calorie count is displayed on a display device.
The temperature at one or more extremities of the user is measured during the given period of time (block 9704). An estimate of the energy consumption during the given period of time is then determined using the temperature data and one or more of the motion data, the physiological data, or the physiological parameters at block 9800. A calorie count for the given period of time is then output at block 9802.
In the method of
Another application of a continuous temperature measurement is to use the continuous temperature measurement in combination with a pulse oximeter. For example, with pandemics such as the coronavirus disease 2019 (Covid-19) and other viruses, continuous pulse oximetry and thermometry can be an invaluable tool in the early detection of symptoms, such as decreases in oxygen saturation (desaturations) and changes in the core body temperature of a user over time. The continuous monitoring of temperature and oxygen saturation is used on Covid-19 patients (and patients with other respiratory diseases) under treatment.
One of the advantages of integrating thermometry and pulse oximetry in the same monitoring device relates to the ability to detect whether the measurement site is from a real and live user and whether the sensor or sensors in the monitoring device is positioned correctly on the measurement site. With a temperature sensor, information about the temperature alone may not be sufficient to detect if the temperature sensor has been applied to a valid measurement site. However, a strong indication that a measurement site is a valid measurement site (e.g., from a human or an animal) is provided when optical signals (and electrical signals in some multi-parameter monitoring applications) are measured at the same measurement site and when valid measurements are received, such as valid plethysmographs, saturation, heart rate, perfusion index, pulse amplitude, respiration rate, electrical impedance, ECG, and/or EEG measurements. Alternatively, depending on the measurement site, if the temperature is too low, this can indicate that the measurement site needs to be warmed to improve the performance of the monitoring device (e.g., a pulse oximeter). A notification regarding the low temperature can be conveyed to the user or a caregiver via a visible, tactile, and/or audible notification. Abnormally high and low values of temperature, when combined with the inability to obtain pulse oximetry readings, are strong indications that either the sensor(s) in the monitoring device is misplaced or that the measurement site is not from a live human being or live animal. During extended periods of monitoring, sensors tend to be misplaced due to the activity of the user. Additionally or alternatively, with disposable sensors, the adhesives tend to wear out over time, which increases the chances of a misplaced sensor. If a contact temperature sensor is used in combination with a contact pulse oximeter, any sensor dislodgment from the measurement site will affect the readings from the pulse oximeter and from temperature sensor, thereby increasing the possibilities of detecting sensor misplacement and providing alerts/alarms to the user or the caregiver.
A determination is made at block 9906 as to whether the thermometry measurements and the oximetry measurements are valid. If so, the process continues at block 9908 where the thermometry measurements and the oximetry measurements are output. For example, the thermometry measurements and the oximetry measurements can be displayed on a display device and/or output to a speaker as audible thermometry measurements and oximetry measurements. If a determination is made at block 9906 that valid measurements are not detected, the method passes to block 9910 where one or more alarm(s) are provided to alert a user and/or a caregiver. Non-limiting example of detecting valid measurements can be oxygen saturation in a valid range, a pulse rate in a valid range, pulse amplitude in a valid range, a perfusion index in valid range, valid photoplethysmographs (i.e., produced from the heart activity of a human or animal), a temperature in a valid clinical range depending on measurement site, and/or a respiration rate in a valid range.
Based on the temperature data and the optional physiological data and/or non-physiological data, thermometry and other physiological and/or non-physiological measurements are calculated (block 10004). A determination is made at block 10006 as to whether the thermometry measurements and the oximetry measurements are valid. If so, the process continues at block 10008 where the thermometry measurements and the optional other physiological and/or non-physiological measurements are output. For example, the thermometry measurements and the and other physiological and/or non-physiological measurements can be displayed on a display device and/or output to a speaker as audible measurements. If a determination is made at block 10006 that valid measurements are not detected, the method passes to block 10010 where one or more alarm(s) are provided to alert a user and/or a caregiver.
The user interface screen 10102 is created based on data collection that occurs under normal operations, where valid optical data 10126 and thermometry data 10128 are detected and received. Measurement data for SpO2, PR, PI, and temperature (Temp) are shown in the screen 10102. Unlike the user interface screen 10102, the user interface screen 10104 is displayed when valid optical data is not received. Thus, the SpO2, PR, PI, and Temp measurements are displayed as dashed 10106, and a warning message 10108 “Searching signal” is displayed. The warning message 10108 may indicate that the monitoring device 100 is misplaced, placed on an invalid measurement site (i.e., not from a human or animal measurement site) or is placed on a measurement site incapable of producing valid pulsatile signals (photoplethysmographs).
The user interface screen 10110 and the user interface screen 10114 depict scenarios where valid optical data and thermometry data are collected but the thermometry data is outside a normal clinical range for the user. The thermometry data can be greater than or less than the normal clinical range. When the thermometry data is greater than the normal clinical range (high temperature), an alarm is triggered (see alarm 10112 in user interface screen 10110). When the thermometry data is less than the normal clinical range (low temperature), an alarm can be produced (see alarm 10116 in user interface screen 10114). The normal clinical range can be defined by a temperature upper limit 10130 and a temperature lower limit 10132.
The user interface screen 10118 exemplifies a situation where the temperature measurements have dropped below the lowest allowed clinical value 10120, which may indicate the sensor(s) is misplaced or placed on an invalid measurement site. As a result, the SpO2, PR, PI, and Temp measurements are not displayed (e.g., displayed as dashed) and a warning message 10122 of “Temperature too low” is displayed. In one embodiment, the warning message 10122 is presented even when valid optical data is being acquired.
The user interface screen 10124 depicts a host device resuming normal operations after the temperature measurements that were below the lowest allowed clinical value 10120 have increased and reached the normal clinical range. As shown in
In
Initially, at block 10302, temperature data is received from a built-in temperature sensor and other internal and/or external temperature sensor(s). In one embodiment, the built-in temperature sensor and the other internal and/or external temperature sensor(s) measure the skin temperature at a measurement site. Using the temperature data received from the built-in temperature sensor, temperature measurements and trends are calculated at block 10304. Using the temperature data received from the other internal and/or external temperature sensors, internal and/or external temperature measurements and trends are calculated at block 10306. Next, as shown in block 10308, the temperature measurements and trends that were determined with the temperature data received from the built-in temperature sensor are corrected using the internal and/or external temperature measurements and trends. In one embodiment, the temperature measured by the built-in temperature sensor is a function of the measurement site temperature (i.e., the skin), the environment temperature, the internal temperature(s) of the monitoring device, the thermal resistance between the built-in temperature sensor and the skin, the device internal circuitry and components, and the environment. Assuming that the thermal resistances are fairly constant for the same monitoring device design when applied to a subject population, then the temperature at the measurement site can be expressed as a function,
{circumflex over (T)}
site=ƒ(Tsen,Tint,Tenv,p) Equation 45
where {circumflex over (T)}site is a vector representing temperature estimates at the measurement site's single location and/or time interval (epoch), or at the measurement site's multiple locations and/or time intervals (epochs). Tsen is a vector representing temperature readings near or at the measurement site's single location and/or time interval (epoch), or near or at the measurement site's multiple locations and/or time intervals (epochs). Tint is a vector representing temperature readings at the monitoring device's internal single location and/or time interval (epoch), or at the monitoring device's internal multiple locations and/or time intervals (epochs). Tenv is a vector representing temperature readings at the monitoring device's external (environment) single location and/or time interval (epoch), or at the monitoring device's external multiple locations and/or time intervals (epochs). Parameter p is a vector representing design parameters. In an example embodiment, the function ƒ can have a functional form defined by modeling via the laws of physics (thermodynamics, thermostatic, etc.), and the vector of parameters p can be determined though experimental data where readings from gold standard sensor(s) (calibrated sensor(s) placed on the measurement site(s)) are correlated through multivariate analysis with Tsen, Tint, and Tenv readings, while the measurement site and the environment are subjected to changes in temperature over time. This can be expressed by the optimization problem,
where Tsite is a vector representing temperature readings from the gold standard sensor(s) at the measurement site's single location and/or time interval (epoch), or at the measurement site's multiple locations and/or time intervals (epochs). J is a sampled cost function (e.g., absolute (L1), least-squares (L2), absolute supremum (L∞), etc.). The index t denotes data samples (n sampled data sets, {Tsen,t, Tint,t, Tenv,t, Tsite,t}) obtained at different points in time (epochs), and environment and measurement site temperatures.
For some designs of monitoring devices, only the readings from Tsen are sufficient to obtain accurate {circumflex over (T)}site estimates. For other monitoring device designs, the readings from Tsen and Tint can be sufficient to obtain accurate {circumflex over (T)}site estimates. Changes in the optimization problem (Equation 46) can be made in terms of dropping the temperature vectors that are not applicable to a particular design.
An example temperature sensor for the built-in internal temperature sensor 10400 can be a built-in temperature sensor that measures the die temperature of the processing device (e.g., 501 in
Battery technology is one aspect of wearable devices (including garments). Wearable devices typically employ battery and/or energy harvesting technologies to power the circuitries in the wearable devices. Batteries require recharging or replacement, and energy harvesting technologies (i.e., mechanical, optical, electromagnetic, thermal, etc.) do not always guarantee that energy is available in all possible operating conditions.
Disclosed herein are several embodiments where wearable monitoring devices and garments can be made so that the biological tissue of a user acts as the electrolytes of a battery, and the circuitry in a wearable monitoring device or a garment provides the electrodes (i.e., cathode(s) and anode(s)) of the battery. As used herein, the term “wearable monitoring device” is to be interpreted broadly to include wearable electronic devices, garments, eyewear, jewelry, and other technologies that are worn on or in the body of a user. When the electrodes (or plates) in the wearable monitoring device are in contact with the biological tissue (i.e., skin) of the user, a bio-battery is formed where the energy is generated from the electrolytes of the user (skin, biological tissue) and the plates or the electrodes (cathode(s) and anode(s)) in the circuitry of the wearable monitoring device.
Several materials and technologies may be adopted or adapted to create electrodes or plates that are suitable for a particular application. For instance, a wearable monitoring device can be built with circuitry that has an anode plate of magnesium and a cathode plate of copper. The magnesium and copper plates form a bio-battery when the magnesium and copper plates are in contact with the skin of the user. The bio-battery formed by the magnesium and the copper plates can be used to power the circuitry in the wearable monitoring device. Several materials and compounds can be used as cathode and anodes. Examples of materials for a cathode electrode or plate include copper, iron, graphite, etc., and example materials for an anode electrode or plate include zinc, magnesium, aluminum, etc. The materials for the cathode and the anode plates/electrodes can be in pure form or as alloys and compounds. The voltage, current, and energy level of a bio-battery are functions of the materials and the dimensions of the cathode and the anode electrodes, the metabolic state of the user's biological tissue (epidermis hydration, skin sweet levels, electrolyte levels, etc.), and the form of contact between cathode and the anode electrodes and the user's biological tissue. For instance, a bio-battery is formed by attaching a copper foil electrode (cathode electrode) to a user's biological tissue and a thin magnesium electrode (anode electrode), both with a few square inches of contact surface area (with the electrodes separated by a gap of a few millimeters). This type of a bio-battery can produce short-circuit currents of a few microamps to dozens of microamps and an open terminal voltage around one and a half (1.5) volts. The bio-battery leads to a Thevenin equivalent voltage source circuit with a sufficiently low impedance to provide energy to power a wearable monitoring device 100 with one or more thermometry, Ph, humidity, interstitial lactate and glucose, and/or heart rate sensor(s) that acquire measurements from the measurement site every thirty (30) or sixty (60) seconds and transmits the measurements wirelessly to a host device 105 for display, alarms, and/or storage. Depending on the materials, the effective contact area of the cathode and the anode electrodes with the user's skin, and a low-power circuitry designs, bio-batteries can be used to power wearable monitoring devices or patches that are pulse oximeters, continuous non-invasive or minimally invasive glucometers, vital signs patches and/or monitors, ECG and/or EEG patches, bioimpedance-based devices, ultra-sound based devices, smart garments (i.e., garments with circuitries and/or sensing functionalities) such as shirts, t-shirts, socks, underwear, dresses, pants, and/or the like.
Initially, the energy produced by the one or more bio-batteries accumulates in one or more electrical accumulators (e.g., one or more capacitors, etc.) at block 10800. A determination is made at block 10802 as to whether a sufficient amount of energy has accumulated. For example, a determination may be made as to whether the accumulated energy equals a pre-defined threshold (e.g., defined by the voltage levels of the one or more capacitors). If not, the process returns to block 10800.
When a determination is made at block 10802 that there is a sufficient amount of accumulated energy, the method continues at block 10804 where the accumulated electrical energy is converted to appropriate voltage and/or current levels to power on (turn on) the circuitry in the wearable monitoring device. In block 10806, the circuitry in the wearable monitoring device acquires or receives data and processes the data. The circuitry in the wearable monitoring device then stores, transmits, receives, and/or outputs the data (block 10808). The data can be measurement data and/or trend data that are transmitted to a host device, to a computing system (e.g., computing system 1202 in
Next, as shown in block 10902, the circuitry of the wearable monitoring device (e.g., the power management modules) continuously accumulates energy produced by the one or more bio-batteries and converts the accumulated energy into the appropriate voltage and current levels that are used to power the circuitry of the wearable monitoring device. The circuitry of the wearable monitoring device acquires/receives and processes data continuously (block 10806), and continuously stores, transmits, receives, and/or outputs the data (block 10808). For example, the data can be measurements, trends, parameters, and/or waveforms that are transmitted to a host device continuously or at select times, or directly to a computing system, or directly to a cloud computing system.
In
The wearable monitoring device 100 (powered by the bio-battery) is capable of sensing the temperature though the temperature sensor 705 and optical signals using the optical sensor 110. The one or more light sources 113 emit light 702 towards the measurement site 700 that penetrates the epidermis 703 and the blood perfused dermis 704 and interacts with the heart's pulsatile signal to create optical pulsatile signals.
The electrical energy stored in the capacitor 11204 can be converted into the appropriate voltage and/or current levels that is used for the wearable monitoring device 100 to operate during the ON phase 11306. The curve 11310 is a typical voltage profile generated by a power management system (part of the circuitry 11202) that converts the voltage level of the capacitor 11204 to a higher/lower and regulated voltage suitable for operation of the wearable monitoring device 100. In
The cathode and the anode electrodes 11100, 11102 shown in
The energy produced by the one or more bio-batteries accumulates in one or more electrical accumulators (i.e., capacitors, etc.) at block 11500. A determination is made at block 11502 as to whether a sufficient amount of energy has accumulated. For example, a determination may be made as to whether the accumulated energy equals a pre-defined threshold (e.g., defined by the voltage levels of the one or more capacitors). If not, the process returns to block 11500.
When a determination is made at block 11502 that there is a sufficient amount of accumulated energy, the method continues at block 11504 where the accumulated electrical energy is converted to appropriate voltage and/or current levels to power on (turn on) the circuitry in the smart garment. In block 11506, the one or more monitoring device(s) in the smart garment acquires or receives data and processes the data. The circuitry in the smart garment then stores, transmits, receives, and/or outputs the data (block 11508). The data can be measurements that are transmitted to a host device, to a computing system (e.g., computing system 1202 in
Next, as shown in block 11602, the circuitry of the smart garment (e.g., the power management modules) continuously accumulates the energy produced by the one or more bio-batteries and converts the accumulated energy into the appropriate voltage and/or current levels that is used to power the circuitry of the smart garment (including the one or more monitoring devices). The one or more monitoring devices in the smart garment acquire/receive and process data continuously (block 11506), and the smart garment (e.g., the one or more monitoring devices) stores, transmits, receives, and/or outputs the data (block 11508). For example, the data can be measurements, trends, parameters, and/or waveforms that are transmitted to a host device, a computing system, and/or a cloud computing system continuously or at select times.
In non-limiting examples, the one or more monitoring devices in the embodiment shown in
Initially, as shown in block 11800, the non-washable circuitry is attached to the washable smart garment. The user wears the washable smart garment for a period of time with the non-washable circuitry operating during the period of time (block 11802). To power the non-washable circuitry, the cathode electrode and the anode electrode of the at least one bio-battery are in partial or complete contact with the biological tissue of the user while the user wears the disposable smart garment, and the at least one monitoring device is operational while the user wears the washable smart garment (block 11804). Next, as shown block 11806, the non-washable circuitry is detached from the washable smart garment so that washable smart garment can be washed. The process shown in
Initially, the user wears the washable smart garment for a period of time with the washable circuitry operating during the period of time (blocks 11900, 11902). To power the washable circuitry, the cathode electrode and the anode electrode of the at least one bio-battery are in partial or complete contact with the biological tissue of the user while the user wears the disposable smart garment, and the at least one monitoring device is operational while the user wears the washable smart garment (block 11904). Next, as shown block 11906, the washable smart garment with the washable circuitry is washed. The process shown in
The distribution, shape, and materials of the anode and the cathode electrodes 12002, 12004 depend on the functionalities, power, computing and wireless requirements, and the type of use (i.e., continuous, spot-check), of the one or more monitoring devices that are powered by the bio-batteries. The anode and the cathode electrodes 12002, 12004 are connected electrically via one or more internal layers of the garment so as to form a network 12300 of bio-batteries as shown in
The shirt 12000, the shorts 12100, and the sock 12200 (the garments) can have built-in circuitry 12400 shown in
In some embodiments, the garments 12000, 12100, 12200 can include the network 12300 and the built-in circuitry 12500 (
Individual anode and cathode electrodes 12002, 12004 can be input into the circuitry 12500 via a capacitive coupling network 12506 that can also serve as a sensor electrode. The network 12300 of bio-batteries (
The cathode electrode in the front view 12602 and in the back view 12604 is represented by a first region 12606 and the anode electrode by a second region 12608. The first and the second continuous electrically conductive regions 12606, 12608 touch the user's skin directly to create a bio-battery that powers the circuitry 12700 shown in
The cathode and the anode electrodes in the first and the second regions 12606, 12608 can also serve as sensor electrodes to enable sensing of the electrical activity of the heart. In some embodiments, the cathode and the anode electrodes in the first and the second regions 12606, 12608 can be input into the circuitry 12700 via capacitive coupling network 12702 to filter the electrical signals from the heart from the electrical currents and/or voltages of the bio-battery. It is also possible to apply frequency sweeps (voltage/current signals) from the circuitry 12700 to the cathode and the anode electrodes to perform Bioelectrical Impedance Analysis (BIA) and/or to estimate the body cell, fat, extracellular tissue, and fat-free concentrations and/or masses.
The isocurves 12610, 12612 represent lines of isoelectric potentials on the user that are created by the heart's electrical activity and can be used to optimally design the shape and the separation of the first and the continuous second regions 12606, 12608 that serve as both the cathode and the anode electrodes of the bio-battery and sensor electrodes. The illustrated isocurves 12610, 12612 on the user can be modeled via quasi-static Maxwell equations and/or generalized Laplace equation with boundary conditions. By using the quasi-static Maxwell and/or the generalized Laplace equations, it is possible to create shapes and locations for the cathode and the anode electrodes (e.g., first and second regions 12606, 12608) of the bio-battery that can also sense the electrical activity of the heart under the various planes (i.e., sagittal, coronal, and transverse), while providing electrical energy for the built-in circuitry 12700 (
The shirt 12600 depicted in
The cathode and the anode electrodes (e.g., cathode and anode electrodes 12606, 12608) can also sense the electrical activity waveforms of the heart and changes in the electrical impedances of the torso, which can be acquired by the circuitry in the garments (e.g., circuitry 12700 in shirt 12600) to measure, for example, ECG 12812, PR 12814, and RR 12808. The cathode and the anode electrodes (e.g., 12606, 12608) of the bio-battery or bio-batteries go through a process of oxidation and reduction while the user wears the garment (e.g., shirt 12600). Oxidation and reduction affect the capacity of the bio-battery or bio-batteries to provide energy to the circuitry of the garment (e.g., circuitry 12700 of the shirt 12600). It is therefore useful to calculate the internal impedance of the bio-battery or bio-batteries with usage and translate the calculated internal impedance into an equivalent measurement (e.g., battery life) as depicted by the battery symbol 12816 in the user interface screen 12800. For instance, a battery full icon can represent a pre-determined number of hours or days the garment (e.g., the shirt 12600) can continuously monitor the user.
Depending on the design and the application, the garments
The descriptions and/or the figures of some of the embodiments disclosed herein include specific components, configurations of components, component values, user interface values and layouts, technical specifications, measurement values, trend data, waveforms, and other values. The specific components, configurations of components, component values, user interface values and layouts, technical specifications, measurement values, trend data, waveforms, and other values are intended to be non-limiting examples. Other embodiments are not limited to these specific components, configurations of components, component values, user interface values and layouts, technical specifications, measurement values, trend data, waveforms, and other values.
The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure as claimed in any way. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best mode of claimed disclosure. The claimed disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively included or omitted to produce an embodiment with a particular set of features. Having been provided with the description and illustration of the present application, one skilled in the art may envision variations, modifications, and alternative aspects falling within the spirit of the broader aspects of the general inventive concept embodied in this application that do not depart from the broader scope of the claimed disclosure.
This application is a continuation-in-part of, and claims priority to, U.S. application Ser. No. 16/551,437 entitled “Monitoring Devices and Methods”, filed on Aug. 26, 2019, which claims priority to U.S. Provisional Application No. 62/723,290 entitled “Monitoring Devices and Methods”, filed on Aug. 27, 2018, and to U.S. Provisional Application No. 62/722,676 entitled “Monitoring Devices and Methods”, filed on Aug. 24, 2018, of which each entire disclosure is hereby incorporated by reference in its entirety. This application also claims priority to U.S. Provisional Application 62/878,670 entitled “Software and Firmware For Medical, Fitness, and Wellness Real-Time Applications”, filed on Jul. 25, 2019; to U.S. Provisional Application 62/884,578 entitled “Software and Firmware For Medical, Fitness, and Wellness Real-Time Applications and with Extended Ranges,” filed on Aug. 8, 2019; to U.S. Provisional Application 62/932,394 entitled “Software and Firmware For Medical, Fitness, and Wellness Real-Time Applications and with Extended Ranges,” filed on Nov. 7, 2019; and to U.S. Provisional Application No. 62/951,651 entitled “Software and Firmware For Medical, Fitness, and Wellness Real-Time Applications and with Extended Ranges,” filed on Dec. 20, 2019, of which each entire disclosure is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62878670 | Jul 2019 | US | |
62884578 | Aug 2019 | US | |
62932394 | Nov 2019 | US | |
62951651 | Dec 2019 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16551437 | Aug 2019 | US |
Child | 16939925 | US |