Glucose prediction using machine learning and time series glucose measurements

Machine learning models trained on time-series glucose data from wearable devices provide accurate, long-term glucose predictions, enabling proactive diabetes management.

JP2025170261APending Publication Date: 2025-11-18DEXCOM INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025127622
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-05-27
Filing Date
2025-07-30
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Conventional glucose prediction techniques are inaccurate and fail to predict future glucose levels with precision, leading to delayed and unsuitable actions for managing rapidly changing glucose levels in diabetes patients.

Method used

Utilizing machine learning models, particularly nonlinear models like neural networks and state machines, trained on historical time-series glucose measurements from wearable devices to predict future glucose levels accurately.

Benefits of technology

Enables timely and accurate predictions of glucose levels over extended time horizons, allowing proactive measures to mitigate harmful health conditions such as hypoglycemia, thereby improving diabetes management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025170261000001_ABST
    Figure 2025170261000001_ABST
Patent Text Reader

Abstract

To provide methods, systems and storage media for glucose prediction using machine learning and time series glucose measurements.SOLUTION: In methods for glucose prediction using machine learning (ML) and time series glucose measurements, a glucose monitoring platform includes an ML model trained using historical time series glucose measurements of a user population. The ML model predicts upcoming glucose measurements for a particular user by: receiving a time series of glucose measurements up to a time; and determining the upcoming glucose measurements of the particular user for an interval subsequent to the time based on patterns learned from the historical time series glucose measurements.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] [Incorporation by reference of related application] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 030492, entitled "Glucose Prediction Using Machine Learning and Time Series Glucose Measurements," filed May 27, 2020. The foregoing application is incorporated by reference in its entirety and is hereby expressly made a part of this specification. [Background technology]

[0002] Diabetes is a metabolic condition that affects hundreds of millions of people and is one of the leading causes of death worldwide. For people with diabetes, access to treatment is critical to their survival. With proper treatment, serious damage to the heart, blood vessels, eyes, kidneys, and nerves caused by diabetes can be largely avoided. Proper treatment for people with type 1 diabetes generally involves monitoring glucose levels throughout the day and regulating them with some combination of insulin, diet, and exercise so that levels remain within a desired range. Advances in medical technology have led to the development of various systems for monitoring glucose levels.

[0003] While monitoring a person's current glucose levels is useful for determining diabetes treatment strategies, knowing what a person's glucose levels will be in the future is even more useful because it allows the person or a caregiver to take action to mitigate potentially adverse health conditions associated with changes in glucose levels before those conditions occur. However, conventional techniques for predicting future glucose levels can be inaccurate in various cases due to the methods used to correlate observed glucose levels with future glucose levels. Furthermore, conventional techniques may not be able to predict glucose levels at precise points in the future.

[0004] As an example, a system using conventional glucose prediction techniques may output a prediction intended to indicate a person's glucose measurement 30 minutes into the future from the current time. However, the person's observed glucose may correspond to a predicted measurement that is only 5 minutes into the future. To this end, the prediction is delayed by 25 minutes, and the system's prediction range does not match the person's actual glucose. The mismatch of the prediction range to actual glucose and the inaccurate prediction may make glucose predictions generated by conventional systems unsuitable for various applications, such as prescribing actions to mitigate dangerously (and rapidly) changing glucose levels. Summary of the Invention

[0005] To overcome these problems, glucose prediction using machine learning and time-series glucose measurements is utilized. Given the number of people wearing glucose monitoring devices, such as continuous glucose monitoring (CGM) systems, because these wearable devices continuously generate measurements, glucose monitoring platforms that provide glucose monitoring devices with sensors to detect glucose levels and maintain the measurements generated by such systems may have enormous amounts of data, e.g., measurements from tens of millions of patient hospital days. However, this amount of data is virtually impossible for humans, if not practical, to process and reliably identify patterns in a robust number of state spaces.

[0006] In one or more implementations, the glucose monitoring platform includes a machine learning model (e.g., a nonlinear machine learning model) trained using historical time-series glucose measurements of a user population, the glucose measurements being provided by wearable glucose monitoring devices worn by users of the user population. Once training is complete, the machine learning model predicts future glucose measurements of the users. When predicting future glucose measurements of a user, a time series of glucose measurements up to a point in time is received. The time-series glucose measurements are provided by wearable glucose monitoring devices worn by the users. The machine learning model predicts future glucose measurements of the user over a time interval following that point in time. In particular, the machine learning model generates this prediction based on training with the historical time-series glucose measurements of the user population. The future glucose measurements are then output, such as via communication and / or display of a notification regarding the future glucose measurements.

[0007] This Summary introduces a selection of concepts in a simplified form that are further described below in the Detailed Description. As such, this Summary is not intended to identify essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

[0008] The detailed description is given with reference to the accompanying drawings. [Brief explanation of the drawings]

[0009] [Figure 1] 1 is an illustration of an environment in an exemplary implementation operable to employ the techniques described herein. [Figure 2] 2 depicts the example wearable glucose monitoring device of FIG. 1 in more detail. [Figure 3] 1 depicts an example implementation in which glucose monitoring device data, including glucose measurements, is routed to different systems in relation to glucose predictions. [Figure 4] 10 depicts in more detail an exemplary implementation of the prediction system of FIG. 3 in which future glucose measurements are predicted using machine learning. [Figure 5] 1 depicts an exemplary implementation in which a machine learning model predicts future glucose measurements with iterative predictions. [Figure 6] 1 depicts an exemplary visualization of observed and predicted glucose traces. [Figure 7] 10 depicts an exemplary visualization of additional predicted glucose traces. [Figure 8] An exemplary implementation of the prediction system of FIG. 3 that trains a machine learning model to predict future glucose measurements will now be described in more detail. [Figure 9] 1 depicts an exemplary visualization of a glucose trace with predicted glucose measurements and confidence in the prediction. [Figure 10] 1 depicts an example implementation of a user interface displayed to notify a user based on a prediction of upcoming glucose readings. [Figure 11] 1 depicts a procedure of an exemplary implementation in which a nonlinear machine learning model predicts future glucose measurements based on time-series glucose measurements. [Figure 12] 1 depicts a procedure in an exemplary implementation in which a nonlinear machine learning model iteratively predicts future glucose measurements until a time interval of measurements is predicted. [Figure 13] The procedure of an exemplary implementation is depicted for training a nonlinear machine learning model to predict future glucose measurements based on historical time series glucose measurements of a user population. [Figure 14] To implement embodiments of the technology described herein, an exemplary system is shown including various components of an exemplary device that may be implemented as any type of computing device described and / or utilized with reference to FIGS. 1-13. DETAILED DESCRIPTION OF THE INVENTION

[0010] [overview] Monitoring a person's glucose levels is useful in determining how to treat diabetes. However, knowing what a person's glucose levels will be in the future is even more useful because it allows the person or their caregiver to take action to mitigate potentially harmful health conditions associated with changes in glucose levels (e.g., hyperglycemia or hypoglycemia) before such conditions occur.

[0011] Traditional approaches to glucose prediction may model glucose using linear models, such as using autoregressive linear models. While such linear models may be able to describe time-varying processes, their output is linearly dependent on previous values. This can result in glucose predictions that have a significant time lag compared to the actual observed glucose measurements. In other words, the prediction range of these models may not match a person's actual glucose. Furthermore, linear models may generate inaccurate predictions of future glucose measurements because their linear dependency may not reliably cover the state space underlying glucose measurements over tens of millions of patient hospital days. Simply put, linear models may not be able to explain some of the patterns observed in such historical data. The inconsistency of the prediction range to actual glucose and the inaccurate predictions (or predictions with limited accuracy) may make glucose predictions generated by traditional systems unsuitable for various applications, such as prescribing actions to mitigate dangerously (and rapidly) changing glucose levels.

[0012] To overcome these problems, machine learning and glucose prediction using time-series glucose measurements are utilized. In one or more implementations, a glucose monitoring platform includes a machine learning model trained using historical time-series glucose measurements of a user population to predict future glucose measurements for individual users. The glucose measurements for the user population and individual users may be provided by wearable glucose monitoring devices worn by users of the user population and individual users. By acquiring and maintaining measurements generated by these wearable glucose monitoring devices, the glucose monitoring platform may have a vast amount of data, e.g., measurements from tens of millions of patient hospital days. Traditional linear models may be unable to model some of the patterns observed in this rich historical data.

[0013] In contrast to conventional approaches, the machine learning models described herein may be configured as nonlinear models or as a collection of models including one or more nonlinear models. Such nonlinear machine learning models may include, for example, neural networks (e.g., recurrent neural networks such as long short-term memory (LSTM) networks), state machines, Markov chains, Monte Carlo methods, and particle filters, to name just a few. Such models may be able to capture patterns in state space that cannot be easily modeled using linear methods.

[0014] Once trained, the machine learning model is used to predict a user's future glucose measurements. When predicting a particular user's future glucose measurements, a time series of glucose measurements up to a certain point in time, e.g., glucose measurements for the past 12 hours, is received. This time series glucose measurements is provided by a wearable glucose monitoring device worn by the user. In response to receiving the time series as input, the machine learning model predicts future glucose measurements for a time interval following that point in time, e.g., the next 30 minutes. The machine learning model generates this prediction based on training with historical time series glucose measurements of a user population. The future glucose measurements are then output, such as for generating a notification about the future glucose measurements. This notification can be communicated over a network to one or more computing devices, including a computing device associated with the user (e.g., for output via a glucose monitoring platform application), a computing device associated with a healthcare provider, or a computing device associated with a telehealth service, to name just a few.

[0015] By predicting upcoming glucose measurements and notifying users, healthcare providers, and / or telemedicine services about upcoming glucose measurements, the described machine learning models enable actions to be taken to mitigate potentially harmful health conditions before they occur. Advantageously, the more accurate and timely predictions of upcoming glucose provided by the described machine learning models enable users and various other stakeholders to make better-informed decisions about how to treat diabetes and achieve better outcomes through treatment, thereby significantly avoiding serious damage to the heart, blood vessels, eyes, kidneys, and nerves, as well as death, caused by diabetes.

[0016] Furthermore, for diabetic patients, treatment decisions may be influenced by impending or predicted upcoming glucose measurements. For example, a glucose monitoring platform's decision support service (e.g., via an application, notification, etc.) may use impending or predicted upcoming glucose measurements to notify and assist a user during treatment. For example, such notifications and assistance may respond to the detection of impending or possible events predicted to occur when a patient is unable to self-monitor glucose, for example, while the patient is asleep. While notifications such as short-term predictive alerts and threshold alerts may address the need to alert a patient to impending events, conventional prediction techniques are not capable of accurately predicting glucose measurements over time horizons beyond the current time, e.g., on a scale of several hours or more. Therefore, conventional techniques are not suitable for accurately predicting whether a patient will experience hypoglycemia at night. The machine learning models described above and below more accurately predict a person's glucose levels for time horizons further into the future than conventional approaches. Therefore, the described machine learning models can be utilized in connection with predicting longer-term glucose outcomes, such as whether a patient will experience hypoglycemia at night.

[0017] The following discussion first describes an example environment in which the techniques described herein may be used. Then, example implementation details and procedures that may be performed in the example environment and other environments are described. Performance of the example procedures is not limited to the example environment, and the example environment is not limited to performance of the example procedures.

[0018] [Example environment] 1 is an illustration of an environment 100 in an example implementation operable to employ glucose prediction using machine learning and time-series glucose measurements, as described herein. The illustrated environment 100 includes a human 102, depicted as wearing a wearable glucose monitoring device 104, an insulin delivery system 106, and a computing device 108. The illustrated environment 100 also includes other users in a user population 110 who wear the wearable glucose monitoring device, a glucose monitoring platform 112, and an Internet of Things (IoT) 114. The wearable glucose monitoring device 104, the insulin delivery system 106, the computing device 108, the user population 110, the glucose monitoring platform 112, and the IoT 114 are communicatively coupled via a network 116.

[0019] Alternatively or additionally, one or more of the wearable glucose monitoring device 104, the insulin delivery system 106, and the computing device 108 may be communicatively coupled in other manners, such as using one or more wireless communication protocols or techniques. By way of example, the wearable glucose monitoring device 104, the insulin delivery system 106, and the computing device 108 may communicate with each other using one or more of Bluetooth (e.g., a Bluetooth Low Energy link), near-field communication (NFC), 5G, etc. The wearable glucose monitoring device 104, the insulin delivery system 106, and the computing device 108 may leverage these types of communications to form a closed-loop system between each other. In this manner, the insulin delivery system 106 may deliver insulin based on a series of glucose measurements in real time as the glucose measurements are obtained by the wearable glucose monitoring device 104 and as future glucose measurements are predicted.

[0020] In accordance with the described techniques, the wearable glucose monitoring device 104 is configured to monitor the glucose of the human 102, for example, continuously. In one or more implementations, the wearable glucose monitoring device 104 is a continuous glucose monitoring (CGM) system. As used herein, the term “continuous,” when used in connection with glucose monitoring, refers to the device's ability to generate measurements substantially continuously, such that the device may be configured to generate glucose measurements 118 at time intervals (e.g., every hour, every 30 minutes, every 5 minutes, etc.), in response to establishing a communication coupling with a different device (e.g., when a computing device establishes a wireless connection with the wearable glucose monitoring device 104 to retrieve one or more of the measurements), etc. The wearable glucose monitoring device 104 may be configured with, for example, a glucose sensor that continuously detects an analyte indicative of glucose in the human 102 and enables the generation of glucose measurements. In the illustrated environment 100, these measurements are represented as glucose measurements 118. This functionality, along with further aspects of the configuration of the wearable glucose monitoring device 104, are discussed in more detail in connection with FIG.

[0021] In one or more implementations, the wearable glucose monitoring device 104 transmits glucose measurements 118 to the computing device 108, such as via a wireless connection. The wearable glucose monitoring device 104 may communicate these measurements in real time, for example, as these measurements are generated using a glucose sensor. Alternatively or additionally, the wearable glucose monitoring device 104 may communicate the glucose measurements 118 to the computing device 108 at set time intervals, for example, every 30 seconds, every minute, every 5 minutes, every hour, every 6 hours, daily, etc. Furthermore, the wearable glucose monitoring device 104 may communicate these measurements in response to a request from the computing device 108, which is communicated to the wearable glucose monitoring device 104, for example, when the computing device 108 predicts the human being's 102's upcoming glucose level, causes the display of a user interface with information regarding the human being's 102's glucose level, updates such display, etc. Thus, the computing device 108 may at least temporarily maintain the glucose measurements 118 of the person 102 , for example, in a computer-readable storage medium of the computing device 108 .

[0022] Although illustrated as a wearable device (e.g., a smart watch), computing device 108 may be configured in a variety of ways without departing from the spirit or scope of the described techniques. By way of example and not limitation, computing device 108 may be configured as a different type of mobile device (e.g., a mobile phone or a tablet device). In one or more implementations, computing device 108 may be configured as a dedicated device associated with glucose monitoring platform 112, having the functionality to, for example, obtain glucose readings 118 from wearable glucose monitoring device 104, perform various calculations related to glucose readings 118, display information related to glucose readings 118 and glucose monitoring platform 112, communicate glucose readings 118 to glucose monitoring platform 112, etc. However, in contrast to implementations in which computing device 108 is configured as a mobile phone, computing device 108 may not include some functionality available in a mobile phone or wearable configuration when configured as a dedicated glucose monitoring device, such as the ability to make phone calls, camera functionality, the ability to utilize social networking applications, etc.

[0023] Additionally, computing device 108 may represent more than one device in accordance with the described techniques. In one or more scenarios, for example, computing device 108 may correspond to both a wearable device (e.g., a smart watch) and a mobile phone. In such a scenario, both of these devices may be capable of performing at least some of the same operations, such as receiving glucose readings 118 from wearable glucose monitoring device 104, communicating them over network 116 to glucose monitoring platform 112, and displaying information related to glucose readings 118. Alternatively or additionally, different devices may have different capabilities that other devices do not have or that are limited through computing instructions to the particular device.

[0024] In a scenario in which the computing device 108 corresponds to a separate smartwatch and a mobile phone, for example, the smartwatch may be configured with various sensors and functionality to measure various physiological markers (e.g., heart rate, respiration, blood velocity, etc.) and the activity (e.g., steps) of the human 102. In this scenario, the mobile phone may not be configured with these sensors and functionality or may include a limited amount of it, while in other scenarios, the mobile phone may be able to provide the same functionality. Continuing with this particular scenario, the mobile phone may have capabilities that the smartwatch does not have, such as a camera for capturing images of meals used to predict future glucose levels, or an amount of computing resources (e.g., battery and processing speed) that allows the mobile phone to more efficiently perform calculations related to glucose measurements 118. Even in scenarios in which the smartwatch is capable of performing such calculations, the computing instructions may limit the performance of those calculations for the mobile phone in order not to burden both devices and to efficiently utilize available resources. To this extent, the computing device 108 may be configured differently and represent a different number of devices than those discussed herein without departing from the spirit and scope of the described techniques.

[0025] As noted above, computing device 108 communicates glucose measurements 118 to glucose monitoring platform 112. In the illustrated environment 100, glucose measurements 118 are shown stored in storage device 120 of glucose monitoring platform 112. Storage device 120 may represent one or more databases and other types of storage capable of storing glucose measurements 118. Storage device 120 also stores a variety of other data. In accordance with the described techniques, for example, human 102 corresponds to at least a user of glucose monitoring platform 112 and may also be a user of one or more other third-party service providers. To this end, human 102 is associated with a username and, at some point, may be required to provide authentication information (e.g., a password, biometric data, telehealth services, etc.) to access glucose monitoring platform 112 using the username. This information may be maintained in storage device 120 along with various other information about the user, including, for example, demographic information describing human 102, information about healthcare providers, payment information, prescription information, determined health indicators, user preferences, account information for other service provider systems (e.g., service providers associated with wearables, social networking systems, etc.), etc.

[0026] Storage device 120 also maintains data for other users in user population 110. With this in mind, glucose measurements 118 in storage device 120 include glucose measurements from the glucose sensors of wearable glucose monitoring devices 104 worn by person 102 and also include glucose measurements from glucose sensors of wearable glucose monitoring devices worn by people corresponding to other users in user population 110. This also results in these other users' glucose measurements 118 being communicated by their respective devices to glucose monitoring platform 112 via network 116, and these other users having their own user profiles with glucose monitoring platform 112.

[0027] The data analytics platform 122 represents functionality for processing the glucose measurements 118, alone and / or with other data maintained on the storage device 120, to generate various predictions, such as by using various machine learning models. Based on these predictions, the glucose monitoring platform 112 may provide notifications regarding the predictions, such as alerts, recommendations, or other information based on the predictions. For example, the glucose monitoring platform 112 may provide notifications to the user, to a medical professional associated with the user, or the like. Although depicted separately from the computing device 108, portions or the entire data analytics platform 122 may alternatively or additionally be implemented on the computing device 108. The data analytics platform 122 may also use additional data obtained via the IoT 114 to generate these predictions.

[0028] It should be understood that IoT 114 represents various sources that can provide data describing human 102 and his / her activities in the real world as a user of one or more service providers. By way of example, IoT 114 may include a user's various devices, such as, for example, a camera, a mobile phone, a laptop, etc. To this end, IoT 114 may provide information about the user's interactions with various devices, such as interactions with web-based applications, photographs taken, communications with other users, etc. IoT 114 may also include various real-world objects (e.g., shoes, clothing, sporting equipment, appliances, automobiles, etc.) that are configured with sensors that provide information describing behavior, such as, for example, the number of steps taken, foot force on the ground, stride length, the user's body temperature (and other physiological measurements), the temperature surrounding the user, the types of food stored in the refrigerator, the types of food removed from the refrigerator, driving habits, etc. The IoT 114 may also include third parties to the glucose monitoring platform 112, such as healthcare providers (e.g., healthcare providers of the human 102) and manufacturers (e.g., manufacturers of the wearable glucose monitoring device 104, insulin delivery system 106, or computing device 108) that can provide medical and manufacturing data that can be leveraged by the data analytics platform 122. Indeed, the IoT 114 may include devices and sensors that are capable of using machine learning and time-series glucose measurements to provide rich data for use in connection with glucose prediction without departing from the spirit or scope of the described techniques. Consider the following discussion of FIG. 2 in the context of measuring glucose, e.g., continuously, and obtaining data describing such measurements.

[0029] Figure 2 depicts in more detail an example implementation 200 of the wearable glucose monitoring device 104 of Figure 1. In particular, the illustrated example 200 includes a top view and a corresponding side view of the wearable glucose monitoring device 104.

[0030] The wearable glucose monitoring device 104 is shown to include a sensor 202 and a sensor module 204. In the illustrated example 200, the sensor 202 is depicted in a side view, e.g., subcutaneously inserted into the skin 206 of the person 102. The sensor module 204 is depicted as a dashed rectangle in a top view. The wearable glucose monitoring device 104 also includes a transmitter 208 in the illustrated example 200. The dashed rectangle is used for the sensor module 204 to indicate that it may be contained within or otherwise implemented within the housing of the transmitter 208. In this example 200, the wearable glucose monitoring device 104 further includes an adhesive pad 210 and an attachment mechanism 212.

[0031] In operation, the sensor 202, adhesive pad 210, and attachment mechanism 212 may be assembled to form an application assembly configured to be applied to the skin 206 such that the sensor 202 is inserted subcutaneously, as depicted. In such a scenario, the transmitter 208 may be attached to the assembly after it has been applied to the skin 206 via the attachment mechanism 212. Additionally or alternatively, the transmitter 208 may be incorporated as part of the application assembly, allowing the sensor 202, adhesive pad 210, attachment mechanism 212, and transmitter 208 (with sensor module 204) to be applied to the skin 206 all at once. In one or more implementations, the application assembly is applied to the skin 206 using a separate applicator (not shown). The application assembly may also be removed by peeling the adhesive pad 210 from the skin 206. It will be understood that the illustrated wearable glucose monitoring device 104 and its various components are merely one example form factor, and that the wearable glucose monitoring device 104 and its components may have different form factors without departing from the spirit or scope of the described techniques.

[0032] In operation, the sensor 202 is communicatively coupled to the sensor module 204 via at least one communication channel, which may be a "wireless" connection or a "wired" connection. Communications from the sensor 202 to the sensor module 204 or from the sensor module 204 to the sensor 202 may be implemented actively or passively, and these communications may be continuous (e.g., analog) or discrete (e.g., digital).

[0033] The sensor 202 may be a device, molecule, and / or chemical that changes or causes a change in response to an event that is at least partially independent of the sensor 202. The sensor module 204 is implemented to receive an indication of a change to or caused by the sensor 202. For example, the sensor 202 may include glucose oxidase that reacts with glucose and oxygen to form hydrogen peroxide that is electrochemically detectable by the sensor module 204, which may include electrodes. In this example, the sensor 202 may be configured as or include a glucose sensor configured to detect an analyte in blood or interstitial fluid indicative of glucose levels using one or more measurement techniques.

[0034] In another example, the sensor 202 (or an additional sensor of the wearable glucose monitoring device 104, not shown) can include first and second electrical conductors, and the sensor module 204 can electrically detect changes in electrical potential between the first and second electrical conductors of the sensor 202. In this example, the sensor module 204 and the sensor 202 are configured as a thermocouple, such that changes in electrical potential correspond to changes in temperature. In some examples, the sensor module 204 and the sensor 202 are configured to detect a single analyte, e.g., glucose. In other examples, the sensor module 204 and the sensor 202 are configured to detect multiple analytes, e.g., sodium, potassium, carbon dioxide, and glucose. Alternatively or additionally, the wearable glucose monitoring device 104 includes multiple sensors for detecting not only one or more analytes (e.g., sodium, potassium, carbon dioxide, glucose, and insulin) but also one or more environmental conditions (e.g., temperature). Thus, the sensor module 204 and the sensor 202 (and any additional sensors) may detect the presence of one or more analytes, the absence of one or more analytes, and / or changes in one or more environmental conditions.

[0035] In one or more implementations, the sensor module 204 may include a processor and memory (not shown). The sensor module 204 may utilize the processor to generate glucose readings 118 based on communications with the sensor 202 indicating the changes discussed above. Based on these communications from the sensor 202, the sensor module 204 is further configured to generate glucose monitoring device data 214. The glucose monitoring device data 214 is a communicable package of data that includes at least one glucose reading 118. Alternatively or additionally, the glucose monitoring device data 214 includes other data, such as multiple glucose readings 118, a sensor identification 216, a sensor status 218, etc. In one or more implementations, the glucose monitoring device data 214 may include other information, such as one or more of the temperature corresponding to the glucose reading 118 and measurements of other analytes. It should be understood that the glucose monitoring device data 214 may include a variety of data in addition to the at least one glucose reading 118 without departing from the spirit or scope of the described techniques.

[0036] During operation, transmitter 208 may wirelessly transmit glucose monitoring device data 214 to computing device 108 as a stream of data. Alternatively or additionally, sensor module 204 may buffer glucose monitoring device data 214 (e.g., in memory of sensor module 204) and cause transmitter 208 to transmit the buffered glucose monitoring device data 214 at various intervals, such as time intervals (every 1 second, 30 seconds, 1 minute, 5 minutes, 1 hour, etc.), storage intervals (when buffered glucose monitoring device data 214 reaches a threshold amount of data or number of instances of glucose monitoring device data 214), etc.

[0037] In addition to generating and communicating glucose monitoring device data 214 to the computing device 108, the sensor module 204 may include additional functionality in accordance with the described techniques. This additional functionality may include generating a prediction of the person's 102's future glucose levels and communicating a notification based on the prediction, for example, by communicating an alert when the prediction indicates that the person's 102's glucose level is likely to become dangerously low in the near future. This computational capability of the sensor module 204 may be advantageous, particularly when connectivity to services via the network 116 is limited or nonexistent. In this way, the person can be alerted to a dangerous condition without relying on connectivity to the Internet or the like. This additional functionality of the sensor module 204 may also include calibrating the sensor 202, either initially or continuously, as well as any other sensors of the wearable glucose monitoring device 104.

[0038] With respect to glucose monitoring device data 214, sensor identification 216 represents information that uniquely identifies sensor 202 from other sensors, such as other sensors in other wearable glucose monitoring systems 104, other sensors previously or subsequently implanted in skin 206, etc. By uniquely identifying sensor 202, sensor identification 216 may also be used to identify other aspects of sensor 202, such as the manufacturing lot of sensor 202, packaging details for sensor 202, shipping details for sensor 202, etc. In this manner, various problems detected with sensors manufactured, packaged, and / or shipped in a similar manner to sensor 202 may be identified and used in different ways, for example, to calibrate glucose readings 118, notify users to change or discard defective sensors, notify manufacturing facilities of machining issues, etc.

[0039] The sensor status 218 represents the state of the sensor 202 at a given time, for example, the state of the sensor at the same time that one of the glucose readings 118 is generated. To this end, the sensor status 218 may include an entry for each glucose reading 118, such that there is a one-to-one relationship between the glucose reading 118 and the status captured in the sensor status 218 information. Generally speaking, the sensor status 218 describes the operational state of the sensor 202. In one or more implementations, the sensor module 204 may identify one of several pre-defined operational states for a given glucose reading 118. The identified operational state may be based on communications from the sensor 202 and / or characteristics of those communications.

[0040] By way of example, the sensor module 204 may include (e.g., in memory or other storage) a lookup table having a predetermined number of operating conditions and a basis for selecting one condition from another. For example, the predetermined condition may include a “normal” operating condition, and the basis for selecting this condition may be that communications from the sensor 202 fall within thresholds indicative of normal operation, such as within an expected time threshold, an expected signal strength threshold, an environmental temperature threshold suitable for continued operation as expected, etc. The predetermined conditions may also include operating conditions that indicate one or more characteristics of the sensor 202 communications are outside the range of normal activity, potentially resulting in a potential error in the glucose reading 118.

[0041] For example, the basis for these non-normal operating conditions may include receiving a communication from the sensor 202 outside of a threshold expected time, detecting a signal strength of the sensor 202 outside of a threshold of expected signal strength, detecting an environmental temperature outside of a suitable temperature for continued operation as expected, detecting that the person 102 has rolled over (e.g., in bed) on the wearable glucose monitoring device 104, etc. The sensor status 218 may indicate a variety of aspects related to the sensor 202 and the wearable glucose monitoring device 104 without departing from the spirit or scope of the described techniques.

[0042] Having considered an exemplary environment and an exemplary wearable glucose monitoring device, we now turn to a discussion of some exemplary details of techniques for glucose prediction using machine learning and time-series glucose measurements in a digital media environment according to one or more implementation aspects.

[0043] [Glucose prediction] FIG. 3 depicts an example implementation 300 in which glucose monitoring device data, including glucose measurements, is routed to different systems in conjunction with glucose prediction.

[0044] The illustrated example 300 includes the example glucose monitoring device 104 and computing device 108 from FIG. 1. The illustrated example 300 also includes a data analysis platform 122 and a storage device 120, which store glucose measurements 118, as discussed above. In this example 300, the wearable glucose monitoring device 104 is depicted as transmitting glucose monitoring device data 214 to the computing device 108. As discussed above in connection with FIG. 2, the glucose monitoring device data 214 includes the glucose measurements 118, among other data. The glucose monitoring device 104 may transmit the glucose monitoring device data 214 to the computing device 108 in a variety of ways.

[0045] The depicted example 300 also includes a data package 302. The data package 302 may include glucose monitoring device data 214 (e.g., glucose readings 118, sensor identification 216, and sensor status 218) and supplemental data 304, or portions thereof. In this example 300, the data package 302 is depicted as being routed from the computing device 108 to the storage device 120 of the glucose monitoring platform 112. Broadly speaking, the computing device 108 includes functionality for generating the supplemental data 304 based at least in part on the glucose monitoring device data 214. The computing device 108 also includes functionality for packaging the supplemental data 304 with the glucose monitoring device data 214 to form the data package 302 and communicating the data package 302 to the glucose monitoring platform 112, e.g., via the network 116, for storage on the storage device 120. It will therefore be understood that the data package 302 may include data collected by the wearable glucose monitoring device 104 (e.g., glucose measurements 118 sensed by the sensor 202) and supplemental data 304 generated by a computing device 108 that acts as an intermediary between the wearable glucose monitoring device 104 and the glucose monitoring platform 112, such as the user's mobile phone or smartwatch.

[0046] With respect to supplemental data 304, computing device 108 may generate various supplemental data to supplement the glucose monitoring device data 214 included in data package 302. According to the described techniques, supplemental data 304 may describe one or more aspects of a user's context such that a correspondence between the user's context and glucose monitoring device data 214 (e.g., glucose measurements 118) can be identified. By way of example, supplemental data 304 may describe a user's interactions with computing device 108 and may include, for example, data extracted from application logs describing particular application interactions (e.g., selections made, actions performed). Supplemental data 304 may also include clickstream data describing clicks, taps, and presses performed in connection with the input / output interface of computing device 108. As another example, the supplemental data 304 may include gaze data describing where the user is looking (e.g., with respect to a display device associated with the computing device 108 or when the user is looking away from the device), voice data describing the user's or other users' audible commands and other spoken phrases (e.g., including passively listening to the user), device data describing the device (e.g., make, model, operating system and version, camera type, apps the computing device 108 is running), etc.

[0047] The supplemental data 304 may also describe other aspects of the user's context, such as the user's location, the temperature at that location (e.g., outdoors, proximate to the user using temperature-sensing functionality), the weather at that location, the user's altitude, barometric pressure, contextual information obtained related to the user via the IoT 114 (e.g., the food the user is eating, the manner in which the user is using sports equipment, the clothing the user is wearing), and other environmental aspects. The supplemental data 304 may also describe health-related aspects detected about the user, including, for example, step count, heart rate, sweat, the user's temperature (e.g., detected by the computing device 108), and the like. To the extent that the computing device 108 may include functionality to detect or otherwise measure some of the same aspects as the wearable glucose monitoring device 104, data from these two sources may be compared, for example, for accuracy, fault detection, and the like. The types of supplemental data 304 discussed above are merely examples, and the supplemental data 304 may include more, fewer, or different types of data without departing from the spirit or scope of the technology described herein.

[0048] Regardless of how reliably the supplemental data 304 describes the user's context, the computing device 108 may communicate the data packages 302 including the glucose monitoring device data 214 and the supplemental data 304 to the glucose monitoring platform 112 for processing at various intervals. In one or more implementations, the computing device 108 may stream the data packages 302 to the glucose monitoring platform 112 in substantially real time, for example, because the wearable glucose monitoring device 104 continuously provides the glucose monitoring device data 214 to the computing device 108. The computing device 108 may alternatively or additionally communicate one or more of the data packages 302 to the glucose monitoring platform 112 at predetermined intervals, for example, every second, every 30 seconds, every hour, etc.

[0049] Although not depicted in the illustrated example 300, the glucose monitoring platform 112 may process these data packages 302 and store at least some of the glucose monitoring device data 214 and supplemental data 304 in the storage device 120. From the storage device 120, this data may be provided to or otherwise accessed by the data analysis platform 122, for example, to predict future glucose levels, as described in more detail below.

[0050] In one or more implementations, the data analytics platform 122 can also incorporate data from a third party 306 (e.g., a third-party service provider) for use in connection with generating predictions of future glucose levels. By way of example, the third party 306 may generate its own additional data, such as through devices, e.g., wearable devices, that it manufactures and / or deploys. The illustrated example 300 is shown communicated to the data analytics platform 122 from the third party 306 and includes third-party data 308 that represents this additional data generated by or otherwise communicated from the third party 306.

[0051] As mentioned above, the third party 306 may manufacture and / or deploy the associated device. Additionally or alternatively, the third party 306 may obtain data through other sources, such as a corresponding application. Thus, this data may include user-entered data entered through a corresponding third-party application, e.g., a social networking application, a lifestyle application, etc. With this in mind, the data generated by the third party 306 may be organized in a variety of ways, including a dedicated data structure, a text file, an image captured via the user's mobile device, a format representing text entered into an open field or dialog box, a format representing option selections, etc.

[0052] The third-party data 308 may describe various aspects related to one or more services provided by a third party without departing from the spirit or scope of the described techniques. The third-party data 308 may include, for example, application interaction data describing a user's use or interaction with a particular application provided by the third party 306. Generally, the application interaction data enables the data analytics platform 122 to determine the use or amount of use of a particular application by users of the user population 110. Such data may include, for example, data extracted from application logs describing a user's interaction with a particular application, clickstream data describing clicks, taps, and presses performed in connection with an application's input / output interface, etc. Thus, in one or more implementations, the data analytics platform 122 may receive third-party data 308 generated or otherwise obtained by the third party 306.

[0053] The data analytics platform 122 is shown comprising a prediction system 310. In accordance with the described system, the prediction system 310 is configured to generate predictions 312 based on glucose measurements 118. Specifically, the prediction system 310 is configured to generate predictions 312 of glucose measurements over a future time interval, such as a glucose trace for the future time interval. As discussed in more detail below, these predictions 312 are based on a time series of glucose measurements, e.g., glucose measurements 118 ordered according to timestamps to form a glucose trace. In one or more implementations, for example, the prediction system 310 generates predictions 312 based on both the glucose measurements 118 and additional data, which may include, in addition to the glucose measurements 118, one or more portions of glucose monitoring device data 214, supplemental data 304, third-party data 308, data from the IoT 114, etc. As discussed below, the prediction system 310 may generate such predictions 312 by using one or more machine learning models. These models may be trained or otherwise constructed using glucose measurements 118 and additional data obtained from the user population 110 .

[0054] Based on the generated prediction 312, the data analytics platform 122 may generate a notification 314. In a scenario in which the prediction system 310 is implemented at least in part on the computing device 108, an application of the glucose monitoring platform 112 on the computing device may generate the notification 314 based on the generated prediction 312. The notification 314 may, for example, alert the user to an upcoming adverse health condition, such as that the user is likely to experience a glucose abnormality (i.e., hyperglycemia or hypoglycemia) without mitigating behavior (e.g., eating, taking insulin, exercising, etc.). The notification 314 may also provide assistance in determining how to treat diabetes by, for example, recommending the user to take an action (e.g., download an application to the computing device 108, immediately go to the hospital, administer insulin, go for a walk, consume a particular food or beverage), continue a behavior (e.g., continue eating in a particular way or exercising in a particular way), change a behavior (e.g., change eating or exercise habits), etc.

[0055] In such a scenario, a communication interface (not shown) of the data analysis platform 122 communicates the prediction 312 and / or notification 314 for output via the computing device 108, e.g., via an application on the glucose monitoring platform 112. The communication interface may be configured with a variety of communication couplings (wired and / or wireless) capable of communicating data over a network. The communication interface may also be implemented using a variety of software, firmware, and hardware to effect the transmission and reception of such data. It should be understood that either or both of the prediction 312 and notification 314 may be communicated to the computing device 108. Additionally or alternatively, the prediction 312 and / or notification 314 may be routed to a decision support platform and / or a validation platform, for example, before the prediction 312 and / or notification 314 are permitted to be delivered to the computing device 108. In the context of generating one or more predictions, consider the following discussion of FIG. 4.

[0056] FIG. 4 depicts in more detail an example implementation 400 of the prediction system 310 of FIG. 3 in which future glucose measurements are predicted using machine learning.

[0057] In the depicted example 400, the prediction system 310 is shown retrieving glucose measurements 118 and timestamps 402, for example, from the storage device 120. Here, the glucose measurements 118 may correspond to the person 102. Furthermore, each of the glucose measurements 118 corresponds to one of the timestamps 402. In other words, there may be a one-to-one relationship between the glucose measurements 118 and the timestamps 402, such that there is a corresponding timestamp 402 for each individual glucose measurement 118. In one or more implementations, the glucose monitoring device data 214 may include the glucose measurements 118 and the corresponding timestamps 402. Thus, the corresponding timestamps 402 may be associated with the glucose measurements 118 at the wearable glucose monitoring device 104 level, for example, in connection with generating the glucose measurements 118. Each of the glucose measurements 118 has a corresponding timestamp 402, regardless of how the timestamps 402 are associated with the glucose measurements 118 or which device associates the timestamps 402 with the glucose measurements 118.

[0058] In this example 400, the prediction system 310 is depicted as including a sequencing manager 404 and a machine learning model 406 configured to generate predicted future glucose readings 408 based on the glucose readings 118 and timestamps 402. While the prediction system 310 is depicted as including these two components, it should be understood that the prediction system 310 may have more, fewer, and / or different components for generating predicted future glucose readings 408 based on the glucose readings 118 and timestamps 402 without departing from the spirit or scope of the described technology.

[0059] Generally speaking, the ordering manager 404 is configured to generate a time-series of glucose measurements 410 based on the glucose measurements 118 and the timestamps 402. While the glucose measurements 118 may generally be received sequentially by the glucose monitoring platform 112, for example, from the wearable glucose monitoring device 104 and / or the computing device 108, in some cases, one or more of the glucose measurements 118 may not be received in the same order as the glucose measurements 118 were generated. For example, packets having glucose measurements 118 may be received out of order. Thus, the order of reception may not chronologically match the order in which the glucose measurements 118 were generated by the wearable glucose monitoring device 104. Additionally or alternatively, communications including one or more of the glucose measurements 118 may be corrupted. Indeed, there may be a variety of reasons why the glucose measurements 118 obtained by the prediction system 310 may not be perfectly chronologically ordered.

[0060] To generate the time-series glucose measurements 410, the sequencing manager 404 determines a chronological sequence of the glucose measurements 118 according to their respective timestamps 402. Due to corruption and communication errors, the glucose measurements 118 obtained by the prediction system 310 may not only be out of chronological order, but may also be missing one or more measurements, presenting gaps in the chronological sequence where one or more measurements are expected. In these instances, the sequencing manager 404 interpolates the missing glucose measurements and incorporates them into the chronological sequence.

[0061] Sequencing manager 404 outputs the time-ordered sequence of glucose measurements 118 as time-series glucose measurements 410. Time-series glucose measurements 410 may be configured as or otherwise referred to as "glucose traces." In contrast to predicted future glucose measurements 408, time-series glucose measurements 410 are traces of glucose measurements observed by a wearable glucose monitoring device, such as wearable glucose monitoring device 104 worn by human 102. Glucose measurements observed in this manner contrast with glucose measurements predicted by, for example, machine learning model 406.

[0062] For example, the time series glucose measurements 410 may be a trace of glucose measurements 118 observed for the human 102 over the past 12 hours from the time the prediction begins. In contrast, the predicted future glucose measurements 408 may be configured as an additional trace of glucose measurements extending from the time the prediction begins to a time point 30 minutes into the future. It should be understood that the time series glucose measurements 410 and the predicted future glucose measurements 408 may correspond to different time intervals other than 12 hours and 30 minutes, respectively, without departing from the spirit or scope of the described techniques.

[0063] In accordance with the described techniques, the time-series glucose measurements 410 are provided as input to a machine learning model 406. In response to receiving the time-series glucose measurements 410 as input, the machine learning model 406 is configured to generate and output predicted future glucose measurements 408. Although the machine learning model 406 is generally described as generating the predicted future glucose measurements 408 from an input of the time-series glucose measurements 410, in one or more implementations, the machine learning model 406 may receive additional inputs to generate the predicted future glucose measurements 408. By way of example, the machine learning model 406 may receive as input a patient-specific (e.g., specific to the human 102) correction factor along with the time-series glucose measurements 410. The prediction system 310 may determine patient-specific correction factors for the human 102 based on historical glucose measurements 118 of the human 102, device data for the wearable glucose monitoring device 104 and other previously worn glucose monitoring devices, interaction data describing the human 102's interactions with the wearable glucose monitoring device 104 and applications of the glucose monitoring platform 112, and the health state (or status) of the human 102's wearable glucose monitoring device 104, to name just a few. The machine learning model 406 may receive other data as input without departing from the spirit or scope of the described techniques.

[0064] Regardless of the particular data received as input, the machine learning model 406 is trained to output predicted future glucose measurements 408. By way of example, the machine learning model 406 may be trained, or an underlying model may be learned, based on one or more training approaches and using historical time-series glucose measurements, such as time-series glucose measurements generated from the glucose measurements 118 of the user population 110. Such training may utilize large amounts of training data generated from the glucose measurements 118 of the user population 110, such as by forming training data including vectors of individual glucose measurements 118 of users over a certain time interval (e.g., hour, day, or week) from the user population 110 data maintained in the storage device 120. This data may be used, in part, to test and validate the machine learning model 406. Training of the machine learning model 406 is discussed in more detail with respect to FIG. 8.

[0065] In contrast to traditional glucose prediction approaches, the machine learning model 406 is configured as a nonlinear model. Traditional approaches to glucose prediction may model glucose using a linear model, such as an autoregressive linear model. While such linear models may be able to describe a time-varying process, the model output is linearly dependent on previous values. This may result in glucose predictions that have a significant time delay compared to the actual observed glucose measurements.

[0066] As an example, a conventionally configured linear model may output a forecast intended to represent a person's glucose readings 30 minutes into the future from the current time. However, the person's observed glucose may correspond to a predicted reading only 5 minutes into the future. To this end, the conventionally configured linear model's prediction is delayed by 25 minutes, and the conventional model's prediction horizon does not match the person's actual glucose. Furthermore, linear models may produce less accurate predictions of future glucose readings than the nonlinear models described herein. This is because linear models may not be able to account for some patterns observed in historical data that can be captured using nonlinear approaches. The mismatch of prediction horizons to actual glucose and the inaccurate predictions may make glucose forecasts generated by conventional systems unsuitable for various applications, such as prescribing actions to mitigate dangerously (and rapidly) changing glucose levels.

[0067] Alternatively, the machine learning model 406 may be configured as a nonlinear model or as a collection of models including one or more nonlinear models. The machine learning model 406 may be configured as a generative model, which estimates a series of glucose measurements, e.g., several hours into the future. Nonlinear and generative machine learning models may include, for example, neural networks (e.g., recurrent neural networks such as long short-term memory (LSTM) networks), state machines, Markov chains (e.g., hidden Markov models), Monte Carlo methods, and particle filters, to name just a few. Generally speaking, these types of models may be configured to learn patterns in data corresponding to long-term trends, allowing for learning the dynamics of glucose measurements through sequence recognition. It should be understood that the machine learning model 406 may be configured as or otherwise include one or more different types of nonlinear machine learning models without departing from the spirit or scope of the described techniques. As an example of a nonlinear machine learning model, consider FIG. 5.

[0068] FIG. 5 depicts an example implementation 500 in which a machine learning model predicts future glucose measurements with iterative prediction.

[0069] The illustrated example 500 includes a time series of glucose measurements 410 and predicted future glucose measurements 408, where the time series of glucose measurements 410 and the predicted future glucose measurements 408 are depicted as inputs to and outputs from steps of a machine learning model 406, respectively. In particular, the illustrated example 500 includes multiple steps 406(1)-(5) of the machine learning model, which may represent a scenario in which the machine learning model 406 is configured as a recurrent neural network, such as an LSTM network. For example, in a scenario in which the machine learning model 406 is configured as an LSTM network, the steps 406(1)-(5) of the machine learning model represent recurring modules of the network.

[0070] The illustrated example 500 also includes glucose traces 502-510, including a first glucose trace 502, a second glucose trace 504, a third glucose trace 506, an (n-1)th glucose trace 508, and an nth glucose trace 510, as well as visualizations of those glucose traces and a visualization of the time series glucose measurements 410. The time series glucose measurements 410 and the visualization of the glucose traces 502-510 are depicted in more detail in Figures 6 and 7. A discussion of the illustrated example 500 refers to details of the visualizations depicted in Figures 6 and 7.

[0071] 6 depicts an exemplary visualization 600 of observed and predicted glucose traces, including visualizations of time-series glucose measurements 410, a first glucose trace 502, and a second glucose trace 504. FIG. 7 depicts an exemplary visualization 700 of predicted glucose traces, including visualizations of a third glucose trace 506, an (n-1)th glucose trace 508, and an nth glucose trace 510.

[0072] The illustrated example 500 shows step 406(1) of a machine learning model receiving as input time-series glucose measurements 410. Referring to exemplary visualization 600, the visualization of time-series glucose measurements 410 includes a number of points representing observed glucose measurements and positioned within input window 602, which indicates that the glucose measurements represented by the points are input to step (1) of the machine learning model 406.

[0073] In the illustrated examples 600, 700, each visualization includes an input window 602. Broadly speaking, the input window identifies which glucose measurements are predicted and which measurements are used as input to the next step. In these examples 600, 700, for example, glucose measurements within the input window 602 are input to a step of the machine learning model 406. In one or more implementations, glucose measurements not within the input window 602 are not used as input to the next step. For example, the crossed point 604 of the first glucose trace 502 may not be input to step 406(2) of the machine learning model.

[0074] While the size of the input window 602 is depicted as remaining the same across the example visualizations 600, 700, this represents that the same amount of time of time-series glucose measurements is input to the machine learning model 406 at each step (e.g., 12 hours' worth of measurements), it should be understood that in one or more implementations, the input window 602 may not remain the same size. Instead, the input window may expand at each step to add an amount of time corresponding to the time step of the prediction of the step. For example, if the time-series glucose measurements 410 correspond to 12 hours' worth of data and the machine learning model 406 predicts 5 minutes' worth of glucose measurements at each step, the first glucose trace 502 corresponds to 12 hours and 5 minutes' worth of data, and this 12 hours and 5 minutes' worth of data is input to the machine learning model in the second step. Continuing with this example, such input may produce the second glucose trace 504 as 12 hours and 10 minutes' worth of data.

[0075] Notwithstanding this and similar approaches in various implementations, the following discussion describes implementations in which the input window 602 remains the same size (e.g., with respect to the amount of time duration of the time-series glucose measurements). Also, it should be understood that while the size of the input window 602 may remain the same across different steps, different implementations may utilize input windows of different sizes, i.e., different amounts of time, than those discussed below. In one or more implementations, the input window 602 may correspond to 12 hours of glucose measurements, e.g., the time-series glucose measurements 410 may correspond to 12 hours of glucose measurements 118 going back from the point at which the generation of the expected future glucose measurements 408 begins. In other implementations, the input window 602 may have a different size such that the time-series glucose measurements 410 corresponds to, e.g., the last day's worth of glucose measurements, the last two days' worth of glucose measurements, the last six hours' worth of glucose measurements, or the last hour's worth of measurements, just to name a few.

[0076] We now turn to a step-by-step discussion of the illustrated example 500. In this example 500, a first step 406(1) of the machine learning model is depicted receiving a time-series glucose measurement 410 as input. The first step 406(1) of the machine learning model is depicted outputting a first glucose trace 502. As depicted in the illustrated example 600, the first glucose trace 502 includes a first time step 606 of glucose measurements. Generally speaking, each step of the machine learning model 406 is configured to predict a time step of glucose measurements given an input window of glucose measurements. Thus, the first step machine learning model 406(1) predicts the first time step 606 of glucose measurements based on model training and one or more patterns in the time-series glucose measurements 410. The first time step 606 of glucose measurements includes predicted glucose measurements for a time step spanning from the start of the prediction to a next time point corresponding to the amount of time in the time step. The first step machine learning model 406(1) may add the first time step 606 of the glucose measurement to the end of the time series glucose measurement 410 and may also remove a glucose measurement, e.g., a time step's worth of glucose measurements, from the beginning of the time series. Alternatively or additionally, the first step machine learning model 406 may simply predict the first time step 606 of the glucose measurement, and additional logic (not shown) may perform the adding and removing. By predicting the first time step 606 of the glucose measurement and performing the adding and removing, the prediction system 310 forms the first glucose trace 502.

[0077] Consider an example of prediction, adding, and deleting where the input window corresponds to 12 hours and the time step corresponds to 5 minutes. Here, a first step 406(1) of the machine learning model generates a first time step 606 of glucose measurements as a 5-minute prediction of future glucose measurements. This 5-minute prediction is appended to the end of the 12-hour glucose measurement time series 410, thereby forming a 12-hour 5-minute trace of glucose measurements. Five minutes of glucose measurements are then deleted from the beginning of this trace to form a first glucose trace 502 as a 12-hour trace of glucose measurements. Thus, the first glucose trace 502 includes both observed and predicted glucose measurements. The first glucose trace 502 is then input to a second step 406(2) of the machine learning model.

[0078] In this example 500, the second step 406(2) of the machine learning model depicts outputting a second glucose trace 504. As depicted in the illustrated example 600, the second glucose trace 504 includes a first time step 606 of glucose measurements and a second time step 608 of glucose measurements. Here, the second step 406(2) of the machine learning model predicts the second time step 608 of glucose measurements based on training the model and one or more patterns in the first glucose trace 502. The second time step 608 of glucose measurements includes predicted glucose measurements for a time step from a point in time corresponding to one time step in time to a next point in time corresponding to two time steps in time, e.g., a glucose measurement 5-10 minutes in the future.

[0079] Similar to the previous step, the second step 406(2) of the machine learning model may add a second time step of glucose measurements 608 to the end of the first glucose trace 502 and may also remove glucose measurements, e.g., time steps worth of glucose measurements, from the beginning of the trace. Alternatively or additionally, the adding logic (not shown) described above may perform the adding and removing. By predicting the second time step 608 of glucose measurements and performing the adding and removing, the prediction system 310 forms a second glucose trace 504. The second glucose trace 504 is then input to the third step 406(3) of the machine learning model.

[0080] In this example 500, the third step 406(3) of the machine learning model depicts outputting a third glucose trace 506. As depicted in the illustrated example 700, the third glucose trace 506 includes a first time step 606 of glucose measurements, a second time step 608 of glucose measurements, and a third time step 702 of glucose measurements. Here, the third step 406(3) of the machine learning model predicts the third time step 702 of glucose measurements based on training the model and one or more patterns in the second glucose trace 504. The third time step 702 of glucose measurements includes predicted glucose measurements for a time step from a time point corresponding to two time steps in time to a next time point corresponding to three time steps in time, e.g., a glucose measurement 10-15 minutes in the future.

[0081] Similar to the previous time step, the third step 406(3) of the machine learning model may add a third time step 702 of glucose measurements to the end of the second glucose trace 504 and may also remove glucose measurements, e.g., time steps worth of glucose measurements, from the beginning of the trace. Alternatively or additionally, the adding logic (not shown) described above may perform the adding and removing. By predicting the third time step 702 of glucose measurements and performing the adding and removing, the prediction system 310 forms a third glucose trace 506. The third glucose trace 506 is then input to the next step of the machine learning model 406.

[0082] The illustrated example 500 includes an oval indicating that there may be one or more steps between the third step 406(3) of the machine learning model and the illustrated fourth step 406(4) of the machine learning model. If the machine learning model 406 generates predicted future glucose measurements 408 at 30-minute intervals, with the time step of the prediction at each step being 5 minutes, there are six steps of the machine learning model 406 (and only one step not shown between the third and fourth steps 406(3),(4) of the machine learning model). However, there may be more steps in one or more implementations, such as 5-minute time steps at 1-hour intervals or 3-minute time steps at 30-minute intervals. It should be understood that there may be more or fewer steps than illustrated in this example 500 without departing from the spirit or scope of the technique.

[0083] In either case, the fourth step 406(4) of the machine learning model receives as input the glucose trace from a previous step of the machine learning model 406. For example, if there are n steps, the fourth step 406(4) of the machine learning model receives as input the (n-2)th glucose trace. Here, the fourth step 406(4) of the machine learning model is depicted as outputting the (n-1)th glucose trace 508. As depicted in the illustrated example 700, the (n-1)th glucose trace 508 includes the first time step 606 of glucose measurements, the second time step 608 of glucose measurements, the third time step 702 of glucose measurements, and the (n-1)th time step 704 of glucose measurements. Here, the fourth step 406(4) of the machine learning model predicts the (n-1)th time step 704 of glucose measurements based on training the model and one or more patterns in the glucose trace from a previous step of the machine learning model 406.

[0084] Although not shown in the exemplary visualization 700, it should be understood that if there are additional steps between the third and fourth steps 406(3),(4) of the machine learning model, then there will also be a corresponding number of additional time steps between the third time step 702 of the glucose measurement and the (n-1)th time step 704 of the glucose measurement. The (n-1)th time step 704 of the glucose measurement includes predicted glucose measurements for a time step from a time point corresponding to (n-2) time steps in time to a next time point corresponding to (n-1) time steps in time, e.g., glucose measurements 20-25 minutes into the future.

[0085] Similar to the previous time step, the fourth step 406(4) of the machine learning model may add the (n-1) time step 704 of glucose measurements to the end of the immediately preceding glucose trace and may also remove glucose measurements, e.g., time steps worth of glucose measurements, from the beginning of the trace. Alternatively or additionally, the above-mentioned adding logic (not shown) may perform the adding and removing. By predicting the (n-1) time step 704 of glucose measurements and performing the adding and removing, the prediction system 310 forms the (n-1) glucose trace 508. The (n-1) glucose trace 508 is then input to the next step of the machine learning model 406, e.g., the illustrated fifth step 406(5) of the machine learning model.

[0086] In this example 500, the fifth step 406(5) of the machine learning model depicts outputting an nth glucose trace 510. As depicted in the illustrated example 700, the nth glucose trace 510 includes a first time step 606 of glucose measurements, a second time step 608 of glucose measurements, a third time step 702 of glucose measurements, an (n-1)th time step 704 of glucose measurements, and an nth time step 706 of glucose measurements. Here, the fifth step 406(5) of the machine learning model predicts the nth time step 706 of glucose measurements based on training the model and one or more patterns in the (n-1)th glucose trace 508. The nth time step 706 of glucose measurements includes predicted glucose measurements for a time step from a time point corresponding to (n-1) time steps in time to a next time point corresponding to n time steps in time, e.g., a glucose measurement 25-30 minutes in the future.

[0087] Similar to the previous time step, the fifth step 406(5) of the machine learning model may add the nth time step 706 of glucose measurements to the end of the (n-1)th glucose trace 508 and may also remove glucose measurements, e.g., time steps worth of glucose measurements, from the beginning of the trace. Alternatively or additionally, the adding and removing may be performed by the adding logic (not shown) described above. By predicting the nth time step of glucose measurements 706 and performing the adding and removing, the prediction system 310 forms the nth glucose trace 510.

[0088] The depicted example 500 includes a dashed line extending from the predicted future glucose measurement 408 and a dashed box around a portion of the nth glucose trace 510. In particular, dashed boxes are shown around the first time step 606 of the glucose measurement, the second time step 608 of the glucose measurement, the third time step 702 of the glucose measurement, the (n-1)th time step 704 of the glucose measurement, and the nth time step 706 of the glucose measurement. This represents that the predicted future glucose measurement 408 may correspond to a combination of the glucose measurements predicted at those time steps 606, 608, 702, 704, 706. The predicted glucose measurements at time steps 606, 608, 702, 704, 706 are distinct from the glucose measurements in the time series glucose measurements 410 because the time series glucose measurements 410 are actually observed (e.g., generated by the wearable glucose monitoring device 104 while worn by the human 102), rather than predicted.

[0089] 6 and 7 , in one or more implementations, the machine learning model 406 may instead generate predicted future glucose measurements 408 in a single step without using multiple iterations. In other words, rather than generating predictions for six 5-minute time steps to predict 30 minutes of predicted future glucose measurements 408, the machine learning model 406 may instead generate a 30-minute prediction of predicted future glucose measurements 408 in a single step. For example, the machine learning model 406 may receive 12 hours' worth of glucose measurements 118 as input and generate 30 minutes' worth of predicted future glucose measurements 408 in one step, rather than doing so in iterations that involve predicting, appending, and then inputting the augmented trace into the machine learning model 406.

[0090] In the illustrated examples 400, 500, the machine learning model 406 is depicted as receiving only the time-series glucose measurements 410 as input, and is not depicted as receiving data describing other aspects that may affect a person's glucose in the future, such as administered insulin, ingested carbohydrates, exercise, stress, etc. While in some implementations the machine learning model 406 may be limited to receiving the time-series glucose measurements 410 (and information about the time-series glucose measurements 410, such as reliability), in one or more implementations the machine learning model 406 may also receive as input data describing one or more other aspects that may affect a person's glucose in the future.

[0091] Beyond insulin administration, carbohydrate intake, exercise, and stress, further examples of aspects that may in the future be indicative of a person's glucose include accelerometer data from a mobile device or smartwatch (e.g., indicating that a person looked at the device's user interface and saw an alert or information related to a glucose measurement), application data (e.g., clickstream data describing the displayed user interface and the user's interaction with the application via the user interface), environmental temperature, barometric pressure, and the presence or absence of various health conditions (e.g., pregnancy), to name just a few.

[0092] In the context of training a machine learning model 406 to predict future glucose measurements based on a time series of observed glucose measurements, consider the following discussion of FIG.

[0093] 8 depicts in more detail an example implementation 800 of a prediction system 310 in which a machine learning model is trained to predict future glucose measurements. As in FIG. 3, the prediction system 310 is included as part of the data analytics platform 122, although in other scenarios, the prediction system 310 may also, or alternatively, be included, in part or in whole, in another device, such as the computing device 108.

[0094] In the illustrated example 800, the prediction system 310 includes a model manager 802 that manages the machine learning models 406, which, as described above, are configured as or include one or more nonlinear models, e.g., recurrent neural networks such as LSTMs. It should be understood that the machine learning models 406 may be configured as or include other types of nonlinear models without departing from the spirit or scope of the described techniques. These different machine learning models may each be built or trained (or otherwise learned) using different algorithms due, at least in part, to their different architectures. Accordingly, it will be understood that the following discussion of the functionality of the model manager 802 is applicable to a variety of nonlinear machine learning models. However, for purposes of explanation, the functionality of the model manager 802 will be described generally in the context of training neural networks.

[0095] Generally, the model manager 802 is configured to manage machine learning models, including the machine learning model 406. This model management may include, for example, building the machine learning model 406, training the machine learning model 406, updating the model, etc. In one or more implementations, updating the model may include transfer learning to personalize the machine learning model 406, i.e., to personalize the machine learning model 406 from a state where it was trained with training data of the user population 110 to an updated state where it is trained with additional training data or update data that describes one or more aspects of the human 102 and / or one or more aspects of a subset of the user population 110 determined by its similarity to the human 102. Specifically, the model manager 802 is configured to perform model management at least in part using the rich data maintained in the storage device 120 of the glucose monitoring platform 112. As shown, this data includes the glucose measurements 118 and timestamps 402 of the user population 110. In other words, the model manager 802 builds the machine learning model 406, trains the machine learning model 406 (or otherwise learns the underlying model), and updates the model using the glucose measurements 118 and timestamps 402 of the user population 110. In implementations in which the machine learning model 406 receives data in addition to time-series glucose measurements as input, the model manager 802 also uses this other data of the user population 110 to build, train, and update the machine learning model 406.

[0096] Unlike conventional systems, the glucose monitoring platform 112 stores (e.g., in storage device 120) or otherwise has access to glucose measurements 118 obtained using wearable glucose monitoring devices 104 for hundreds of thousands of users (e.g., 500,000 or more) in the user population 110. Furthermore, these measurements are taken at a continuous rate by sensors in the glucose monitoring devices 104. As a result, millions, or even billions, of glucose measurements 118 are available to the model manager 802 for model building and training. Using such a robust amount of data, the model manager 802 can build and train machine learning models 406 to accurately predict a person's future glucose based on patterns of observed glucose measurements.

[0097] Without the robustness of the glucose measurements 118 of the glucose monitoring platform 112, conventional systems cannot simply build or train a model to cover a state space in a way that adequately represents how patterns in glucose levels indicate future glucose levels. Failure to adequately cover these state spaces can result in inaccurate glucose predictions (e.g., with respect to the amount of glucose actually present in a person's blood or with respect to the timing of the predictions) and can recommend unsafe or potentially fatal behavior. Given the importance of generating inaccurate and untimely predictions, it is important to build a machine learning model 406 using a volume of glucose measurements 118 that is robust to rare events.

[0098] In one or more implementations, the model manager 802 generates training data for training the machine learning model 406. Initially, generating the training data includes forming training time series of glucose measurements from the glucose measurements 118 and corresponding timestamps 402 of the user population 110. The model manager 802 may leverage the functionality of the sequencing manager 404 to form these training time series, for example, in a manner similar to that discussed with respect to forming the time series glucose measurements 410.

[0099] For each training time series, the model manager 802 may then generate an input portion of the training time series and an expected output portion of the training time series, i.e., ground truth for comparison with the output of the model being trained. Thus, each instance of training data may include a training input portion and an expected output portion extracted from the training time series. The model manager 802 may generate these portions by segmenting the training time series, such as by selecting a training time series that corresponds to an input window for the input portion, and also by using a portion of the training time series that follows the selected portion in time as the expected output portion. As discussed with respect to FIG. 5 , in a scenario in which the machine learning model 406 generates predictions incrementally, the expected output portion may correspond to the time step of the training time series that follows the selected portion.

[0100] To demonstrate, consider again an example in which the machine learning model 406 is designed to receive as input a 12-hour time series of glucose measurements, and the machine learning model 406 is trained to generate a 5-minute prediction of future glucose measurements. This example also assumes that the training time series is a 24-hour time series of glucose measurements (a 24-hour glucose trace); certainly, the model manager 802 may use training time series of different lengths without departing from the spirit or scope of the described techniques. As an example, a particular training time series may span from 12:00:00 PM on April 8, 2020 to 12:00:00 PM on April 9, 2020. As the input portion of this particular training time series, the model manager 802 may select a 12-hour portion, such as from 1:59:00 PM on April 8, 2020 to 1:59:00 AM on April 9, 2020. Thus, the expected output portion of this particular training time series would span from 1:59:00 AM on April 9, 2020 to 2:04:00 AM on April 9, 2020. In scenarios where the machine learning model 406 is not configured to generate predicted future glucose readings 408 incrementally, but rather in a single pass through the model, the model manager 802 may use as the expected output portion a portion of the training time series that corresponds to the entire duration of the predicted future glucose readings 408, e.g., 30 minutes following the input portion. Thus, once constructed, the machine learning model 406 is configured to predict a trace of glucose readings whose amount of time corresponds to the expected output portion of the training time series.

[0101] The model manager 802 uses the training input portions, along with their respective expected output portions, to train the machine learning model 406. In a training context, the model manager 802 may train the machine learning model 406 by providing it with instances of data from a set of training input portions. In response, the machine learning model 406 generates a prediction of future glucose measurements by predicting time steps of future glucose measurements in staged implementations (e.g., LSTMs) or by predicting entire intervals in non-staged implementations (e.g., other types of neural networks). The model manager 802 obtains this training prediction from the machine learning model 406 as an output and compares the training prediction with the expected output portions corresponding to the training input portions. Based on this comparison, the model manager adjusts the internal weights of the machine learning model 406 so that the machine learning model substantially reproduces the expected output portions when each training input portion is provided as an input in the future.

[0102] This process of inputting instances of training input portions into the machine learning model 406, receiving training predictions from the machine learning model 406, comparing the training predictions (e.g., using a loss function such as mean squared error) to the (observed) expected output portions corresponding to the input instances, and adjusting the internal weights of the machine learning model 406 based on these comparisons can be repeated over hundreds, thousands, or even millions of iterations, i.e., using an instance of the training data for each iteration.

[0103] The model manager 802 may perform such iterations until the machine learning model 406 is able to consistently generate predictions that substantially match the expected output portion. The ability of a machine learning model to consistently generate predictions that substantially match the expected output portion may be referred to as “convergence.” With this in mind, the model manager 802 may be said to train the machine learning model 406 until it “converges” to a solution, e.g., until the model's internal weights are suitably adjusted through training iterations such that the model generates predictions that substantially match the expected output portion.

[0104] As described above, in one or more implementations, the machine learning model 406 may be configured to receive input in addition to an interval (e.g., an input window) of time-series glucose measurements. In such implementations, the model manager 802 may form a training instance that includes the training input portion, the respective expected output portion, and additional input data describing other aspects of the user population 110 that are used to predict future glucose measurements, such as insulin administration, carbohydrate intake, exercise, and / or stress. This additional data and the training input portion may be processed by the model manager 802 according to one or more known techniques to generate an input vector. This input vector describing the training input portion and other aspects may then be provided to the machine learning model 406. In response, the machine learning model 406 may generate a prediction of future glucose measurements in a manner similar to that discussed above, such that the prediction can be compared to the expected output portion of the training instance and the model weights can be adjusted based on the comparison.

[0105] As also described above, managing the machine learning model 406 may include personalizing the machine learning model 406 using transfer learning. In such a scenario, the model manager 802 may initially train the machine learning model 406 at a global level, as described in detail above, using instances of training data generated from data in the user population 110. In a transfer learning scenario, the model manager 802 may instantiate this globally trained model for a particular user, such that one copy of the globally trained model is generated for the human 102 and other copies of the globally trained model are generated for other users on a per-user basis.

[0106] This globally trained model may then be updated (or further trained) using data specific to the human 102. For example, the model manager 802 may create an instance of training data using the glucose measurements 118 of the human 102, and further train the globally trained version of the model in a manner similar to that described above, e.g., by providing the training input portions of the training data for the human 102 to the machine learning model 406, receiving training predictions of future glucose measurements, comparing those predictions to the respective output portions of the training data, and adjusting the internal weights of the machine learning model 406. Based on this further training, the machine learning model 406 is trained at the individual level, creating a personally trained machine learning model 406.

[0107] It should be understood that in one or more implementations, personalization may be less granular than per user. For example, a globally trained model may be personalized at the user segment level, i.e., for a set of similar users in the user population 110 that is less than the entire user population 110. In this manner, the model manager 802 may create a copy of the globally trained machine learning model 406 for each segment and train the global version at the segment level to create the segment-specific machine learning model 406.

[0108] In one or more implementations, the model manager 802 may personalize the machine learning model 406 at a server level, e.g., at a server of the glucose monitoring platform 112. The model may then be maintained at the server level and / or communicated to the computing device 108, e.g., for integration with an application of the glucose monitoring platform 112 on the computing device 108. Alternatively or additionally, at least a portion of the model manager 802 may be implemented on the computing device 108 such that a globally trained version of the machine learning model 406 is communicated to the computing device 108 and transfer learning (i.e., the further training discussed above to personalize the model) is performed on the computing device 108. It should be understood that while transfer learning may be utilized in one or more scenarios, in other scenarios such personalization may not be utilized and the described techniques may be implemented using a globally trained version of the machine learning model 406.

[0109] Also, as noted above, in one or more implementations, the machine learning model 406 may be configured as an LSTM network. Referring to FIG. 5, each of steps 406(1)-(5) of the machine learning model may correspond to a cell of the LSTM network. In this context, during training, the model manager 802 may adjust the weights of different layers of the LSTM network, including the weights of a sigmoid layer referred to as the "forget gate layer," the weights of a second sigmoid layer referred to as the "input gate layer," the weights of a tanh layer that creates a vector of candidate values, and the weights of a third sigmoid layer referred to as the "output layer." To adjust these weights, the model manager 802 may backpropagate error values ​​from the output layer so that the errors remain in the LSTM cells. By doing so, the model manager 802 continuously feeds back errors to each layer of the LSTM cells until the layers learn to cut off values ​​during training.

[0110] FIG. 9 depicts an example visualization 900 of a glucose trace with predicted glucose measurements and confidence in the prediction.

[0111] The illustrated example 900 depicts a glucose trace 902 having observed glucose measurements 904 and predicted glucose measurements 906, e.g., a combination that forms an “augmented” glucose trace. Additionally, the illustrated example includes a visualization of confidence 908. In particular, each visualization of confidence 908 represents the confidence of the respective predicted glucose measurement 906, e.g., the confidence that the prediction is correct. In this example 900, the visualization of confidence 908 increases in size as the predicted glucose measurements 906 become farther apart (in time) from the observed glucose measurements 904. This reflects that the farther the predicted glucose measurements 906 are from the observed glucose measurements 904, the less confident the machine learning model 406 is in their predictions. The visualization of confidence 908 may represent, for example, a range of glucose values ​​within which the machine learning model 406 is 70% confident that the observed glucose measurements were generated at each time point.

[0112] In one or more implementations, the machine learning model 406 may output one or more confidence levels along with the staged glucose traces 502-510 and / or the predicted future glucose measurement 408. In connection with implementations in which the machine learning model 406 outputs confidence levels along with the staged glucose traces, the machine learning model 406 may also be configured to receive these confidence levels as input at each step. The machine learning model 406 may use the input confidence levels to calculate a confidence level for the next step. Additionally, or alternatively, the machine learning model 406 may be configured to generate a glucose trace in the next step as long as the confidence level meets a threshold. However, if the glucose trace generated in the previous step is associated with a confidence level that does not meet the threshold, the machine learning model 406 may not generate any further glucose traces.

[0113] By using the confidence level in this manner, the length of the predicted future glucose reading 408 may be based on the confidence in the stepwise prediction rather than on a predetermined time interval. Nevertheless, in one or more implementations, glucose traces may be generated over a period of time in the stepwise manner discussed above.

[0114] As discussed above in connection with FIG. 3 , the data analytics platform 122 may generate and deliver a notification 314 based on the prediction 312, such as based on predicted future glucose measurements 408. As described above, the machine learning model 406 is capable of more accurately predicting glucose for a further forecast horizon from the current time point than conventional techniques. These more accurate glucose predictions can then be used to predict whether a patient will experience a future glucose event, such as overnight hypoglycemia. To this end, the glucose predictions generated by the machine learning model 406 can serve as input to one or more decision support models, which can alert or otherwise notify a user of the upcoming glucose event. For example, the data analytics platform 122 may deliver an alert or assistance for determining how to treat diabetes. In this context, consider FIG. 10 , which depicts an exemplary notification.

[0115] 10 depicts an example implementation 1000 of a user interface displayed to notify a user based on a prediction of upcoming glucose measurements. In particular, the example implementation 1000 includes a computing device 108 depicted in an alert scenario 1002 and a decision support scenario 1004.

[0116] In both the alert and decision support scenarios 1002, 1004, the computing device 108 displays a user interface 1006. The user interface 1006 may correspond to an application interface, for example, the interface of an application for the glucose monitoring platform 112. Alternatively or additionally, the user interface 1006 may correspond to a notification "center," such as a lock screen or other operational level screen.

[0117] In warning scenario 1002, user interface 1006 displays a warning notification 314 via a display device of computing device 108. This notification 314 may be configured to alert the user to an upcoming adverse health condition, such as, for example, that the user is likely to experience a glucose abnormality (i.e., hyperglycemia or hypoglycemia) absent mitigating behavior (e.g., eating, taking insulin, exercising, etc.). According to the described techniques, this notification 314 is based on a predicted upcoming glucose measurement 408, in this example, 22 minutes in the future, which may be processed to identify a predicted hypoglycemic episode. It should be appreciated that the notification may cause the computing device to output various signals in addition to displaying information, including, for example, an audio signal via a speaker, a vibration or other tactile sensation via a haptic system, etc.

[0118] In the decision support scenario 1004, the user interface 1006 displays an assistance notification 314 via a display device of the computing device 108. This notification 314 may be configured to provide assistance to the user in deciding how to treat their diabetes, for example, by recommending that they take an action (e.g., download an application to the computing device 108, rush to the doctor immediately, take insulin, go for a walk, consume a particular food or drink), continue a behavior (e.g., continue eating in a particular way or exercising in a particular way), change a behavior (e.g., change their eating or exercise habits), etc. According to the described techniques, this notification 314 is also based on the predicted upcoming glucose reading 408.

[0119] While a notification to a user is shown, it should be understood that in one or more implementations, the notification generated based on the predicted future glucose readings 408 may alternatively or additionally be communicated to other entities, such as, for example, a healthcare provider (e.g., a doctor) of the human being 102, a caregiver (e.g., a parent or child) of the human being 102, a telehealth service, etc. Furthermore, it should be understood that various other services in addition to or in lieu of notification services may be provided based on the predicted future glucose readings 408 without departing from the spirit or scope of the described techniques.

[0120] Having discussed an illustrative example of a technique for glucose prediction using machine learning and time-series glucose measurements, we consider some example procedures to illustrate additional aspects of the technique.

[0121] [Example Procedure] This section describes an example procedure for glucose prediction using machine learning and time-series glucose measurements. Aspects of the procedure may be implemented in hardware, firmware, software, or a combination thereof. The procedure is illustrated as a set of blocks specifying operations to be performed by one or more devices and is not necessarily limited to the order shown for performing the operations by each block. In at least some implementations, the procedure is performed by a prediction system, such as prediction system 310, utilizing sequencing manager 404, machine learning model 406, and model manager 802.

[0122] FIG. 11 depicts a procedure 1100 in an exemplary implementation in which a nonlinear machine learning model predicts future glucose measurements based on time-series glucose measurements.

[0123] A time series of glucose measurements up to a point in time is received (block 1102). In accordance with the principles discussed herein, the glucose measurements are provided by a wearable glucose monitoring device worn by a user. By way of example, the machine learning model 406 receives the time series glucose measurements 410, the glucose measurements being provided by a wearable glucose monitoring device 104 worn by the human 102. In particular, the wearable glucose monitoring device 104 includes a sensor 202 that is inserted subcutaneously into the skin of the human 102 and used to measure glucose in the blood of the human 102. As discussed above, the wearable glucose monitoring device 104 may be configured as a continuous glucose monitoring (CGM) system.

[0124] Future glucose measurements are predicted for a time interval following the time point (block 1104). In accordance with the principles discussed herein, future glucose measurements are predicted by processing the time-series glucose measurements using a nonlinear machine learning model generated based on a historical time series of glucose measurements for a user population. By way of example, machine learning model 406 generates predicted future glucose measurements 408. Machine learning model 406 generates this prediction by processing time-series glucose measurements 410 based on patterns in the time series of glucose measurements 118 for user population 110 learned during training. As noted above, user population 110 includes users who wear a wearable glucose monitoring device, such as wearable glucose monitoring device 104.

[0125] The future glucose readings are output (block 1106). By way of example, the prediction system 310 outputs the predicted future glucose readings 408 for processing by additional logic (e.g., to generate recommendations or notifications), storage in the storage device 120, communication to one or more computing devices, or display, to name just a few.

[0126] A notification is generated based on the upcoming glucose readings (block 1108). By way of example, the data analytics platform 122 generates a notification 314 based on the predicted upcoming glucose readings 408. For example, the notification 314 may alert the user (or a healthcare provider or telemedicine service) to an upcoming adverse health condition, such as that the user is likely to experience a glucose abnormality (i.e., hyperglycemia or hypoglycemia) without mitigating behaviors (e.g., eating, taking insulin, exercising, etc.). Additionally or alternatively, the notification 314 may provide assistance to the user (or a healthcare provider or telemedicine service) in determining how to treat diabetes, for example, by recommending that the user take an action (e.g., download an application to the computing device 108, immediately seek medical attention, administer insulin, go for a walk, consume a particular food or beverage), continue a behavior (e.g., continue eating in a particular way or exercising in a particular way), change a behavior (e.g., change eating or exercise habits), etc.

[0127] The notification is communicated over the network to one or more computing devices for output (block 1110). By way of example, the communication interface of the data analytics platform 122 communicates the notification 314 over the network 116 to the computing device 108 of the person 102, for output, e.g., via an application of the glucose monitoring platform 112. Alternatively or additionally, the data analytics platform 122 communicates the notification 314 over the network 116 to a computing device associated with a healthcare provider (not shown) and / or a computing device associated with a telemedicine service (not shown), for output, e.g., via a provider portal.

[0128] FIG. 12 depicts a procedure 1200 in an exemplary implementation in which a nonlinear machine learning model iteratively predicts future glucose measurements until a time interval of measurements is predicted.

[0129] Glucose measurements provided by a wearable glucose monitoring device worn by a user are obtained (block 1202). By way of example, the sequencing manager 404 obtains the glucose measurements 118 of the person 102 and the timestamps 402 of those measurements.

[0130] A time series of glucose measurements up to a point in time is formed (block 1204). In accordance with the principles discussed herein, the time series of glucose measurements is formed by ordering the glucose measurements according to their respective timestamps and interpolating missing measurements. By way of example, the ordering manager 404 forms a time series of glucose measurements 410 (e.g., up to the last measurement received from the wearable glucose monitoring device 104) by ordering the glucose measurements 118 according to the timestamps 402. The ordering manager 404 also interpolates missing measurements, such as missing measurements due to data corruption or communication errors.

[0131] A nonlinear machine learning model is used to predict future time steps of glucose measurements based on the time series of glucose measurements (block 1206). As an example, machine learning model 406(1) generates a first time step of glucose measurements 606 based on the time series of glucose measurements 410.

[0132] The time step of the future glucose measurement is appended to the end of the time series of glucose measurements to form an extended time series of glucose measurements (block 1208). By way of example, the machine learning model 406(1) (or additional logic) appends the first time step of the glucose measurement 606 to the end of the time series of glucose measurements 410 to form the first glucose trace 502, i.e., the extended trace of glucose measurements.

[0133] Optionally, time steps worth of glucose measurements are removed from the beginning of the expanded trace (block 1210). For example, the machine learning model 406(1) (or additional logic) removes measurements corresponding to the crossed points 604 from the first glucose trace 502.

[0134] Unless the amount of time in the expanded trace corresponding to the future glucose measurement includes at least a predetermined interval time, the next time step of the future glucose measurement is predicted based on the expanded trace using the nonlinear machine learning model (block 1212). As an example, the machine learning model 406(2) generates a second time step of the glucose measurement 608 based on the first glucose trace 502.

[0135] Blocks 1208-1212 are repeated until the time steps of future glucose measurements of the combined, expanded trace span at least a predetermined time interval. By way of example, subsequent steps of the machine learning model 406 repeat the steps of blocks 1208-1212 until the combined time steps span at least a predetermined time interval, e.g., until six combined five-minute time steps span a predetermined 30-minute time interval.

[0136] FIG. 13 depicts a procedure 1300 of an example implementation for training a nonlinear machine learning model to predict future glucose measurements based on historical time series glucose measurements of a user population.

[0137] Glucose measurements provided by wearable glucose monitoring devices worn by users of the user population are obtained (block 1302). By way of example, the sequencing manager 404 obtains glucose measurements 118 of users of the user population 110 and timestamps 402 of those measurements.

[0138] A time series of glucose measurements is formed (block 1304). In accordance with the principles discussed herein, the time series of glucose measurements is formed by ordering the glucose measurements according to their respective timestamps and interpolating missing measurements. By way of example, the ordering manager 404 forms a time series of glucose measurements 118 for the user population 110 by ordering the glucose measurements 118 for the user population 110 according to their respective timestamps 402. The ordering manager 404 also interpolates missing measurements, such as missing measurements due to data corruption or communication errors.

[0139] Training data instances are generated by segmenting each time series into a training input portion and an expected output portion (block 1306). In accordance with principles discussed herein, the training input portion extends up to a point in time in the time series, and the expected output portion begins substantially at that point and extends to the next point in time in the time series. By way of example, the model manager generates training data instances by segmenting each of the time series formed in block 1304 into a training input portion and an expected output portion.

[0140] Here, blocks 1308-1314 may be repeated until the nonlinear machine learning model "converges" to a solution, e.g., until the nonlinear machine learning model is suitably trained, e.g., the internal weights of the model are suitably adjusted with each training iteration, such that the model consistently produces predictions that substantially match the expected output portion. Alternatively or additionally, blocks 1308-1314 may be repeated for multiple instances (e.g., all instances) of the training data.

[0141] The training input portion of the instances of training data is provided as input to the nonlinear machine learning model (block 1308). As an example, the model manager 802 provides the training input portion of the instances of training data generated in block 1306 as input to the machine learning model 406.

[0142] A prediction of the glucose measurement is received as an output from the nonlinear machine learning model (block 1310). In accordance with the principles discussed herein, the prediction of the glucose measurement is predicted for a time interval spanning substantially from one time point to the next. As an example, the machine learning model 406 predicts a time step of a future glucose measurement based on the training input portion provided in block 1308, and the model manager 802 receives the time step of the future glucose measurement as an output of the machine learning model 406.

[0143] The prediction of the glucose measurement is compared to the expected output portion of the training data instance (block 1312). By way of example, the model manager compares the time step of the future glucose measurement predicted in block 1310 to the expected output portion of the training instance generated in block 1306 using a loss function such as mean squared error (MSE). It should be understood that the model manager 802 may use other loss functions during training to compare the predictions of the machine learning model 406 to the expected output without departing from the spirit or scope of the described techniques.

[0144] The weights of the nonlinear machine learning model are adjusted based on the comparison (block 1314). By way of example, the model manager 802 may adjust the internal weights of the machine learning model 406 based on the comparison. In one or more implementations, the model manager 802 may optionally utilize one or more hyperparameter optimization techniques (e.g., Bayesian optimization grid search) during training to adjust the hyperparameters of the utilized learning algorithm.

[0145] Having described exemplary procedures according to one or more implementations, we now turn to exemplary systems and devices that can be utilized to implement the various techniques described herein.

[0146] Exemplary Systems and Devices 14 illustrates an example system generally at 1400 including an example computing device 1402, which represents one or more computing systems and / or devices that may implement various techniques described herein. This is illustrated through the inclusion of a glucose monitoring platform 112. The computing device 1402 may be, for example, a service provider's server, a device associated with a client (e.g., a client device), an on-chip system, and / or any other suitable computing device or computing system.

[0147] The illustrated exemplary computing device 1402 includes a processing system 1404, one or more computer-readable mediums 1406, and one or more I / O interfaces 1408 communicatively coupled to each other. Although not shown, the computing device 1402 may further include a system bus or other data and command transfer system that couples the various components together. The system bus may include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of a variety of bus architectures. Various other examples, such as control and data lines, are also contemplated.

[0148] The processing system 1404 represents functionality for performing one or more operations using hardware. Accordingly, the processing system 1404 is illustrated as including hardware elements 1410, which may be configured as a processor, functional block, etc. This may include hardware implementation as an application-specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 1410 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, a processor may be composed of semiconductors and / or transistors (e.g., an electronic integrated circuit (IC)). In this context, processor-executable instructions may be electronically executable instructions.

[0149] The computer-readable medium 1406 is shown as including memory / storage 1412. The memory / storage 1412 represents memory / storage capacity associated with one or more computer-readable media. The memory / storage component 1412 may include volatile media (such as random access memory (RAM)) and / or non-volatile media (such as read-only memory (ROM), flash memory, optical disks, magnetic disks, etc.). The memory / storage component 1412 may include fixed media (e.g., RAM, ROM, fixed hard drives, etc.) as well as removable media (e.g., flash memory, removable hard drives, optical disks, etc.). The computer-readable medium 1406 may be configured in a variety of other ways, as described further below.

[0150] Input / output interface 1408 represents functionality that allows a user to input commands and information into computing device 1402 and to present information to a user and / or other components or devices using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., a capacitive or other sensor configured to detect physical touch), a camera (e.g., which may use visible or invisible wavelengths such as infrared frequencies to recognize movements as gestures without touch), etc. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, a tactile response device, etc. Accordingly, computing device 1402 may be configured in a variety of ways, as described further below, to support user interaction.

[0151] Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, etc. that perform particular tasks or implement particular abstract data types. As used herein, the terms "module," "functionality," and "component" generally refer to software, firmware, hardware, or combinations thereof. Aspects of the techniques described herein are platform-independent, meaning that the techniques can be implemented on a variety of commercial computing platforms having a variety of processors.

[0152] An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. Computer-readable media may include a variety of media that can be accessed by computing device 1402. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”

[0153] A "computer-readable storage medium" may refer to a medium and / or device that enables persistent and / or non-transitory storage of information, as opposed to merely a signal transmission, carrier wave, or signal itself. Thus, a computer-readable storage medium refers to a non-signal-bearing medium. Computer-readable storage media include hardware, such as volatile and non-volatile, removable and non-removable media, and / or storage devices implemented in any method or technology suitable for storing information, such as computer-readable instructions, data structures, program modules, logic elements / circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage device, hard disk, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device, or other storage device, tangible media, or any article of manufacture suitable for storing the desired information and that can be accessed by a computer.

[0154] A "computer-readable signal medium" may refer to a signal-bearing medium configured to transmit instructions to the hardware of the computing device 1402, such as over a network. Signal media may typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, data signal, or other transport mechanism. Signal media also includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.

[0155] As noted above, hardware elements 1410 and computer-readable media 1406 represent modules, programmable device logic, and / or fixed device logic implemented in hardware that may be used in some embodiments to implement at least some aspects of the technology described herein, such as to execute one or more instructions. Hardware may include integrated circuits or components of on-chip systems, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that executes program tasks defined by instructions and / or logic embodied by the hardware, as well as hardware utilized to store instructions for execution, such as the computer-readable storage media described above.

[0156] A combination of the foregoing may be used to implement the various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and / or logic embodied on some form of computer-readable storage medium and / or by one or more hardware elements 1410. Computing device 1402 may be configured to implement specific instructions and / or functionality corresponding to software and / or hardware modules. Accordingly, implementation aspects of modules executable by computing device 1402 as software may be achieved at least partially in hardware, for example, through the use of computer-readable storage media and / or hardware elements 1410 of processing system 1404. The instructions and / or functionality may be executable / operable by one or more articles of manufacture (e.g., one or more computing devices 1402 and / or processing system 1404) to implement the techniques, modules, and examples described herein.

[0157] The techniques described herein may be supported by various configurations of computing device 1402 and are not limited to the specific examples of the techniques described herein. This functionality may be implemented in whole or in part through the use of a distributed system, such as on a "cloud" 1414 via platform 1416, as described below.

[0158] Cloud 1414 includes and / or represents a platform 1416 for resources 1418. Platform 1416 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of cloud 1414. Resources 1418 may include applications and / or data available while computer processing is running on a server remote from computing device 1402. Resources 1418 may also include services provided over the Internet and / or through a subscriber network, such as a cellular or Wi-Fi network.

[0159] Platform 1416 may abstract resources and functionality for connecting computing device 1402 with other computing devices. Platform 1416 may also function to abstract resource scaling to provide a level of scale corresponding to the encountered demand of resources 1418 implemented via platform 1416. Thus, in embodiments of interconnected devices, implementation of functionality described herein may be distributed throughout system 1400. For example, functionality may be implemented partially on computing device 1402 and partially via platform 1416, which abstracts the functionality of cloud 1414.

[0160] [Conclusion] Although the systems and techniques have been described in language specific to structural features and / or methodological acts, it should be understood that the systems and techniques defined in the appended claims are not necessarily limited to the particular features or acts described. Rather, the particular features and acts are disclosed as example forms of implementing the claimed subject matter. [Explanation of symbols]

[0161] 100 Environment 102 humans 104 Glucose Monitoring Devices 104 Wearable Glucose Monitoring Devices 104 Wearable Glucose Monitoring System 106 Insulin Delivery System 108 Computing Devices 110 User Population 112 Glucose Monitoring Platform 114 Internet 116 Network 118 Glucose Measurements 120 Storage Devices 122 Data Analysis Platform 202 Sensor 204 Sensor Module 206 Skin 208 Transmitter 210 adhesive pad 212 Mechanism 214 Glucose Monitoring Device Data 216 Sensor Identification 218 Sensor Status

Claims

1. 1. A method comprising: receiving a time series of glucose measurements up to a point in time, the glucose measurements being provided by a wearable glucose monitoring device worn by a user; predicting future glucose measurements over a time interval following the time point by processing the time series of glucose measurements using a nonlinear machine learning model, wherein the nonlinear machine learning model is generated based on a historical time series of glucose measurements of a user population; and and outputting the future glucose measurements.

2. 10. The method of claim 1, further comprising: generating a notification based on the future glucose measurement value; and communicating the notification over a network to one or more computing devices for output.

3. The method of claim 2 , wherein the one or more computing devices include a computing device associated with the user.

4. The method of claim 2 or 3, wherein the one or more computing devices include a computing device associated with at least one of the user's healthcare provider or a telemedicine service.

5. The method of any one of claims 2 to 4, wherein the notification is a warning of an upcoming adverse health condition.

6. The method of any one of claims 2 to 5, wherein the notification includes information for decision support regarding treatment of a health condition.

7. 7. The method of claim 6, wherein the condition is diabetes.

8. 8. The method of claim 1, further comprising ordering the glucose measurements provided by the wearable glucose monitoring device based on timestamps of the glucose measurements to form a time series of the glucose measurements.

9. The method of claim 8 , further comprising interpolating missing glucose measurements based on the glucose measurements and the timestamps.

10. The method of any one of claims 1 to 9, wherein the historical time series of glucose measurements comprises measurements provided by wearable glucose monitoring devices worn by users of the user population.

11. 1. A system comprising: one or more processors; a memory having computer-readable instructions stored thereon, the instructions being executable by the one or more processors to perform operations, the operations comprising: receiving a time series of glucose measurements up to a point in time, the glucose measurements being provided by a wearable glucose monitoring device worn by a user; predicting future glucose measurements over a time interval following the time point by processing the time series of glucose measurements using a nonlinear machine learning model, wherein the nonlinear machine learning model is generated based on a historical time series of glucose measurements of a user population; and and outputting the future glucose measurements.

12. 12. The system of claim 11, wherein the operations further include generating a notification based on the future glucose measurement value and communicating the notification over a network to one or more computing devices for output.

13. 13. The system of claim 12, wherein the notification is a warning of an upcoming adverse health condition.

14. 14. The system of claim 12 or 13, wherein the notification includes information for decision support regarding treatment of a health condition.

15. The system of claim 14 , wherein the health condition is diabetes.

16. 16. The system of claim 11, wherein the nonlinear machine learning model is a neural network that iteratively predicts the future glucose measurements, each iteration predicting measurements for a portion of the time interval.

17. 17. The system of claim 11, wherein the nonlinear machine learning model is a long short-term memory (LSTM) network that iteratively predicts the future glucose measurements, each iteration predicting measurements for a portion of the time interval.

18. 18. The system of claim 11, wherein the operations further include ordering the glucose measurements provided by the wearable glucose monitoring device based on timestamps of the glucose measurements to form a time series of the glucose measurements.

19. 20. The system of claim 18, wherein the actions further include interpolating missing glucose measurements based on the glucose measurements and the timestamps.

20. One or more computer-readable storage media having instructions stored thereon, the instructions being executable by one or more processors to perform operations, the operations comprising: receiving a time series of glucose measurements up to a point in time, the glucose measurements being provided by a wearable glucose monitoring device worn by a user; predicting future glucose measurements over a time interval following the time point by processing the time series of glucose measurements using a nonlinear machine learning model, wherein the nonlinear machine learning model is generated based on a historical time series of glucose measurements of a user population; and and outputting the future glucose measurements.

21. 1. A system comprising: a storage device for maintaining glucose measurements provided by a wearable glucose monitoring device worn by a user; a neural network for generating a prediction of future glucose measurements over a time interval following a time, the prediction being generated in response to receiving as input by the neural network a time series of the glucose measurements up to the time point, the neural network being trained based on a historical time series of glucose measurements of a user population.

22. 22. The system of claim 21, wherein the neural network is a recurrent neural network configured to iteratively predict the future glucose measurements, each iteration predicting measurements for a portion of the time interval.

23. 23. The system of claim 21 or 22, wherein the neural network is a long short-term memory (LSTM) network configured to iteratively predict the future glucose measurements, each iteration predicting measurements for a portion of the time interval.

24. The system of any one of claims 21 to 23, further comprising a sequencing manager for forming a time series of the glucose measurements based on a timestamp of each of the glucose measurements.

25. The system of any one of claims 21 to 24, further comprising a glucose monitoring platform application for generating and outputting one or more notifications based on the future glucose measurements.

26. 26. The system of any one of claims 21-25, further comprising a data analysis platform for generating notifications based on the future glucose measurements and communicating the notifications over a network to one or more computing devices for output.

27. The system of any one of claims 21 to 26, wherein the storage device is further configured to maintain glucose measurements of the user population.

28. 28. The system of any one of claims 21 to 27, further comprising a model manager configured to train the neural network using historical time series of the glucose measurements of the user population.

29. 1. A method comprising: storing glucose measurements provided by a wearable glucose monitoring device worn by a user; and generating, using a neural network, a prediction of future glucose measurements over a time interval following a point in time, said generating being responsive to providing as input to said neural network a time series of the glucose measurements up to said point in time, said neural network being trained based on a historical time series of glucose measurements of a user population.

30. 30. The method of claim 29, wherein the neural network is a recurrent neural network that iteratively generates the prediction of the future glucose measurements by predicting a measurement at each iteration for a portion of the time interval.

31. 31. The method of claim 29 or 30, wherein the neural network is a long short-term memory (LSTM) network that iteratively generates the prediction of the future glucose measurements by predicting measurements at each iteration for a portion of the time interval.

32. The method of any one of claims 29 to 31, further comprising forming a time series of the glucose measurements based on a timestamp of each of the glucose measurements.

33. 33. The method of any one of claims 29 to 32, further comprising generating and outputting one or more notifications via a glucose monitoring platform application and based on the future glucose measurements.

34. 34. The method of any one of claims 29-33, further comprising generating a notification based on the future glucose measurement value and communicating the notification over a network to one or more computing devices for output.

35. The method of any one of claims 29 to 34, further comprising maintaining glucose measurements of the user population.

36. 36. The method of claim 35, further comprising forming a historical time series of the glucose measurements of the user population for training based on the glucose measurements of the user population and using one or more interpolation techniques.

37. The method of any one of claims 29 to 36, further comprising training the neural network using historical time series of the glucose measurements of the user population.

38. One or more computer-readable storage media having instructions stored thereon, the instructions being executable by one or more processors to perform operations, the operations comprising: storing glucose measurements provided by a wearable glucose monitoring device worn by a user; and generating a prediction of future glucose measurements over a time interval following a point in time and using a neural network, said generating being responsive to providing a time series of the glucose measurements up to the point in time as input to the neural network, said neural network being trained based on a historical time series of glucose measurements of a user population.

39. 39. The one or more computer-readable storage media of claim 38, wherein the neural network is a recurrent neural network that iteratively generates the prediction of the future glucose measurements by predicting measurements at each iteration for a portion of the time interval.

40. 40. The one or more computer-readable storage media of claim 38 or 39, wherein the neural network is a long short-term memory (LSTM) network that iteratively generates the predictions of the future glucose measurements by predicting measurements at each iteration for a portion of the time interval.

41. 1. A method comprising: receiving time-series glucose measurements of a user population, the glucose measurements being provided by wearable glucose monitoring devices worn by users of the user population; generating training data instances by determining a training input portion and an expected output portion for each time series; training a nonlinear machine learning model to iteratively predict future glucose measurements; providing the training input portion of instances of training data to the nonlinear machine learning model; receiving a prediction of the future glucose measurements from the nonlinear machine learning model; comparing the prediction of the future glucose measurements to the expected output portion of the training data instances; and adjusting internal weights of the nonlinear machine learning model based on the comparing.

42. the training input portion of each time series includes a first plurality of the glucose measurements of the respective time series up to a point in time; 42. The method of claim 41, wherein the expected output portion of the respective time series includes a second plurality of the glucose measurements of the respective time series following the time point.

43. 43. The method of claim 41 or 42, wherein the prediction is compared to the expected output portion of the instance of the training data using a loss function.

44. 44. The method of claim 43, wherein the loss function is mean squared error.

45. 45. The method of claim 41, further comprising forming the time series of glucose measurements of the user population by ordering glucose measurements of individual users of the user population and interpolating missing glucose measurements in the series of glucose measurements.

46. 46. ​​The method of any one of claims 41-45, further comprising using the nonlinear machine learning model to generate predictions of a user's future glucose readings in real time as the user's glucose readings are obtained via a wearable glucose monitoring device.

47. 47. The method of any one of claims 41 to 46, wherein the non-linear machine learning model is a recurrent neural network.

48. 48. The method of any one of claims 41 to 47, wherein the nonlinear machine learning model is a long short-term memory (LSTM) network.

49. 49. The method of any one of claims 41 to 48, wherein the non-linear machine learning model is a hidden Markov model.

50. 1. A system comprising: one or more processors; a memory having instructions stored thereon, the instructions being executable by the one or more processors to implement a manager module to perform operations, the operations including: receiving time-series glucose measurements of a user population, the glucose measurements being provided by wearable glucose monitoring devices worn by users of the user population; generating training data instances by determining a training input portion and an expected output portion for each time series; training a nonlinear machine learning model to iteratively predict future glucose measurements; providing the training input portion of instances of training data to the nonlinear machine learning model; receiving a prediction of the future glucose measurements from the nonlinear machine learning model; comparing the prediction of the future glucose measurements to the expected output portion of the training data instances; and adjusting internal weights of the nonlinear machine learning model based on the comparing.

51. the training input portion of each time series includes a first plurality of the glucose measurements of the respective time series up to a point in time; 51. The system of claim 50, wherein the expected output portion of the respective time series includes a second plurality of the glucose measurements of the respective time series following the time point.

52. 52. The system of claim 50 or 51, wherein the prediction is compared to the expected output portion of the instance of the training data using a loss function.

53. 53. The system of claim 52, wherein the loss function is mean squared error.

54. 54. The system of claim 50, wherein the operations further include forming the time series of glucose measurements of the user population by ordering glucose measurements of individual users of the user population and interpolating missing glucose measurements in the series of glucose measurements.

55. 55. The system of any one of claims 50-54, wherein the operations further include using the nonlinear machine learning model to generate predictions of a user's future glucose measurements in real time as the user's glucose measurements are obtained via a wearable glucose monitoring device.

56. One or more computer-readable storage media having instructions stored thereon, the instructions being executable by one or more processors to perform operations, the operations comprising: receiving time-series glucose measurements of a user population, the glucose measurements being provided by wearable glucose monitoring devices worn by users of the user population; generating training data instances by determining a training input portion and an expected output portion for each time series; training a nonlinear machine learning model to iteratively predict future glucose measurements; providing the training input portion of instances of training data to the nonlinear machine learning model; receiving a prediction of the future glucose measurements from the nonlinear machine learning model; comparing the prediction of the future glucose measurement to the expected output portion of the instance of training data; and adjusting internal weights of the nonlinear machine learning model based on the comparing.

57. 57. The one or more computer-readable storage media of claim 56, wherein the prediction is compared to the expected output portion of the instance of the training data using a loss function.

58. 58. The one or more computer-readable storage media of claim 57, wherein the loss function is mean squared error.

59. 59. The one or more computer-readable storage media of any one of claims 56-58, wherein the operations further include forming the time series of glucose measurements of the user population by ordering glucose measurements of individual users of the user population and interpolating missing glucose measurements in a series of the glucose measurements.

60. 60. The one or more computer-readable storage media of any one of claims 56-59, wherein the operations further include using the nonlinear machine learning model to generate predictions of a user's future glucose readings in real time as the user's glucose readings are obtained via a wearable glucose monitoring device.

Citation Information

Patent Citations

  • Blood sugar level change information generation system and blood sugar level change information generation device

    JP2014211918A

  • Context-sensitive infusion devices, systems and methods

    US20180272063A1

  • Predicting physiological parameters

    WO2020089656A1