Disaggregation of factors affecting blood glucose level
The system differentiates glucose level factors using sensor data to provide targeted treatments, enhancing glucose management by reducing insulin reliance and promoting lifestyle adjustments.
Patent Information
- Application Number
- PCT/EP2025/067620
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-02
- Filing Date
- 2025-06-24
- Publication Date
- 2026-01-08
AI Technical Summary
Current blood glucose monitoring technologies fail to differentiate various factors influencing glucose levels, leading to improper treatment of deviations, as they only focus on metabolic factors and do not account for non-digestion-related factors like stress, dehydration, medications, physical inactivity, infections, and illnesses.
A system that analyzes blood glucose signals using multiple sensors to extract features, distinguishing between digestion-related and non-digestion-related contributions, enabling targeted treatments based on the root cause of glucose level variations.
Enables users to manage glucose levels effectively through lifestyle changes and medication adjustments without relying solely on insulin, reducing the need for injections and providing long-term health benefits.
Smart Images

Figure EP2025067620_08012026_PF_FP_ABST
Abstract
Description
DISAGGREGATION OF FACTORS AFFECTING BLOOD GLUCOSE LEVELBACKGROUND OF THE INVENTION
[0001] The present invention relates generally to the field of blood glucose measurements, and more particularly to enhanced blood glucose level analysis based on the disaggregation of contributing factors.
[0002] Blood glucose monitoring allows for blood glucose levels to be tracked over time to enable self-management of diabetes. More recently, continuous blood glucose level monitoring has emerged, which uses a small needle inserted into a subject’s body and coupled to a blood glucose sensor to continuously monitor blood glucose levels. Overall, blood glucose monitoring is moving in the direction of less invasive methods of continuous monitoring and may eventually include non-invasive monitoring through wearable modalities, such as smart watches, smart rings, sensor patches, ear-based sensors, alar sensors, and any other devices capable of detecting and measuring blood glucose levels.
[0003] As blood glucose monitoring becomes more prevalent, especially given the advent of new technologies allowing for continuous monitoring, there is a need for a more comprehensive and granular approach to determining the causes of blood glucose level variation. However, current blood glucose level monitoring technologies only aim to determine blood glucose levels and do not account for and are unable to differentiate the various factors that may influence blood glucose levels. As such, subjects using blood glucose level monitors lack the information required to determine how to control blood glucose levels based on the root cause of the blood glucose level variability.SUMMARY
[0004] Embodiments of the present invention disclose a method and a computer system for interpreting changes in blood glucose levels. In one embodiment, the present invention receives a blood glucose signal from one or more sensors over a period of time and extracts one or more features of a blood glucose signal received from one or more sensors. Using this information, a relative non-digestion-related contribution to the blood glucose signal can be determined based on one or more features extracted from the blood glucose signal. It is further contemplated that a relative digestion-related contribution to the blood glucose signal can be determined based on the one or more features extracted from the blood glucose signal. In some cases, an absolute digestion related contribution and / or an absolute non-digestion-related contribution can be determined from the relative digestion-related and non-digestion-related contributions.BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Figure 1 is a functional block diagram depicting a blood glucose regulation pathway for blood glucose homeostasis;
[0006] Figure 2 is a flowchart depicting operational steps of a stress-induced blood glucose regulation pathway;
[0007] Figure 3 A is a functional block diagram illustrating a distributed data processing environment, generally designated 300 A, in accordance with one embodiment of the present invention;
[0008] Figure 3B is a functional block diagram illustrating a data processing environment, generally designated 300B, in accordance with one embodiment of the present invention;
[0009] Figure 4 is a flowchart depicting operational steps to determine relative contributions of blood glucose homeostasis and stress-induced blood glucose on blood glucose levels, according to an embodiment of the present invention;
[0010] Figure 5A depicts line graph representation 500A as one example of a relationship between ascending slopes for a digestion BGL(t) signal, a longer duration stress BGL(t) signal, and an acute stress BGL(t) signal, according to an embodiment of the present invention;
[0011] Figure 5B depicts line graph representation 500B of an example of a time-shifted relationship between descending slopes for a digestion BGL(t) signal, a longer duration stress BGL(t) signal, and an acute stress BGL(t) signal, according to an embodiment of the present invention;
[0012] Figure 6 is an illustrative embodiment depicting a digestion BGL(t) signal in BGL(t) line graph 600 including a first ‘must pass through’ zone for the ascending flank, a second ‘must pass through’ zone for the descending flank, and an exclusion zone, according to an embodiment of the present invention;
[0013] Figure 7 is an illustrative embodiment depicting a longer duration stress BGL(t) signal in BGL(t) line graph 700 including an ascending flank, a descending flank, and an exclusion zone, according to an embodiment of the present invention;
[0014] Figure 8A depicts BGL(t) line graph 800A, which includes a digestion BGL(t) signal followed by a longer duration stress BGL(t) signal over consecutive timespans, according to an embodiment of the present invention;
[0015] Figure 8B depicts comparison graph 800B in which heart rate variability is considered when analyzing the cause of blood glucose level variability, according to an embodiment of the present invention;
[0016] Figure 8C depicts comparison graph 800C in which heart rate variability is considered when analyzing the cause of blood glucose level variability, according to an embodiment of the present invention;
[0017] Figure 9A depicts a block diagram of components of server computer 308 within the distributed data processing environment 300A of Figure 3 A, in accordance with one embodiment of the present invention; and
[0018] Figure 9B depicts a block diagram of components of client computing device 304B within the data processing environment 300B of Figure 3B, in accordance with one embodiment of the present invention.DETAILED DESCRIPTION
[0019] Continuous blood glucose level monitoring is becoming more prevalent in the management of health conditions, such as diabetes, especially with the advent of new technologies that are enabling users to monitor blood glucose outside of the hospital with minimally invasive blood glucose monitors. As diabetes, metabolic syndrome, and other metabolic disorders affect a large and growing percentage of the population (e.g., about 1 in 10 Americans have diabetes, out of which 90-95% have type 2 diabetes and about a three-fold increase in the last 30 years), obtaining accurate blood glucose measurements is of paramount importance in regulating blood glucose levels and maintaining user health.
[0020] However, present day blood glucose monitoring technologies do not account for and are unable to differentiate the various contributing factors that may influence blood glucose levels. Given the fact that blood glucose levels can be affected by many more factors than solely metabolic factors, blood glucose level monitoring without differentiation between the different contributing factors can result in the improper and / or ineffective treatment of blood glucose level deviation from normal levels. Changes in blood glucose levels based on these different factors can be addressed by different methods of treatment outside of simply introducing insulin into a user’s blood stream to lower blood glucose level. For example, blood glucose levels may also be affected by non-digestion related factors, such as stress, dehydration, medications, physical inactivity, infections, trauma and various illnesses. As such, blood glucose level monitors lack the capabilities required to determine how to enable a user to control blood glucose levels based on the root cause of the blood glucose level variability.
[0021] As health monitoring has become a staple of everyday life with the advent of technologies allowing for monitoring of user health parameters, the amount of information regarding user health has greatly increased. As such, insights from health data (e.g., heart rate, heart rate variability, temperature, sweat sensing, SpO2, electrocardiogram, blood pressure, blood glucose level, etc.) collected from various sensors associated with smart devices (e.g., smart watches, smart rings, smart phones, wireless sensors, etc.) can be used to interpret the contributing factors to blood glucose levels.
[0022] A system allowing for the differentiation of these contributing factors to blood glucose levels enables users to employ targeted treatments to control blood glucose levels based on the specific contributions to blood glucose without resorting to external sources of insulin, when unnecessary. For example, a user can opt to hydrate, take stress-reduction measures, exercise, and / or adjust their medications based on the different contributing factors in addition or in lieu of using insulin to reduce blood glucose levels. As insulin is an ongoing and oftentimes costly expense requiring the inconvenience of injection, enabling users to avoid and / or reduce the number of insulin injections and to use non-invasive methods and providing the information to enable changes in lifestyle behaviors to better control blood glucose levels provides benefits to users’ current and long-term health management. Conversely, users can treat consistently low levels of blood glucose (i.e., hypoglycemia) with the injection of glucagon and / or the ingesting of carbohydrates. It is contemplated that hypoglycemia can also be addressed by the present invention in a manner similar, but not necessarily identical, to hyperglycemia. Implementation of embodiments of the invention may take a variety of forms, and exemplary implementation details are discussed subsequently with reference to the Figures.
[0023] Figure 1 is a functional block diagram depicting a blood glucose regulation pathway for blood glucose homeostasis, generally designated 100. Figure 1 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.
[0024] Blood glucose homeostasis system 100 illustrates how a body manages blood glucose management using the liver and the pancreas. As well-known in the healthcare field, blood glucose levels vary during post-meal digestion. Typically, a noticeable rise in blood glucose levels will set in within a few minutes after eating and last for 1-2 hours until blood glucose levels return to their baseline value. Changes in blood glucose levels based on food consumption are controlled in an interaction between liver and pancreas and governed by hormones including glucagon, insulin, and glycogen.
[0025] When blood glucose levels rise, beta cells in the islets of Langerhans in pancreas release insulin, which causes liver to convert glucose into glycogen in a process called glycogenesis, which causes body cells to take up glucose from the blood to decrease blood sugar in the blood stream.
[0026] Conversely, when blood glucose levels fall, alpha cells in the pancreas release glucagon, which is a peptide hormone that binds to and causes the liver to break down glycogen into glucose in a process called glycogenesis. In turn, the blood glucose levels rise in the blood stream.
[0027] Figure 2 is a flowchart depicting operational steps of stress-induced blood glucose regulation pathway 200. Figure 2 further divides stress-induced blood glucose regulation pathway 200 into direct FOF pathway 2 A and indirect FOF pathway 2B.
[0028] A user receives a fight-or-flight stimulus (step 202).
[0029] As used herein, a fight-or-flight stimulus can be caused by any stress-inducing event, which may include internal and / or external factors. For example, a fight-or-flight stimulus may be triggered by internal factors such as anxiety disorders including, but not limited to, generalized anxiety disorder, panic disorder, phobias, social anxiety disorder, separation anxiety disorder, selective mutism, etc.) Alternatively and / or additionally, a flight- or-flight stimulus may be triggered based on external factors including, but not limited to, physically unsafe environments, psychologically unsafe environments, major life changes, work, academics, finances, family, and relationships.
[0030] In response to receiving the flight-or-flight stimulus, amygdala 201 sends a neural signal to hypothalamus 203 (step 204).
[0031] In response to receiving the neural signal from amygdala 201, hypothalamus 203 activates direct FOF pathway 2 A of the fight-or-flight response by triggering the sympathetic nervous system (SNS) (step 206).
[0032] Additionally, in response to receiving the neural signal from amygdala 201, hypothalamus 203 secretes corticotropin-releasing hormone (CRH), (step 214). The detaileddescription of step 214 and subsequent steps will be described in more detail below in the description of indirect FOF pathway 2B.
[0033] In response to hypothalamus 203 activating the SNS, adrenal gland 207 releases epinephrine and other chemical messengers (step 208).
[0034] The release of epinephrine and other chemical messengers by adrenal gland 207 causes the production of cortisol, which causes an increase blood glucose levels by accessing protein stores of glucose via gluconeogenesis in the liver (step 210). In addition to increasing blood glucose levels, the production of cortisol causes an increase in blood pressure, suppression of the immune system, and conversion of fatty acids into available energy.
[0035] A determination of whether a threat persists is made (decision block 212). For example, the threat can be determined to persist if the cause of the flight-or-flight response and / or an additional threat is perceived by the user.
[0036] In response to determining that the threat no longer persists (“NO” branch, decision block 212), stress-induced blood glucose regulation pathway 200 ends. More specifically, the parasympathetic response in the autonomic nervous system takes over, which leads to a decrease in cortisol, the vagal nerve overtaking the body’s response to dampen the flight-or- flight response.
[0037] In response to receiving the neural signal from amygdala 201, hypothalamus 203 secretes corticotropin-releasing hormone (CRH), (step 214).
[0038] Alternatively and additionally, in response to determining that the threat persists (“YES” branch, decision block 212) from direct FOF pathway 2A, stress-induced blood glucose regulation pathway 200 causes hypothalamus 203 to return to secreting CRH (step 214).
[0039] In response to the binding of CRH to high-affinity CRH-R1 receptors in pituitary gland 205, pituitary gland 205 secretes adrenocorticotropic hormone (ACTH) (step 216).
[0040] In response to ACTH binding to adrenal gland 207, adrenal gland 207 releases cortisol (step 218). Cortisol activates the SNS (step 206) and causes a cascading series of steps described above in direct FOF pathway 2A. Among other effects, cortisol increases blood glucose levels, heart rate, and blood pressure. Cortisol may also cause changes in blood oxygen saturation.Compared to the food intake induced rise in blood glucose levels as described in Figure 1, the stress / fight or flight response of the sympatic nervous system will in within a few seconds after the stress inducing occasion and will last only for as long as the stress inducing occasion persists.
[0041] Figure 3 A is a functional block diagram illustrating a distributed data processing environment, generally designated 300 A, in accordance with one embodiment of the present invention. The term “distributed” as used in this specification describes a computer system that includes multiple, physically distinct devices that operate together as a single computer system. Figure 3 A provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made by those skilled in the art without departing from the scope of the invention as recited by the claims.
[0042] Distributed data processing environment 300A includes client computing device 304A and server computer 308, interconnected over network 302. Network 302 can be, for example, a telecommunications network, a local area network (LAN), a wide area network (WAN), such as the Internet, or a combination of the three, and can include wired, wireless, or fiber optic connections. Network 302 can include one or more wired and / or wireless networks that are capable of receiving and transmitting data, voice, and / or video signals, including multimedia signals that include voice, data, and video information. In general, network 302 can be any combination of connections and protocols that will support communications between client computing device 304 A and server computer 308, and other computing devices (not shown) within distributed data processing environment 300 A.
[0043] Client computing device 304 A can be a laptop computer, a tablet computer, a smart phone, or any programmable electronic computing device capable of communicating withvarious components and devices within distributed data processing environment 300A, via network 302. In general, client computing device 304A represents any programmable electronic computing device or combination of programmable electronic computing devices capable of executing machine readable program instructions and communicating with other computing devices (not shown) within distributed data processing environment 300A via a network, such as network 302. Client computing device 304A includes an instance of user interface 306.
[0044] User interface 306 provides an interface to disaggregation engine 310 on server computer 308 for a user of client computing device 304 A. In one embodiment, user interface 306 may be a graphical user interface (GUI) or a web user interface (WUI) and can display text, documents, web browser windows, user options, application interfaces, and instructions for operation, and include the information (such as graphic, text, and sound) that a program presents to a user and the control sequences the user employs to control the program. In another embodiment, user interface 306 may also be mobile application software that provides an interface between a user of client computing device 304 A and server computer 308. Mobile application software, or an “app,” is a computer program designed to run on smart phones, tablet computers, smart watches, augmented reality devices, virtual reality devices, and any other devices capable of executing mobile application software.
[0045] In some embodiments, user interface 306 is located on server computer 308 instead of on client computing device 304 A. For example, user interface 306 may be located on a smart phone to display any relevant information to a user and client computing device 304A may be a blood glucose monitoring patch configured to monitor blood glucose levels in a non- continuous manner, continuous manner, or any combination thereof.
[0046] In yet other embodiments, user interface 306 can be tied to a separate device operatively coupled to disaggregation engine 310 and configured to display information and / or receive user inputs. For example, user interface 306 can be presented on a display that is wirelessly connected to disaggregation engine 310 through network 302, such as in hospital patient monitoring. In another example, user interface 306 can be presented on a display that uses a wired connection to operatively couple with disaggregation engine 310.
[0047] User interface 306 enables the user of client computing device 304A to register with and configure disaggregation engine 310 to enable blood glucose monitoring and determination of blood glucose level contributions associated with client computing device 304A. User interface 306 may also enable the user of client computing device 304A to provide authentication parameters to disaggregation engine 310. Authentication parameters may include, but are not limited to, a user designated password, a user designated time frame for access, a device location allowed by a user, and any other manner of managing and / or protecting user data.
[0048] Server computer 308 can be a standalone computing device, a management server, a web server, a mobile computing device, or any other electronic device or computing system capable of receiving, sending, and processing data. In other embodiments, server computer 308 can represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment. In another embodiment, server computer 308 can be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any other programmable electronic device capable of communicating with client computing device 304 A and other computing devices (not shown) within distributed data processing environment 300A via network 302. In another embodiment, server computer 308 represents a computing system utilizing clustered computers and components (e.g., database server computers, application server computers, etc.) that act as a single pool of seamless resources when accessed within distributed data processing environment 300A. Server computer 308 includes disaggregation engine 310 and database 312. Server computer 308 may include internal and external hardware components, as depicted and described in further detail with respect to Figure 9A.
[0049] Disaggregation engine 310 receives a blood glucose signal from one or more sensors over a period of time and extracts one or more features of the blood glucose signal from the blood glucose signal received from the one or more sensors. Using this information, disaggregation engine 310 determines a relative non-digestion-related contribution to the blood glucose signal based on one or more features extracted from the blood glucose signal. Disaggregation engine 310 may also determine relative digestion-related contribution to theblood glucose signal based on the one or more features extracted from the blood glucose signal. In some cases, an absolute digestion related contribution and / or an absolute non- digestion-related contribution is determined from the relative digestion-related and / or the relative non-digestion-related contributions. Disaggregation engine 310 is depicted and described in further detail with respect to Figure 4.
[0050] Database 312 is a repository for data used by disaggregation engine 310. In the depicted embodiment, database 312 resides on server computer 308. In another embodiment, database 312 may reside elsewhere within distributed data processing environment 300A provided disaggregation engine 310 has access to database 312. A database is an organized collection of data. Database 312 can be implemented with any type of storage device capable of storing data and configuration files that can be accessed and utilized by server computer 308, such as a database server, a hard disk drive, or a flash memory. Database 312 stores blood glucose data and any other parameters associated with a client computing device, such as client computing device 304A. Database 312 also stores registration and configuration data input by a user of client computing device 304A via user interface 306.
[0051] Sensor 314 includes any one or more sensors configured to determine one or more user health metrics. Sensor 314 can include biosensors that use invasive methods, non- invasive methods, and any combination thereof. Minimally-invasive and non-invasive blood glucose monitoring methods can include any one or more of surface plasmon resonance, fluorescence, optical polarimetry (OP), optical coherence tomography (OCT), NIR spectroscopy, MIR spectroscopy, Raman spectroscopy, FIR spectroscopy, tetrahertz timedomain spectroscopy (THz-TDS), time-of-flight (TOF) mass spectroscopy, thermal emission spectroscopy (TES), metabolic heat conformation (MHC), photoacoustic spectroscopy (PAS), millimeter-wave spectroscopy, microwave spectroscopy, electromagnetic sensing (EMS), bioimpedance spectroscopy (BS), ultrasound-modulated optical sensing, sonophoresis, and reverse iontophoresis (RI).
[0052] Biosensors include any analytical device incorporating a biological or biologically derived sensitive recognition element integrated or associated with a transducer. For example, biosensors can include pulse oximetry sensors (including transmissive and reflectiveembodiments), electrocardiography sensors, piezo-resistive sensors (e.g. blood pressure sensors), blood glucose sensors, electrodermal sensors, cortisol sensors, body temperature sensors, and sweat sensors. Transducers can include, but are not necessarily limited to, electrical, electrochemical, optical, thermometric, piezoelectric, and magnetic transducers.
[0053] Electrical transducers can include any transducer capable of measuring electrical signals. For example, electrical transducers can be used in EKG sensors configured to measure cardiac electrical potential waveforms.
[0054] Electrochemical transducers can include, but are not limited to, potentiometric, amperometric, and conductometric transducers. Electrochemical transducers can be associated with electrochemical sensors configured to convert electrochemical reactions to quantitative and / or qualitative signals. For example, electrochemical transducers convert the reaction between an electrode and analyte into a qualitative and / or quantitative signal.
[0055] Optical transducers can be associated with electro-optical sensors configured to convert light or a change in light into an electronic signal. Electro-optical sensors can include, but are not limited to, photoconductive sensors, photovoltaic sensors, photodiode sensors, and bipolar transistors (e.g., phototransistors). For example, electro-optical sensors can be used for photoplethysmography to determine pulse rate and / or estimate oxygen levels in the blood.
[0056] Thermometric transducers can be associated with thermometric sensors configured to convert thermal energy into physical quantities including mechanical energy, pressure, and electrical impulses. For example, thermometric sensors can include, but are not limited to, thermometers, bimetallic strips, thermistors, thermocouples, resistance thermometers, silicon bandgap temperature sensors, and any other thermally sensitive sensors.
[0057] Piezoelectric transducers can be associated with piezoelectric sensors configured to use the piezoelectric effect to measure changes in pressure, acceleration, temperature, strain, and / or force by converting these changes into an electrical charge.
[0058] Magnetic transducers can be associated with magnetic sensors configured to detect and / or measure magnetic fields. For example, magnetic sensors can detect electromagneticradiation, such as microwave radiation, to measure the reflection and absorption of microwave signals when the microwave signals pass through tissue and determine the presence or absence of a blood glucose by measuring the complex dielectric constant in the blood.
[0059] Any combination of one or more sensor technologies can be used to determine user health metrics. In one example, a combination of measurements by sensors can be used to determine health metrics, such as through sensor fusion. Health metrics can include measurements associated with blood glucose levels, cortisol levels, heart rate, SpO2, EKG, body temperature, and any other measurable metric associated with a subject’s body.
[0060] In one embodiment, sensor 314 is an electrochemical sensor that monitors currents generated when electrons are exchanged either directly or indirectly between a biological system and an electrode. In a more specific embodiment, sensor 314 is an electrochemical sensor configured to determine blood glucose levels in an invasive manner, which can include any form of monitoring requiring insertion into a subject’s body. For example, sensor 314 may be an amperometric sensor coupled to a patch with a needle inserted into a subject’s body and configured to continuously monitor blood glucose levels. As used herein, continuous monitoring can include any manner of collecting health metrics in an uninterrupted manner, intermittent manner, and / or any combination thereof, such that the health metrics are collected over a period of time to track changes in health metrics.
[0061] In another embodiment, sensor 314 is a non-invasive sensor.
[0062] In a first example, sensor 314 may use light-based techniques to determine information about chemical structure, phase and polymorphy, crystallinity, and / or molecular interactions and use that information to determine blood glucose levels. Light-based techniques can include, but are not limited to, the use of near-infrared and visible light.
[0063] In another example, sensor 314 may detect volatile organic compounds in the breath of a subject measuring byproducts from the use of glucose for energy, the breakdown of fats, and / or any other processes associated with blood glucose levels to determine the blood glucose levels in the blood of a subject.
[0064] In yet another example, sensor 314 may use sound-based techniques such as ultrasound-modulated optical sensing to determine blood glucose levels.
[0065] In yet another example, sensor 314 may use electromagnetic radiation techniques, such as the use of microwave signals, to measure the reflection and absorption of electromagnetic radiation as it passes through human tissue and, using the measurements to determine a complex dielectric constant in the blood of a subject to determine blood glucose levels.
[0066] Figure 3B is a functional block diagram illustrating a data processing environment, generally designated 300B, in accordance with one embodiment of the present invention.
[0067] In the depicted embodiment, user interface 306, disaggregation engine 310, database 312, and sensor 314 reside on client computing device 304B. Client computing device 304B represents an embodiment of the present invention that analyzes user health metrics and determines contributing factors to blood glucose levels. Client computing device 304B may be operatively coupled to one or more external devices through direct connection, such as through a hardwired connection, and / or an indirect connection, such as through network 302 (not depicted). In embodiments where client computing device 304B is operatively coupled to one or more external devices through an indirect connection, client computing device 304B includes a communication unit configured to send and / or receive data to and / or from the one or more external devices.
[0068] In some embodiments, client computing device 304B does not include user interface 306. Instead, for example, client computing device 304B may send an analysis of contributing factors to blood glucose level to an external device for display to a user.
[0069] Figure 4 is a flowchart depicting operational steps to determine relative contributions of blood glucose homeostasis and stress-induced blood glucose on blood glucose levels, according to an embodiment of the present invention.
[0070] Disaggregation engine 310 receives overall blood glucose level signal as a function of time (BGL(t)) (step 402). Disaggregation engine 310 receives BGL(t) from an output of a blood glucose level monitor.
[0071] In one embodiment, disaggregation engine 310 receives BGL(t) from an invasive continuous blood glucose level monitor. For example, disaggregation engine 310 may receive BGL(t) from blood glucose monitoring patch removably attached to the skin of a subject. Invasive continuous blood glucose monitoring can include any one or more methods of blood glucose measurement requiring contact with an internal portion of a subject’s body. In another example, disaggregation engine 310 may receive BGL(t) from a blood glucose monitor using interstitial fluid to determine blood glucose levels.
[0072] In another embodiment, disaggregation engine 310 receives BGL(t) from a non- invasive blood glucose monitor. For example, disaggregation engine 310 may receive BGL(t) from a sensor using light-based techniques to determine blood glucose levels. Light-based techniques can include, but are not limited to, the use of near-infrared and visible light.
[0073] In yet another embodiment, disaggregation engine 310 receives BGL(t) from a non- invasive electrochemical sensor. For example, disaggregation engine 310 may receive BGL(t) from an electrochemical sensor that detects volatile organic compounds in the breath of a subject measuring byproducts from the use of glucose for energy, the breakdown of fats, and / or any other processes associated with blood glucose levels to determine the blood glucose levels in the blood of a subject. In another example, disaggregation engine 310 receives BGL(t) from a sweat sensor configured to detect organic compounds associated with blood glucose level from a subject’s sweat. In yet another example, disaggregation engine 310 receives BGL(t) from a saliva sensor configured to detect organic compounds associated with blood glucose level from a subject’s saliva. In yet another example, disaggregation engine 310 receives BGL(t) from a tear sensor configured to detect organic compounds associated with blood glucose level from a subject’s tears.
[0074] In yet another embodiment, disaggregation engine 310 receives BGL(t) from a non- invasive ultrasound sensor. For example, disaggregation engine 310 may receive BGL(t) froman ultrasound sensor using ultrasound-modulated optical sensing to determine blood glucose levels.
[0075] In yet another embodiment, disaggregation engine 310 receives BGL(t) from a non- invasive electromagnetic sensor. For example, disaggregation engine 310 receives BGL(t) from an electromagnetic sensor using electromagnetic radiation techniques, such as the use of microwave signals, to measure the reflection and absorption of electromagnetic radiation as it passes through human tissue and, using the measurements to determine a complex dielectric constant in the blood of a subject to determine blood glucose levels.
[0076] Disaggregation engine 310 analyzes BGL(t) signal characteristics (step 404). Signal characteristics can include any one or more of the amplitude, frequency, and phase of the signal. Disaggregation engine 310 may also determine signal characteristics specific to analog and digital signals. Signal characteristics may also be specific to the source of BGL(t) and the specific manner in which the source of BGL(t) records blood glucose levels over time.
[0077] Disaggregation engine 310 extracts one or more features from BGL(t) signal characteristics (step 406).
[0078] Features of the signal characteristics can include features that define the signal waveform over time. For example, disaggregation engine 310 may extract features from the BGL(t) signal waveform including, but not limited to, short-term variance, long-term variance, average, slope, crest factor, kurtosis, and skewness. However, disaggregation engine 310 is not limited in which features can be extracted from the BGL(t) signal and features can be defined in any manner that assists in determining relative contributions to blood glucose levels over time.
[0079] In an embodiment, disaggregation engine 310 can extract features from the BGL(t) signal that are non-digestion-related contributions to the BGL(t) signal. For example, disaggregation engine 310 can extract features from the BGL(t) signal associated with, but not limited to, alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury (e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy,menopause, hormonal supplements, etc.). These causes of fluctuations in time of the BGL can be distinguished as the ascending slopes, descending slopes, shape of the elevation and duration of the elevation, as well as relative onset in time of the feature relative to the cause, and combinations of these, differs for each of the mentioned causes.
[0080] Also, physical and physiological parameters such as can be collected by a smart watch or mobile phone can be used to further help distinguish between the causes of BGL elevations.
[0081] For instance, the features of BGL(t) of sleep deprivation and the BGL(t) of dehycration can be quite similar. To distinguish sleep information such as derived by a smart watch from HRV analysis is used to distinguish between sleep deprivation and dehydration. As another example, stress induced BGL(t) elevation can be similar to BGL(t) elevation caused by exercise and the motion sensors of a smart watch can be used to determine the real cause. These additional sensors also allow to separate simultaneously occurring causes.
[0082] In another embodiment, disaggregation engine 310 can extract features from the BGL(t) signal that are non-stress-related contributions to the BGL(t) signal. For example, disaggregation engine 310 can extract features from the BGL(t) signal associated with, but not limited to, alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury (e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy, menopause, hormonal supplements, etc.). These causes of fluctuations in time of the BGL can be distinguished as the ascending slopes, descending slopes, shape of the elevation and duration of the elevation, as well as relative onset in time of the feature relative to the cause, and combinations of these, differs for each of the mentioned causes.
[0083] In some embodiments, disaggregation engine 310 uses template matching to compare the BGL(t) signal waveform to reference waveforms, wherein the reference waveforms are associated with features including, but not limited to, short-term variance, longterm variance, average, slope, crest factor, kurtosis, and skewness. For example, disaggregation engine 310 may compare the BGL(t) signal waveform to reference waveformsstored in a database, such as database 312, and determine that the BGL(t) signal waveform has exhibits a steep upwards slope in particular regions, which can be associated with a fight-or- flight response, and a crest factor associated with high levels of stress during the fight-or-flight response.
[0084] Reference waveforms can be associated with a particular feature of the waveform and / or combinations of features that show up in unique ways in a signal waveform. For example, the combination of a steep upwards slope and high kurtosis can be associated with a specific feature, which, in turn, can be associated with particular sources contributing to the BGL(t) waveform. The sources contributing to the BGL(t) waveform are discussed in further detail below in step 408.
[0085] It is also contemplated that reference waveforms can be used to train machine learning algorithms in any manner known in the art. It is further contemplated that any machine learning trained algorithms based on waveforms from any source can be used to identify signal characteristics and features associated with those signal characteristics. Machine learning techniques may include, but are not limited to, logistic regression, clustering, supervised learning, unsupervised learning, decision trees, random forest, reinforcement learning, neural networks, naive bayes, dimensionality reduction, gradient boosting, K-nearest neighbors, support vector machine techniques, boosting, deep belief networking, and any other technique enabling signal characteristics to be identified.
[0086] Disaggregation engine 310 estimates a relative digestion-related contribution (D(t)) and a relative stress-related contribution (S(t)) (step 408).
[0087] Relative digestion-related contributions are associated with features that are at least influenced by digestion. Relative stress-related contributions are associated with features that are at least influenced by stress. The extracted features from BGL(t) signal characteristics are provided to an operation which estimates relative digestion related contribution D(t) and relative stress contribution S(t).
[0088] In one embodiment, D(t) and S(t) are defined as:S(t) = BGLstress(t) / BGL(t)D(t) = BGLdigest(t) / BGL(t)
[0089] In the aforementioned embodiment, D(t) and S(t) are bound by:0 < D(t) < 1 &0 < S(t) < I &S(t) + D(t) = 1
[0090] In certain embodiments, D(t) and S(t) are independently estimated. For example, disaggregation engine 310 can estimate D(t) and S(t) independently so the values, as combined, may add up to a number other than 1. In this example, it is contemplated that independent estimations of D(t) and S(t) may provide more accurate estimations of their respective contributions.
[0091] In one embodiment, a slope feature of BGL(t) is used to determine the relative contributions of stress and digestion to BGL(t). For example, a slope indicating a steep increase in blood glucose level can be used to determine whether the increase was at least partially based on an activation of the autonomic nervous system in response to a bodily fight- or-flight response. In another example, a slope indicating a gradual increase in blood glucose levels over time can be used to determine whether the increase was at least partially based on a rest and digest response after a meal. In yet another related example, a slope showing a moderate increase in blood glucose level can be used to determine that an increase in blood glucose level was a result of a combination of a fight-or-flight response and post-meal digestion.
[0092] In another embodiment, a variance feature of BGL(t) is used to determine the relative contributions of stress and digestion to BGL(t). For example, the type of noise in BGL(t) can be indicative of short-term variation and / or long-term variation, which can be used to differentiate between the effects of stress and digestion on BGL(t).
[0093] In yet another embodiment, a crest factor feature of BGL(t) is used to determine the relative contributions of stress and digestion to BGL(t). For example, the ratio of peak valuesto effective values may show how extreme the peaks are in BGL(t) waveform, which can, in turn, enable differentiation of signal peaks associated with stress, digestion, and any combination thereof.
[0094] In another embodiment, disaggregation engine 310 can extract features from the BGL(t) signal that are relative non-digestion-related contributions to the BGL(t) signal. For example, disaggregation engine 310 can extract features from the BGL(t) signal associated with, but not limited to, alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury (e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy, menopause, hormonal supplements, etc.).
[0095] In another embodiment, disaggregation engine 310 can extract features from the BGL(t) signal that are relative non-stress-related contributions to the BGL(t) signal. For example, disaggregation engine 310 can extract features from the BGL(t) signal associated with, but not limited to, alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury (e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy, menopause, hormonal supplements, etc.).
[0096] Disaggregation engine 310 determines an absolute digestion-related contribution and an absolute stress-related contribution using D(t) and S(t) (step 410).
[0097] In one embodiment, disaggregation engine 310 uses relative contributions D(t) and S(t) to compute absolute stress and digestion-related contributions BGLstress(t) = S(t) * BGL(t) and BGLdigest(t) = D(t) * BGL(t). This relationship can be defined by:BGLstress(t) = S(t) * BGL(t)BGLdigest(t) = D(t) * BGL(t)
[0098] In an alternative embodiment, disaggregation engine 310 skips step 408 and determines absolute blood glucose level contributions directly from one or more extracted features rather than from D(t) and S(t).
[0099] In another alternative embodiment, disaggregation engine 310 only determines an absolute stress-related contribution without determining the absolute digestion-related contribution.
[0100] In another alternative embodiment, disaggregation engine 310 only determines an absolute digestion-related contribution without determining the absolute stress-related contribution.
[0101] In another alternative embodiment, disaggregation engine 310 determines relative blood glucose level contributions D(t) and S(t) as the output without calculating absolute contributions.
[0102] In another alternative embodiment, disaggregation engine 310 determines a relative digestion-related contribution D(t) as the output without calculating a relative stress-related contribution, an absolute stress-related contribution, and a digestion-related contribution.
[0103] In another alternative embodiment, disaggregation engine 310 determines a relative stress-related contribution S(t) as the output without calculating a relative digestion-related contribution, an absolute stress-related contribution, and a digestion-related contribution.
[0104] In another alternative embodiment, disaggregation engine 310 determines an additional contribution representative of causes other than digestion. For example, disaggregation engine 310 can determine the relative and / or absolute contributions of non- digestion-related contributions, such as alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury (e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy, menopause, hormonal supplements, etc.).
[0105] In another alternative embodiment, disaggregation engine 310 determines an additional contribution representative of causes other than stress. For example, disaggregation engine 310 can determine the relative and / or absolute contributions of non-stress-related contributions, such as alcohol intake, artificial sweetener intake, caffeine intake, time of day, body temperature, sleep deprivation, medication intake, exercise, dehydration, illness, injury(e.g., sunburn, physical trauma, etc.), and / or hormonal changes (e.g., dawn phenomenon, pregnancy, menopause, hormonal supplements, etc.).
[0106] In some embodiments, disaggregation engine 310 can determine that a contributing factor is unknown and categorize an unknown contribution accordingly. Unknown contributing factors can be stored as templates in a database, such as database 312, for later identification when one or more causes associated with the unknown contributions are discovered.
[0107] In some embodiments, disaggregation engine 310 provides an uncertainty indication to the output blood glucose level values. For example, disaggregation engine 310 can provide a determination that the output has an estimated 95% confidence interval.
[0108] In some embodiments, disaggregation engine 310 displays the output blood glucose level contributions to a display, such as display 918. In another embodiment, disaggregation engine 310 displays supplementary information along with the outputs. For example, disaggregation engine 310 may display guidance on how to manage blood glucose levels based on user health parameters. User health parameters may include, but are not limited to, age, medications, preexisting health conditions, genetic history, previous health episodes, and gender. In another example, disaggregation engine 310 may cause a visual element, such as a chart, graphic, video, or any other visual element, to be displayed to communicate blood glucose contributions and / or guidance regarding blood glucose level management. In yet another example, disaggregation engine 310 may cause an audio element to be emitted from a device to communicate blood glucose contributions and / or guidance regarding blood glucose level management. In another example, disaggregation engine 310 may cause a visual element, such as a chart, graphic, video, or any other visual element, to be displayed in an augmented reality and / or virtual reality environment to communicate blood glucose contributions and / or guidance regarding blood glucose level management. It is contemplated that any definable characteristic of a user can be defined as a user health parameter.
[0109] Figure 5A depicts line graph representation 500A as one example of a relationship between ascending slopes for digestion BGL(t) signal 502A, longer duration stress BGL(t)signal 502B, and acute stress BGL(t) signal 502C. Figure 5A also depicts threshold 504A and threshold 504B and signal ascension portion 506. In the depicted embodiment, ascending portion 506 depicts a comparison between the ascending portions of digestion BGL(t) signal 502A, longer duration stress BGL(t) signal 502B, and acute stress BGL(t) signal 502C, each of which have different characteristics. These different characteristics allow the cause of the BGL(t) excursions to be determined. For instance, acute stress causes a rapid increase of the acute stress BGL(t) signal 502C leading to a steeper ascending slope compared to the steepness of the ascending slope of the digestion BGL(t) signal 502A as it takes longer for the metabolic processes of the body to release the glucose into the blood stream. The longer duration stress BGL(t) signal 502B, as it is also caused by stress, has a similar steepness of the ascending slope as the acute stress BGL(t) signal 502C. The steepness of the ascending slope thus allows the distinction to be made between stress induced changes in the BGL(t) signal 502B, 502C and digestion induced changes in the BGL(t) signal 502A.
[0110] In the depicted embodiment, threshold 504A is associated with blood glucose levels falling within hyperglycemic territory and threshold 504B is associated with blood glucose levels falling within hypoglycemic territory.[OHl] In an alternative embodiment, threshold 504A and / or threshold 504B are not used.
[0112] In some embodiments, threshold 504A and / or threshold 504B are set at predetermined values. For example, threshold 504A can be set manually by receiving instructions via a user interface.
[0113] In another embodiment, threshold 504A and / or threshold 504B are set in a periodic manner. For example, threshold 504A and / or threshold 504B may be set every morning at 8AM. In another example, threshold 504A and / or threshold 504B may be set once every hour.
[0114] In another embodiment, threshold 504A and / or threshold 504B are set in at irregular intervals. For example, threshold 504A and / or threshold 504 may be set sporadically based on when disaggregation engine 310 can reliably determine user health parameters based on one or more vital signs sensor readings. In another example, threshold 504A and / or threshold 504Bmay be set periodically, but disaggregation engine 310 can skip one or more threshold setting time intervals if disaggregation engine 310 cannot reliably determine user health parameters.
[0115] In yet another example, threshold 504A and / or threshold 504B are set automatically by receiving program instructions and / or data from one or more hardware components.Hardware components may include, for example, sensors, processors, and memory. For example, threshold 504A may be set based on a reading from an electrochemical blood glucose sensor. However, it is contemplated that any hardware components may be used to set any one or more thresholds.
[0116] In another embodiment, threshold 504A and / or 504B are determined continuously. For example, threshold 504A can be set based on user parameters, such as one or more vital signs. In some examples, threshold 504A can be set in real-time using a continuous polling of data associated with user parameters.
[0117] In another related embodiment, threshold 504A and / or threshold 504B are based on the x-axis. In an example associated with the embodiment depicted in Figure 5A, threshold 504A and / or threshold 504B may be time-based thresholds that determine one or more lengths of time to be considered. In another example, threshold 504A and threshold 504B may be respectively associated with a y-axis-based threshold and an x-axis-based threshold.
[0118] Threshold 504A and threshold 504B are illustrative examples showing the use of one or more thresholds. Any threshold associated with any type of variable and number of variables may be set. Any number of conditions may be placed on a threshold. Any combination of different thresholds may be set using any one or more parameters.
[0119] In some embodiments, thresholds are dynamic and change based on one or more variables, such as time of day. For example, threshold 504A and / or threshold 504B may not be straight lines intersecting the x-axis in an orthogonal relationship. Instead, threshold 504A and / or threshold 504B may be an oscillating line, a stepped line, curved line, or any combination thereof.
[0120] As used herein, real-time may include any latency associated with the limitations of a system, including, but not limited to, the polling rates of one or more devices, the processing of the data, and / or a delay in setting a threshold.
[0121] As used herein, continuous may include any operational limitations associated with hardware and / or software in executing a continuous process, including, but not limited to, polling rate latency, CPU latency, communication latency, and / or any other type of operational step required to execute a continuous process.
[0122] As used herein in the context of dynamically determining thresholds, delays may include any delay in setting a threshold for any amount of time for any purpose. For example, disaggregation engine 310 may intentionally delay setting a threshold despite receiving user data in real-time in order to develop a historical data set associated with the vital signs of a user before setting threshold 504A and threshold 504B. In another example, disaggregation engine 310 may intentionally delay setting a threshold until user data is processed using one or more algorithms including, but not limited to, traditional algorithms and machine learning algorithms (described in further detail below). Machine learning models, such as neural networks, may also be used by the invention herein in any manner to execute any one or more operational steps.
[0123] Machine learning includes any technique allowing a computing device to learn from data without being explicitly programmed. Machine learning techniques enable the construction of algorithms to train on data and to make predictions based on that training. As such, machine learning includes non-static computational models that enable data-driven prediction and decision-making. Machine learning can be employed in computing tasks where programming using static algorithms and static computational models would be insufficient and / or impractical to implement.
[0124] Machine learning training can fall under training categories including, but not limited to, supervised learning, semi-supervised learning, unsupervised learning, and reinforcement learning. Machine learning may also include any one or more predictive analytical techniques. For example, predictive analytical techniques may include regression,classification, clustering, dimensionality reduction, and density estimation. However, predictive analytical techniques can include any predictive algorithm, set of predictive algorithms, and / or combination of one or more predictive algorithms and one or more traditional algorithms.
[0125] Figure 5B depicts line graph representation 500B of an example of the relationship between descending slopes for digestion BGL(t) signal 502A, longer duration stress BGL(t) signal 502B, and acute stress BGL(t) signal 502C, in which digestion BGL(t) signal 502A, longer duration stress BGL(t) signal 502B, and acute stress BGL(t) signal 502C have been time-shifted relative to each other to align their respective peaks for clarity when comparing descending slopes. In the depicted embodiment, descending portion 508 depicts a comparison between the descending portions of digestion BGL(t) signal 502A, longer duration stress BGL(t) signal 502B, and acute stress BGL(t) signal 502C, each of which have different characteristics.
[0126] As explained for the ascending slope of the BGL(t) signal, the steepness of the descending slope provides information as to the cause of the changes in the BGL(t) signal and thus allows the distinction to be made between stress induced changes in the BGL(t) signal 502B, 502C and digestion induced changes in the BGL(t) signal 502A. A stress induced change in the BGL(t) signal 502B, 502C will exhibit a relative steep descending slope, compared to a digestion induced change in the BGL(t) signal as it takes longer for the metabolic processes of the body to absorb the glucose fromn the blood stream.
[0127] Total duration of the change in the BGL(t) signal can be helpful in determining the cause of the change in the BGL(t) signal but a long duration stress potentially exhibits a similar duration as a digestion and as such the steepness of the ascending and descending slopes of the BGL9T) signal provide more reliable information as to the cause of the change in the BGL(t) signal. Optionally, when determining the cause of the change in the BGL(t) signal weighings can be given to the steepness of the ascending slope, to the steepness of the descending slope and to the duration in order to take the various aspects of the BGL(t) signal into account.
[0128] Figure 6 is an illustrative embodiment depicting digestion BGL(t) signal 502A in BGL(t) line graph 600 including a ‘must pass through’ zone 602 for the ascending flank, a ‘must pass through’ zone 604 for the descending flank, and an exclusion zone 606.
[0129] Waveform characteristics , such as the characteristics of ascending flank 602 and descending flank 604, can be indicative of one or more sources of BGL(t) variability.Characteristics can include any definable feature of a BGL(t) signal waveform. For example, waveform characteristics can include, but are not limited to, short-term variance, long-term variance, average, slope, crest factor, kurtosis, and skewness. In some embodiments, waveform characteristics can use template matching to predict a cause of BGL(t) variability. For example, waveform characteristics can be compared to a user’s historical BGL(t) signal data and associated causes. In another example, waveform characteristics can be compared to a database of historical BGL(t) signal data compiled from different sources. In yet another example, waveform characteristics can be analyzed using machine learning techniques to determine a pattern indicating a particular cause of BGL(t) variability.
[0130] In the depicted embodiment, exclusion zone 606 spans a time period where digestion BGL(t) signal 502A exceeds threshold 504A. It is contemplated that exclusion zone 606 may span any length of time that a BGL(t) signal falls outside limits set by one or more thresholds. Exclusion zone 606 is depicted herein as exceeding an upper blood glucose level threshold (e.g., threshold 504A), but exclusion zone 606 may also apply to BGL(t) signals that dip below a lower blood glucose level threshold (e.g., threshold 504B).
[0131] In some embodiments, a BGL(t) signal may have multiple exclusion zones 606. For example, digestion BGL(t) signal 502A can rise above and a first threshold (e.g., threshold 504A) over a first span of time and fall below a second threshold (e.g., threshold 504B) over a second span of time such that there are two exclusion zones 606. In another illustrative example, digestion BGL(t) signal 502A may be defined by six thresholds, such that exclusion zones 606 fall into one or more bands of exclusions.
[0132] In the depicted embodiment, removing exclusion zone 606 from digestion BGL(t) signal 502A at least partially defines the ascending flank and the descending flank. By doingso, disaggregation engine 310 focuses on the slopes of ascending flank and descending flank to predict the cause of blood glucose levels falling outside of one or more thresholds. The first ‘must pass through’ zone 602 is a zone where the ascending slope must pass through, for the cause of the change in the BGL(t) signal to be most likely a digestion. As such the first ‘must pass through’ zone 602 forms a template for the ascending slope of digestion BGL(t) signal 502A. As the digestion BGL(t) signal is indeed caused by the digestion of food, a relatively low steepness of the ascending flank falls within the first ‘must pass through’ zone 602 of the template as shown. A second ‘must pass through’ zone 604 can be defined for digestion BGL(t) signals so as to also define a template for the descending slope. The ‘must pass through’ zone 604 is a zone where the descending slope must pass through, for the cause of the change in the BGL(t) signal to be most likely a digestion. Removing exclusion zone 606 from consideration may reduce variability in collected data thereby increasing accuracy. For example, exclusion zone 606 may be highly variable depending on the individual, so removing one or more peaks and / or dips falling into exclusion zone 606 shifts focus to analyzing ascending flanks and descending flanks, which may be more consistent and reliable. As the length of the exclusion zone 606 depends on the duration of the food intake and likewise depends on the duration of the stress, as explained above for Figure 5, the exclusion zone is of limited value. Determining the exclusion zone 606 allows the proper positioning of the second ‘must pass through’ zone 604 for the descending slope, thus allowing the first ‘must pass through’ zone 602 and the second ‘must pass through’ zone 604 to form a flexible template that can be applied to BGL(t) signals of variable duration and allow the cause of the change in the BGL(t) signal to be determined.
[0133] Figure 7 is an illustrative embodiment depicting longer duration stress BGL(t) signal 502B in BGL(t) line graph 700 including ascending flank 702, descending flank 704, and exclusion zone 706.
[0134] In the depicted embodiment, exclusion zone 706 spans a time period where longer duration stress BGL(t) signal 502B exceeds threshold 504A. It is contemplated that exclusion zone 706 may span any length of time that a BGL(t) signal falls outside limits set by one or more thresholds. Exclusion zone 706 is depicted herein as exceeding an upper blood glucoselevel threshold (e.g., threshold 504A), but exclusion zone 706 may also apply to BGL(t) signals that dip below a lower blood glucose level threshold (e.g., threshold 504B).
[0135] In some embodiments, a BGL(t) signal may have multiple exclusion zones (e.g., exclusion zone 606 and exclusion zone 706). For example, longer duration stress BGL(t) signal 502B can rise above and a first threshold (e.g., threshold 504A) over a first span of time and fall below a second threshold (e.g., threshold 504B) over a second span of time such that there are two exclusion zones 706. In another illustrative example, longer duration stress BGL(t) signal 502B may be defined by six thresholds, such that exclusion zones are defined by one or more bands of exclusion created by the six thresholds.
[0136] In the depicted embodiment, removing exclusion zone 706 from longer duration stress BGL(t) signal 502B at least partially defines the end of the ascending flank and start of the descending flank. By doing so, disaggregation engine 310 focuses on the slopes of ascending flank and descending flank to predict the cause of blood glucose levels falling outside of one or more thresholds. Removing exclusion zone 706 from consideration may reduce variability in collected data thereby increasing accuracy. For example, exclusion zone 706 may be highly variable depending on the individual, so removing one or more peaks and / or dips falling into exclusion zone 706 shifts focus to analyzing ascending flanks and descending flanks, which may be more consistent and reliable.
[0137] Waveform characteristics of ascending flank 702 and descending flank 704 can be indicative of one or more sources of BGL(t) variability. Characteristics can include any definable feature of a BGL(t) signal waveform. For example, waveform characteristics can include, but are not limited to, short-term variance, long-term variance, average, slope, crest factor, kurtosis, and skewness. In some embodiments, waveform characteristics can use template matching to predict a cause of BGL(t) variability. For example, waveform characteristics can be compared to a user’s historical BGL(t) signal data and associated causes. In another example, waveform characteristics can be compared to a database of historical BGL(t) signal data compiled from different sources. In yet another example, waveform characteristics can be analyzed using machine learning techniques to determine a pattern indicating a particular cause of BGL(t) variability.
[0138] Waveform characteristics, as used herein, can refer to any characteristics of any type of waveform. For example, heart rate variability waveforms may be analyzed using the techniques described herein, such as by analyzing ascending flanks, descending flanks, template matching, machine learning, and any other technique used to analyze waveforms.
[0139] The first ‘must pass through’ zone 702 is a zone where the ascending slope must pass through, for the cause of the change in the BGL(t) signal to be most likely a long duration stress. As such the first ‘must pass through’ zone 702 forms a template for the ascending slope of a long duration stress BGL(t) signal 502B. As the long duration stress BGL(t) signal 502B is indeed caused by the long duration stress, a relatively high steepness of the ascending flank falls within the first ‘must pass through’ zone 702 of the template as shown. A second ‘must pass through’ zone 704 can be defined for long duration stress BGL(t) signals so as to also define a template for the descending slope. The second ‘must pass through’ zone 704 is a zone where the descending slope must pass through, for the cause of the change in the BGL(t) signal to be most likely a long duration stress. As the length of the exclusion zone 706 depends on the duration of the stress and likewise as explained above for Figure 5, the exclusion zone 706 is of limited value. Determining the exclusion zone 706 allows the proper positioning of the second ‘must pass through’ zone 704 for the descending slope, thus allowing the first ‘must pass through’ zone 702 and the second ‘must pass through’ zone 704 to form a flexible template that can be applied to BGL(t) signals of variable duration and allow the cause of the change in the BGL(t) signal to be determined.
[0140] As is evident from Figure 6 and Figure 7, the ‘must pass through’ zones of the template differ for the various causes of changes in the BGL(t) signal. When a BGL(t) signal is to be analyzed as to the cause of the changes in the BGL(t) signal, the various templates are applied to the BGL(t) signal and the template that best matches the BGL(t) signal indicates the most likely cause for the changes in the BGL(t) signal.
[0141] Figure 8A depicts BGL(t) line graph 800A. BGL(t) line graph 800A includes digestion BGL(t) signal 502A followed by a longer duration stress BGL(t) signal 502B measured over consecutive timespans where digestion BGL(t) signal 502A spans time frame 802 and longer duration stress BGL(t) signal 502B spans time frame 804. Figure 8A depictsone illustrative example of how different causes (e.g., digestion v. longer duration stress) affect BGL(t) signals differently for the same user. As explained in Figures 5 through 7, the cause of the changes in the BGL(t) signal can be determined based on the steepness of the ascending and descending slopes of the BGL(t) signal and would lead in the case of Figure 8 A to a determination of the causes to be first a long duration stress situation followed by a food intake causing digestion to cause the change in the BGL(t) signal.
[0142] Figure 8B depicts comparison graph 800B in which heart rate variability is also taken into consideration when analyzing the cause of blood glucose level variability. Comparison graph 800B shows a heart rate variability (HRV) waveform below a blood glucose level waveform spanning the same time frame.
[0143] Time frame 806 spans at least a portion of the waveform where a longer duration stress BGL(t) signal exceeds a blood glucose level threshold and a corresponding portion of an HRV waveform. As depicted, the blood glucose level spike associated with time frame 806 is accompanied with a decrease in heart rate variability. As such, the combination of increased blood glucose and decreased HRV may point to longer duration stress as being the cause of the blood glucose spike. When combining the result of this BGL(t) & HRVdetermination of the cause of the change in the BGL(t) signal with the determination as explained in Figures 5 through 7, based on the steepness of the ascending and / or descending slopes of the BGL(t) signal, a very reliable determination as to the cause can be made. Vice versa, having a reliable determination of the cause of the changes in the BGL(t) signal based on the steepness of the slopes, allows a better interpretation of the HRV signal, i.e. determining that a low HRV value is caused by a stress situation as in time frame 806.
[0144] Time frame 808 spans at least a portion of the waveform that a digestion stress BGL(t) signal exceeds a blood glucose level threshold and a corresponding portion of an HRV waveform. As depicted, the blood glucose level spike associated with time frame 808 is accompanied with a no meaningful change heart rate variability. As such, the combination of increased blood glucose and decreased HRV may point to digestion as being the cause of the blood glucose spike. When combining the result of this BGL(t) & HRV determination of the cause of the change in the BGL(t) signal with the determination as explained in Figures 5through 7, based on the steepness of the ascending and / or descending slopes of the BGL(t) signal, a very reliable determination as to the cause can be made as is evident in time frame 808 where the result of the determination indicates digestion as the most likely cause of the change in the BGL(t) signal.
[0145] Figure 8C depicts comparison graph 800C in which heart rate variability is also taken into consideration when analyzing the cause of blood glucose level variability. Comparison graph 800C shows a heart rate variability (HRV) waveform below a blood glucose level waveform spanning the same time frame.
[0146] Time frame 810 spans at least a portion of the waveform where a longer duration stress BGL(t) signal exceeds a blood glucose level threshold and a corresponding portion of an HRV waveform. As depicted, the blood glucose level spike associated with time frame 810 is accompanied with a decrease in heart rate variability. As such, the combination of increased blood glucose and decreased HRV may point to longer duration stress as being the cause of the blood glucose spike as explained in Figure 8B.
[0147] HRV waveforms can be analyzed in a manner similar to that of blood glucose level waveforms. For example, disaggregation engine 310 can determine ascending and descending flanks of an HRV waveform based on a heart rate variability threshold to determine the cause of a change in heart rate variability. In another example, disaggregation engine 310 can use template matching to analyze an HRV waveform to determine the cause of a change in heart rate variability. In yet another example, disaggregation engine 310 can use historical data and predictive analytical techniques to predict a cause of a change in heart rate variability.
[0148] Time frame 812 spans at least a portion of the waveform that a BGL(t) signal does not exceed a blood glucose level threshold and a corresponding portion of an HRV waveform. As depicted, the blood glucose levels associated with time frame 806 are stable, but the HRV waveform dips. As such, the combination of stable blood glucose and decreased HRV may point to dehydration being the cause of the dip in HRV rather than a stress induced decrease in HRV as a spike in the BGL(t) signal is absent. So again, the correct interpretation of the BGL(t) signal as to the cause of the spike allows the interpretation of the HRV to be improved.Currently HRV is used to determine stress levels, sleep patterns, fitness, illness, fertility, and other outcomes, often in combination with motion data, temperature data, and other parameters. Combining information derived from the BGL(t) signal with the HRV, as shown here in Figure 8, further improves the interpretation of the HRV. Similarly to blood glucose levels, HRV can be subject to any one or more thresholds, such as HRV dipping below a variability threshold.
[0149] Figure 9A depicts a block diagram of components of server computer 308 within the distributed data processing environment 300A of Figure 3 A, in accordance with one embodiment of the present invention. It should be appreciated that Figure 9A provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments can be implemented. Many modifications to the depicted environment can be made.
[0150] Server computer 308 can include processor(s) 904, cache 914, memory 906, persistent storage 908, communications unit 910, input / output (VO) interface(s) 912 and communications fabric 902. Communications fabric 902 provides communications between cache 914, memory 906, persistent storage 908, communications unit 910, and input / output (I / O) interface(s) 912. Communications fabric 902 can be implemented with any architecture designed for passing data and / or control information between processors (such as microprocessors, communications, and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, communications fabric 302 can be implemented with one or more buses.
[0151] Memory 906 and persistent storage 908 are computer readable storage media. In this embodiment, memory 906 includes random access memory (RAM). In general, memory 906 can include any suitable volatile or non-volatile computer readable storage media. Cache 914 is a fast memory that enhances the performance of processor(s) 904 by holding recently accessed data, and data near recently accessed data, from memory 906.
[0152] Program instructions and data used to practice embodiments of the present invention, e.g., disaggregation engine 310 and database 312, are stored in persistent storage908 for execution and / or access by one or more of the respective processor(s) 904 of server computer 308 via cache 914. In this embodiment, persistent storage 908 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive, persistent storage 908 can include a solid-state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.
[0153] The media used by persistent storage 908 may also be removable. For example, a removable hard drive may be used for persistent storage 908. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part of persistent storage 908.
[0154] Communications unit 910, in these examples, provides for communications with other data processing systems or devices, including resources of client computing device 304B. In these examples, communications unit 910 includes one or more network interface cards. Communications unit 910 may provide communications through the use of either or both physical and wireless communications links. Disaggregation engine 310, database 312, and other programs and data used for implementation of the present invention, may be downloaded to persistent storage 908 of server computer 308 through communications unit 910.
[0155] I / O interface(s) 912 allows for input and output of data with other devices that may be connected to server computer 308. For example, I / O interface(s) 912 may provide a connection to external device(s) 916 such as a keyboard, a keypad, a touch screen, a microphone, a digital camera, and / or some other suitable input device. External device(s) 916 can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, e.g., disaggregation engine 310 and database 312 on server computer 308, can be stored on such portable computer readable storage media and can be loaded onto persistent storage 908 via VO interface(s) 912. VO interface(s) 912 also connects to a display 918.
[0156] Display 918 provides a mechanism to display data to a user and may, for example, be a computer monitor. Display 918 can also function as a touchscreen, such as a display of a tablet computer. In another example, display 918 can be a display associated with an augmented reality and / or virtual reality environment. In yet another example, display 918 can be associated with a smartwatch. In yet another example, display 918 can be associated with a remotely tethered display.
[0157] Figure 9B depicts a block diagram of components of client computing device 304B within the data processing environment 300B of Figure 3B, in accordance with one embodiment of the present invention.
[0158] Figure 9B contemplates the components described in Figure 9A within one embodiment of a standalone device configured to execute disaggregation engine 310.
[0159] The programs described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and / or implied by such nomenclature.
[0160] The present invention may be a system, a method, and / or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
[0161] The computer readable storage medium can be any tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a readonly memory (ROM), an erasable programmable read-only memory (EPROM or Flashmemory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiberoptic cable), or electrical signals transmitted through a wire.
[0162] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0163] Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, statesetting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network,including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
[0164] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions.
[0165] These computer readable program instructions may be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0166] The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0167] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, a segment, or a portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
[0168] The invention herein may also be partially or wholly executed in a cloud computing environment comprising one or more cloud computing nodes. Cloud computing nodes may communicate with each other and may be grouped in one or more networks, such as private, community, public, and / or hybrid cloud networks. Cloud computing environment scan provide infrastructure, platforms, and / or software as services for which a user does not need to maintain resources on a local computing device. A cloud computing environment can communicate with any type of computerized device over any type of network and / or network addressable connection.
[0169] The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to best explain the principles of the embodiment, thepractical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
CLAIMSWhat is claimed is:
1. A method of interpreting changes in blood glucose levels, the method comprising: receiving, by one or more sensors, a blood glucose signal over a first period of time; extracting, by the one or more computer processors, one or more features of the blood glucose signal from the blood glucose signal; and determining, by the one or more computer processors, a relative non-digestion-related contribution to the blood glucose signal based on the one or more features.
2. The method of claim 1, wherein the relative non-digestion-related contribution to the blood glucose signal is a relative stress-related contribution to the blood glucose signal based on the one or more features.
3. The method of claim 1, further comprising: determining, by the one or more computer processors, a relative digestion-related contribution to the blood glucose signal based on the one or more features by removing the relative stress-related contribution from the blood glucose signal.
4. The method of claim 1, wherein the one or more features of the blood glucose signal is a derivative of an ascending flank of a temporary elevation of the blood glucose signal.
5. The method of claim 1, wherein the one or more features of the blood glucose signal is a derivative of a descending flank of a temporary elevation of the blood glucose signal.
6. The method of claim 4, wherein the one or more features of the blood glucose signal derived from the ascending flank is weighed differently than the one or more features of the blood glucose signal derived from the descending flank.
7. The method of claim 1, wherein determining the relative non-digestion-related contribution uses template matching to compare an elevation of the BGL(t) signal waveform to one or more reference waveforms.
8. A computer system for interpreting changes in blood glucose levels, the computer system comprising: one or more computer processors; one or more computer readable storage devices; program instructions stored on the one or more computer readable storage devices for execution by at least one of the one or more computer processors, the stored program instructions comprising: program instructions to receive a blood glucose signal over a first period of time; program instructions to extract one or more features of the blood glucose signal from the blood glucose signal; and program instructions to determine a relative non-digestion-related contribution to the blood glucose signal based on the one or more features.
9. The computer system of claim 8, wherein the relative non-digestion-related contribution to the blood glucose signal is a relative stress-related contribution to the blood glucose signal based on the one or more features.
10. The computer system of claim 8, further comprising: program instructions to determine a relative digestion-related contribution to the blood glucose signal based on the one or more features.
11. The computer system of claim 8, wherein the one or more features of the blood glucose signal is a derivative of an ascending flank of a temporary elevation of the blood glucose signal.
12. The computer system of claim 8, wherein the one or more features of the blood glucose signal is a derivative of a descending flank of a temporary elevation of the blood glucose signal.
13. The computer system of claim 11, wherein the one or more features of the blood glucose signal derived from the ascending flank is weighed differently than the one or more features of the blood glucose signal derived from a descending flank.
14. The computer system of claim 8, wherein determining the relative non-digestion-related contribution uses template matching to compare an elevation of the BGL(t) signal waveform to one or more reference waveforms.
15. A computer system for interpreting changes in blood glucose levels, the computer system comprising: one or more computer processors; one or more computer readable storage devices; one or more remote computer processors, wherein the one or more remote computer processors are operatively coupled to a network; one or more remote computer readable storage devices, wherein the one or more remote computer readable storage devices are operatively coupled to the network; program instructions stored on the one or more computer readable storage devices for execution by at least one of the one or more remote computer processors, the stored program instructions comprising: program instructions to send a blood glucose signal over a first period of time; program instructions to receive one or more features identified from the blood glucose signal from the one or more remote processors; and program instructions to receive a relative non-digestion-related contribution to the blood glucose signal based on the one or more features.
16. The computer system of claim 15, wherein the relative non-digestion-related contribution to the blood glucose signal is a relative stress-related contribution to the blood glucose signal based on the one or more features.
17. The computer system of claim 15, further comprising: program instructions to determine a relative digestion-related contribution to the blood glucose signal based on the one or more features.
18. The computer system of claim 15, wherein the one or more features of the blood glucose signal is a derivative of an ascending flank of a temporary elevation of the blood glucose signal.
19. The computer system of claim 15, wherein the one or more features of the blood glucose signal is a derivative of a descending flank of a temporary elevation of the blood glucose signal.
20. The computer system of claim 18, wherein the one or more features of the blood glucose signal derived from the ascending flank is weighed differently than the one or more features of the blood glucose signal derived from a descending flank.
Citation Information
Patent Citations
Methods Circuits Devices Systems and Machine Executable Code for Glucose Monitoring Analysis and Remedy
US20210345915A1
System and method for body mass index relation to patient differing psychological stress effect on blood glucose dynamics in patients with insulin dependent diabetes
US20210346602A1